/* Recorrido: un encargo contado como un vídeo interactivo. Un mapa con estaciones, la C de Claudia que viaja entre
   ellas, una cámara que se acerca y animaciones que se reproducen solas. Paleta Nostok: grafito, blanco cálido, perla;
   el champán de la C solo como acento. */
.rg{--bg:#2e2e2a;--bg-deep:#20201e;--ink:#f1eee7;--muted:#9d9c96;--line:#ffffff1f;--card:#f3f0e9;--card-ink:#151617;--card-muted:#6d6b66;--card-line:#dcd8cf;--acc:var(--gold,#d7bd8d);background:var(--bg);color:var(--ink);position:relative}
.rg-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rg button{font:inherit;cursor:pointer}
.rg button:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* Escenario fijo */
.rg-track{position:relative;height:calc(var(--rg-len,11) * 78svh + 100svh)}
.rg-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden}
.rg-view{position:absolute;inset:0;overflow:hidden}
.rg-world{position:absolute;left:0;top:0;width:2600px;height:1500px;transform-origin:0 0;will-change:transform}
.rg-grid{position:absolute;inset:-200px;;pointer-events:none}
.rg-map{position:absolute;left:0;top:0;width:2600px;height:1500px;overflow:visible;pointer-events:none}
.rg-route path,.rg-lit path,.rg-branch{vector-effect:non-scaling-stroke}
.rg-route path{fill:none;stroke:#ffffff33;stroke-width:1.5;stroke-dasharray:3 9}
.rg-lit path{fill:none;stroke:var(--acc);stroke-width:2}
.rg-lit path.flow{stroke-dasharray:8 14;animation:rg-flow 1.6s linear infinite}
@keyframes rg-flow{to{stroke-dashoffset:-44}}
.rg-branch{fill:none;stroke:#ffffff26;stroke-width:1.5;stroke-dasharray:3 9;transition:stroke .4s}
.rg-branch.on{stroke:var(--acc);stroke-dasharray:none;animation:none}

/* Estaciones */
.rg-node{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted)}
.rg-node i{width:20px;height:20px;border-radius:50%;border:1px solid #ffffff5c;background:var(--bg);position:relative;transition:border-color .4s,background .4s}
.rg-node i::after{content:none}
.rg-node span{font-size:12px;letter-spacing:0;white-space:nowrap;transition:color .4s}
.rg-node.done i{background:#f1eee7;border-color:#f1eee7}
.rg-node.on i{border-color:var(--acc)}
.rg-node.on i::after{animation:rg-ping 1.8s cubic-bezier(.2,.7,.3,1) infinite}
.rg-node.on span,.rg-node.done span{color:var(--ink)}
@keyframes rg-ping{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(1.9)}}
.rg-laura{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:11px;letter-spacing:0;opacity:.35;transition:opacity .5s}
.rg-laura b{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff4d;display:grid;place-items:center;font:400 24px/1 var(--serif);color:var(--ink)}
.rg-laura.on{opacity:1}
.rg-laura.on b{border-color:var(--acc)}

/* La C de Claudia */
.rg-token{position:absolute;left:0;top:0;width:0;height:0;will-change:transform;z-index:4}
.rg-token b{position:absolute;left:0;top:0;width:64px;height:64px;border-radius:50%;border:1px solid var(--acc);background:var(--bg);display:grid;place-items:center;font:400 36px/1 var(--serif);color:var(--acc);transform:translate(-50%,-50%)}
.rg-token b::after{content:none}
@keyframes rg-breathe{50%{transform:scale(1.18);opacity:.08}}
/* En las vistas generales la C encoge para no tapar su estación, y Laura va sin rótulo. */
.rg.overview .rg-token b{transform:translate(-50%,-50%)}
.rg.overview .rg-laura span{display:none}
.rg.overview .rg-laura b{width:32px;height:32px;font-size:17px}

/* Tarjetas: réplicas mates del panel */
.rg-card{position:absolute;width:520px;background:var(--card);color:var(--card-ink);border:1px solid var(--card-line);border-radius:3px;padding:28px 30px;font-size:15px;line-height:1.55;opacity:0;transform:translateY(24px) scale(.97);transition:opacity .5s,transform .7s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:2}
.rg-card.seen{opacity:0;transform:none}
.rg-card.on{opacity:1;transform:none;pointer-events:auto;z-index:3}
.rg-card .lbl{display:flex;justify-content:space-between;font-size:11px;letter-spacing:0;color:var(--card-muted);margin-bottom:12px}
.rg-card h4{margin:0 0 10px;font:500 23px/1.25 var(--sans);letter-spacing:-.015em}
.rg-card p{margin:0}
.rg-card .row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--card-line)}
.rg-note{margin-top:36px!important;font-size:11px;color:var(--card-muted)}
.rg-inbox{position:absolute;right:0;top:-74px;color:var(--muted);font-size:12px;letter-spacing:0}
.rg-inbox b{font:500 40px/1 var(--sans);color:var(--ink);letter-spacing:-.03em;margin-right:6px;font-variant-numeric:tabular-nums}
.rg-mail .from{display:flex;justify-content:space-between;font-size:12px;color:var(--card-muted);margin-bottom:12px}
.rg-mail h4{border-left:2px solid transparent;transition:border-color .3s,padding .3s}
.rg-mail.picked h4{border-color:var(--card-ink);padding-left:12px}
.rg-search{display:flex;align-items:center;gap:8px;border:1px solid var(--card-line);background:#fff;padding:10px 12px;border-radius:2px;margin-bottom:8px;min-height:42px}
.caret{width:1px;height:17px;background:var(--card-ink);animation:rg-blink 1s steps(1) infinite}
@keyframes rg-blink{50%{opacity:0}}
.rg-files .row{transition:opacity .4s}
.rg-files .row.out{opacity:.18}
.tick{width:14px;height:8px;border-left:1.6px solid var(--card-ink);border-bottom:1.6px solid var(--card-ink);transform:rotate(-45deg) scale(0);margin:0 2px 4px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.row.hit .tick{transform:rotate(-45deg) scale(1)}
.rg-report{display:grid;grid-template-columns:1fr 120px;gap:24px;align-items:end}
.rg-bars{display:flex;align-items:flex-end;justify-content:space-around;height:190px;border-bottom:1px solid var(--card-line)}
.rg-bars div{display:flex;flex-direction:column;align-items:center;gap:8px}
.rg-bars i{display:block;width:44px;height:140px;background:var(--card-ink);transform-origin:bottom;transform:scaleY(0);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.rg-bars b{font:500 13px var(--sans);font-variant-numeric:tabular-nums}
.rg-bars span{font-size:11px;color:var(--card-muted);margin-bottom:-26px}
.rg-pdf{border:1px solid var(--card-line);background:#fff;aspect-ratio:3/4;padding:12px;display:flex;flex-direction:column;gap:7px;font-size:10px;opacity:0;transform:translateY(20px) rotate(4deg);transition:opacity .5s,transform .7s cubic-bezier(.22,1,.36,1)}
.rg-pdf.in{opacity:1;transform:none}
.rg-pdf strong{font:500 12px var(--sans)}
.rg-pdf i{height:4px;background:#e7e3da}
.rg-pdf i.s{width:60%}
.rg-card .to{font-size:12px;color:var(--card-muted);border-bottom:1px solid var(--card-line);padding-bottom:10px;margin-bottom:14px}
.rg-card .body{min-height:100px;white-space:pre-wrap}
.rg-card .foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px}
.chip{font-size:12px;border:1px solid var(--card-line);padding:6px 10px;border-radius:2px;background:#fff;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.chip.in{opacity:1;transform:none}
.state{font-size:12px;color:var(--card-muted)}

/* Voz: el componente de siempre, en versión compacta */
.rg .voice-demo{width:540px;min-height:0}
.rg .voice-demo .voice-wave{height:70px;display:flex;align-items:center;gap:5px;margin:0 0 10px}
.rg .voice-demo .voice-wave i{width:3px;height:6px;background:var(--card-ink);opacity:.7;border-radius:2px}
.rg .voice-demo.on .voice-wave i{animation:rg-wave 1.1s ease-in-out infinite;animation-delay:calc(var(--k,0) * -.09s)}
@keyframes rg-wave{0%,100%{height:6px}50%{height:calc(10px + var(--amp,24px))}}
.rg .voice-subtitle{font:21px/1.45 var(--serif);min-height:60px;margin:0 0 12px}
.rg .voice-controls button{border-radius:2px;border:1px solid var(--card-ink);background:var(--card-ink);color:var(--card);padding:12px 18px;min-height:44px}
.rg .voice-tasks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.rg .voice-task{padding:14px;background:#fff;border:1px solid var(--card-line)}
.rg .voice-task h3{font:500 16px/1.25 var(--sans);margin:6px 0 0}
.rg .voice-task span{font-size:10px;letter-spacing:0;color:var(--card-muted)}

/* Decisión */
.rg-approve .actions{display:flex;gap:10px;margin-top:18px}
.rg-approve .actions button{font-size:13px;padding:11px 16px;border-radius:2px;border:1px solid var(--card-ink);background:var(--card-ink);color:var(--card);min-height:44px}
.rg-approve .actions button.ghost{background:none;color:var(--card-ink)}
.rg-approve .result{margin-top:12px;min-height:21px;font-size:13px;color:var(--card-muted)}
.rg-cursor{position:absolute;left:420px;top:300px;width:18px;height:18px;border-left:2px solid var(--card-ink);border-top:2px solid var(--card-ink);transform:rotate(-15deg) skew(8deg);opacity:0;transition:left 1s cubic-bezier(.45,0,.2,1),top 1s cubic-bezier(.45,0,.2,1),opacity .3s,transform .15s}
.rg-cursor.show{opacity:1}
.rg-cursor.press{transform:rotate(-15deg) skew(8deg) scale(.8)}
.rg.flat .rg-cursor{display:none}
.rg-stamp{position:absolute;right:26px;top:24px;font-size:12px;color:var(--card-muted);opacity:0;transition:opacity .3s}
.rg-approve[data-state=approved] .rg-stamp{opacity:1}
.rg-reply{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--card-line);opacity:0;transition:opacity .5s}
.rg-reply.in{opacity:1}
.rg-clock{font:500 12px var(--sans);color:var(--card-ink);letter-spacing:0;font-variant-numeric:tabular-nums}
.dot{width:8px;height:8px;border-radius:50%;background:#c3bfb6;flex:none;transition:background .4s,box-shadow .4s}
.row.got .dot{background:var(--card-ink)}
.row small{font-size:12px;color:var(--card-muted)}
.rg-cal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 6px}
.rg-cal span{border:1px solid var(--card-line);padding:12px 0;text-align:center;font-size:12px;color:var(--card-muted);transition:background .3s,color .3s,border-color .3s}
.rg-cal span.lit{background:var(--card-ink);color:var(--card);border-color:var(--card-ink)}
.rg-toggle{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;font-size:13px;color:var(--card-ink);min-height:44px}
.rg-toggle i{width:38px;height:20px;border-radius:10px;background:#cfcbc2;position:relative;transition:background .3s}
.rg-toggle i::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .3s}
.rg-toggle[aria-pressed=true] i{background:var(--card-ink)}
.rg-toggle[aria-pressed=true] i::after{transform:translateX(18px)}
.rg-card .row small{margin-left:auto}

/* Piezas que vuelan (correo, documentos) */
.rg-fly{position:absolute;left:0;top:0;width:46px;height:34px;margin:-17px 0 0 -23px;background:var(--card);border:1px solid var(--card-ink);border-radius:2px;z-index:4;pointer-events:none}
.rg-fly::before{content:"";position:absolute;left:7px;right:7px;top:9px;height:2px;background:#cfcabf;box-shadow:0 6px #cfcabf,0 12px #cfcabf}
.rg-fly.mail::before{left:0;right:0;top:0;height:0;background:none;border-left:23px solid transparent;border-right:23px solid transparent;border-top:15px solid #e3ddcf;box-shadow:none}

/* Marcador superior */
.rg-hud{position:absolute;left:0;right:0;top:0;z-index:6;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:84px 5vw 0}
.rg-kicker{margin:0;font-size:13px;color:var(--ink)}
.rg-kicker span{display:block;color:var(--muted);margin-top:4px}
.rg-steps{display:flex;gap:10px;list-style:none;margin:0;padding:0}
.rg-steps li{width:22px;height:2px;background:#ffffff2e;transition:background .4s}
.rg-steps li.done{background:#f1eee7}
.rg-steps li.on{background:var(--ink)}
.rg-inv{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;list-style:none;margin:0;padding:0;min-height:26px}
.rg-inv li{font-size:12px;border:0;padding:0 12px 0 0;color:var(--muted);animation:rg-pop .45s cubic-bezier(.3,1.6,.5,1)}

@keyframes rg-pop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}

/* Titular del paso */
.rg-title{position:absolute;left:5vw;top:24vh;width:min(34vw,520px);z-index:5;pointer-events:none}
.rg-time{margin:0 0 18px;font-size:12px;letter-spacing:0;color:var(--muted)}
.rg-word{margin:0;font:400 clamp(44px,5vw,84px)/1.04 var(--serif);letter-spacing:-.025em}
.rg-word .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.16em;margin-bottom:-.16em}
.rg-word .w>span{display:inline-block;transform:translateY(105%);animation:rg-up .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--k) * 70ms)}
@keyframes rg-up{to{transform:none}}
.rg-cap{margin:22px 0 0;font-size:16px;line-height:1.6;color:#c9c7c0;opacity:0}
.rg-cap.in{animation:rg-fade .6s .35s forwards}
@keyframes rg-fade{to{opacity:1}}
.rg-nav{position:absolute;left:5vw;bottom:5vh;z-index:6;display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rg-nav button{background:none;border:1px solid #ffffff3d;color:var(--ink);padding:10px 16px;border-radius:2px;min-height:44px}
.rg-nav button:hover{border-color:var(--ink)}
.rg-nav button:disabled{opacity:.3;cursor:default}

.rg-end{padding:120px 7% 130px;border-top:1px solid var(--line);background:var(--bg-deep)}
.rg-end p{margin:0 0 34px;font:400 clamp(36px,3.8vw,62px)/1.08 var(--serif);letter-spacing:-.02em;max-width:900px}
.rg-end a{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border:1px solid #f3f0e9;border-radius:2px;background:#f3f0e9;color:#151617;text-decoration:none;font-size:14px}
.rg-end a:hover{background:transparent;color:#f3f0e9}

.rg-film{width:min(86%,900px);margin:110px auto 130px}
.rg-film video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--bg-deep);border:1px solid var(--card-line);border-radius:3px}
.rg-film figcaption{margin-top:14px;font-size:12px;letter-spacing:0;color:var(--muted)}

/* Móvil: el titular abajo y el mapa arriba */
@media (max-width:760px){
  .rg-hud{grid-template-columns:1fr;gap:10px;padding:70px 6vw 0}.rg-steps{order:3}.rg-inv{justify-content:flex-start;order:2}
  .rg-title{left:6vw;top:auto;bottom:calc(5vh + 64px);width:88vw}.rg-word{font-size:40px}.rg-cap{font-size:14px;margin-top:12px}
  .rg-card{width:340px;padding:22px}.rg-inv li:not(:nth-last-child(-n+3)){display:none}.rg .voice-demo{width:340px}.rg-report{grid-template-columns:1fr}.rg-pdf{display:none}
}

/* Sin movimiento o ahorro de datos: los pasos seguidos, en su estado final */
.rg.flat .rg-track{height:auto}
.rg.flat .rg-stage{position:relative;height:auto;overflow:visible;min-height:0}
.rg.flat .rg-view,.rg.flat .rg-steps,.rg.flat .rg-title,.rg.flat .rg-nav{display:none}
.rg.flat .rg-hud{position:relative;padding:90px 7% 0}
.rg-flow{padding:20px 7% 40px}
.rg-flow section{padding:48px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:5vw;align-items:start}
.rg-flow h3{margin:0;font:400 clamp(34px,4vw,58px)/1.06 var(--serif);letter-spacing:-.02em}
.rg-flow p{color:#c9c7c0;line-height:1.6}
.rg-flow .rg-card{position:relative;left:auto!important;top:auto!important;opacity:1;transform:none;pointer-events:auto;width:auto;max-width:560px}
@media (max-width:760px){.rg-flow section{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.rg *{animation:none!important;transition:none!important}.rg-word .w>span{transform:none}.rg-cap{opacity:1}}

/* Claudia para dirección: cuatro escenas fijadas con el scroll, en el mismo lenguaje que el recorrido. */
.rd{--bg:#2e2e2a;--bg-deep:#20201e;--ink:#f1eee7;--muted:#a5a39c;--line:#ffffff1f;--card:#f3f0e9;--card-ink:#151617;--card-muted:#6d6b66;--card-line:#dcd8cf;--acc:var(--gold,#d7bd8d);background:var(--bg-deep);color:var(--ink);position:relative;border-top:1px solid var(--line)}
.rd button{font:inherit;cursor:pointer}
.rd button:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.rd-track{position:relative;height:calc(5 * 85svh + 100svh)}
.rd-stage{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden}
.rd-top{position:absolute;left:0;right:0;top:0;z-index:6;display:flex;justify-content:space-between;align-items:center;padding:84px 5vw 0}
.rd-title{position:absolute;left:5vw;top:24vh;width:min(34vw,520px);z-index:5;pointer-events:none}
.rd-scene{position:absolute;left:42vw;right:5vw;top:18vh;bottom:14vh;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .8s cubic-bezier(.22,1,.36,1);pointer-events:none}
.rd-scene.on{opacity:1;transform:none;pointer-events:auto}
.rd .rg-card{position:relative;opacity:1;transform:none;pointer-events:auto;width:100%;max-width:560px}
.rd-org{position:relative;width:min(100%,calc(68svh * 640 / 460));aspect-ratio:640/460}
.rd-tree{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rd-edges path{fill:none;stroke:#ffffff1f;stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600);transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1),stroke .4s}
.rd-edges path.lvl1{stroke:#d7bd8d59}
.rd-scene.on .rd-edges path.drawn{stroke-dashoffset:0}
.rd-edges path.live{stroke:var(--acc)}
.rd-pulses circle.down{fill:var(--acc)}
.rd-pulses circle.up{fill:#f1eee7}
.rd-node{position:absolute;transform:translate(-50%,-50%) scale(.6);opacity:0;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10.5px;letter-spacing:0;color:var(--muted);transition:opacity .5s,transform .6s cubic-bezier(.3,1.5,.5,1);white-space:nowrap}
.rd-node.in{opacity:1;transform:translate(-50%,-50%)}
.rd-node b{display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff4d;background:var(--bg);font-family:var(--serif);font-weight:400;color:var(--ink);transition:border-color .3s,box-shadow .3s,color .3s}
.rd-boss{color:var(--ink)}
.rd-boss b{width:84px;height:84px;font-size:46px;border-color:var(--acc);color:var(--acc);position:relative}
.rd-boss b::after{content:none}
.rd-boss small{font-size:10px;letter-spacing:0;color:var(--muted);margin-top:-3px}
.rd-team b{width:46px;height:46px;font-size:24px}
.rd-node span,.rd-node small{position:absolute;left:50%;transform:translateX(-50%);text-align:center}.rd-node span{top:calc(100% + 8px)}.rd-boss span,.rd-boss small{left:auto;right:calc(100% + 18px);transform:none;text-align:right}.rd-boss span{top:calc(50% - 16px)}.rd-boss small{top:calc(50% + 3px)}.rd-team span{width:130px;white-space:normal;line-height:1.35}.rd-team span em{font-style:normal}
.rd-person b{width:28px;height:28px;font:500 9.5px/1 var(--sans);letter-spacing:.02em;color:#c9c6be}
.rd-node.hit b{border-color:var(--acc);color:var(--acc)}

.rd-reply{position:absolute;margin:0;transform:translate(-50%,-50%) translateY(6px);background:var(--card);color:var(--card-ink);font-size:11px;line-height:1;padding:6px 9px;border-radius:2px;white-space:nowrap;opacity:0;transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1);pointer-events:none}
.rd-reply.show{opacity:1;transform:translate(-50%,-50%)}
.rd-ask{position:absolute;left:50%;top:0;margin:0;transform:translate(-50%,-150%);display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:13px;opacity:0;transition:opacity .35s}
.rd-ask.show{opacity:1}
.rd-ask span{font-size:13px;color:var(--muted)}
.rd-ask b{font-weight:500;color:var(--ink)}
.rd-answer{position:absolute;left:calc(50% + 74px);top:15%;margin:0;transform:translate(-8px,-50%);max-width:210px;background:var(--card);color:var(--card-ink);font-size:12px;line-height:1.45;padding:10px 12px;border-left:2px solid var(--card-ink);opacity:0;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1);pointer-events:none}
.rd-answer.show{opacity:1;transform:translate(0,-50%)}.rd-legend{transition:opacity .35s}
.rd-legend{position:absolute;left:0;right:0;bottom:-2%;margin:0;display:flex;justify-content:center;gap:26px;font-size:11px;color:var(--muted)}
.rd-legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px}
.rd-legend .down::before{background:var(--acc)}
.rd-legend .up::before{background:#f1eee7}

.rd-q{margin:6px 0 14px!important;padding:12px 14px;background:#fff;border:1px solid var(--card-line);font-weight:500;min-height:48px}
.rd-a{min-height:96px}
.rd-src{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.rd-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;width:min(100%,640px);align-content:center}
.rd-tile{position:relative;text-align:left;background:var(--card);color:var(--card-ink);border:1px solid var(--card-line);border-radius:3px;padding:18px 20px 22px;display:flex;flex-direction:column;gap:2px;opacity:0;transform:translateY(16px);transition:opacity .45s,transform .6s cubic-bezier(.22,1,.36,1),border-color .3s;overflow:hidden}
.rd-tile.in{opacity:1;transform:none}
.rd-tile .lbl{font-size:11px;letter-spacing:0;color:var(--card-muted);margin-bottom:6px}
.rd-tile b{font:500 40px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rd-tile small{font-size:12px;color:var(--card-muted)}
.rd-tile em{font-style:normal;font-size:12px;margin-top:8px;color:#8a7650}
.rd-tile em.ok{color:var(--card-muted)}
.rd-tile.hot{border-color:var(--acc)}


.rd-tile .bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--card-ink);transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.22,1,.36,1)}
.rd-tile.in .bar{transform:scaleX(var(--w))}
.rd-tile[aria-expanded=true]{border-color:var(--card-ink)}
.rd-detail{grid-column:1/-1;display:none}
.rd-detail.show{display:block;animation:rg-pop .45s cubic-bezier(.3,1.4,.5,1)}
.rd-detail .row small{margin-left:auto;font-size:12px;color:var(--card-muted)}
.rd .dot.ok{background:#b9b6ad}
.rd-detail .dot:not(.ok){background:var(--card-ink)}
.rd-nav{position:absolute;left:5vw;bottom:5vh}
@media (max-width:760px){
  .rd-top{padding:70px 6vw 0}.rd-title{left:6vw;top:auto;bottom:calc(5vh + 64px);width:88vw}
  .rd-top .rg-kicker span{display:none}.rd-top{padding-top:64px}
  .rd-scene{left:5vw;right:5vw;top:13vh;bottom:36vh}.rd-board{gap:8px}.rd-tile{padding:12px 14px 16px}.rd-tile b{font-size:28px}
  .rd-org{width:94vw}.rd-boss b{width:56px;height:56px;font-size:30px}.rd-boss b::after{inset:-8px}.rd-team b{width:32px;height:32px;font-size:17px}.rd-person b{width:21px;height:21px;font-size:8px}.rd-node{font-size:8.5px;gap:5px}.rd-team span{width:78px}.rd-team span em{display:none}.rd-node span{top:calc(100% + 5px)}.rd-boss span{top:calc(50% - 13px);right:calc(100% + 12px)}.rd-boss small{top:calc(50% + 3px);right:calc(100% + 12px)}.rd-org:has(.rd-answer.show) .rd-legend{opacity:0}.rd-reply{font-size:9.5px;padding:4px 6px}.rd-answer{left:50%;top:auto;bottom:-6%;transform:translate(-50%,46%);max-width:88vw}.rd-answer.show{transform:translate(-50%,36%)}.rd-ask{font-size:12px}.rd-legend{flex-direction:column;align-items:center;gap:6px;bottom:-19%;font-size:10px}
}
.rd.flat .rd-track{height:auto}.rd.flat .rd-stage{position:relative;height:auto;overflow:visible;min-height:0;padding:90px 7% 40px}
.rd.flat .rd-top,.rd.flat .rd-title,.rd.flat .rd-nav{position:relative;left:auto;top:auto;bottom:auto;padding:0;width:auto}
.rd.flat .rd-scene{position:relative;left:auto;right:auto;top:auto;bottom:auto;opacity:1;transform:none;pointer-events:auto;margin:30px 0 60px}
.rd.flat .rd-nav{display:none}
@media (prefers-reduced-motion:reduce){.rd *{animation:none!important;transition:none!important}}



.rd-team.in 

.rd-org{width:min(100%,680px)}
/* Los mensajes no se encogen (se solapaban en el móvil); si la conversación no cabe, se ve lo último. */
.rd-thread{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;max-height:48vh;overflow:hidden}
.rd-thread p{flex-shrink:0;margin:0!important;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .45s}
.rd-thread p.in{opacity:1;transform:none}
.rd-thread .rd-q{align-self:flex-end;max-width:80%;background:var(--card-ink);color:var(--card);border:0;padding:9px 13px;font-weight:500;min-height:0;border-radius:3px}
.rd-thread .rd-a{max-width:92%;min-height:0;padding:2px 0 6px}
.rd-people-card{max-width:680px!important}
.rd-people-card .lbl{align-items:center}
.rd-sort{display:inline-flex;gap:4px;text-transform:none;letter-spacing:0}
.rd-sort button{font-size:12px;border:1px solid var(--card-line);background:none;color:var(--card-muted);padding:4px 10px;border-radius:2px;min-height:30px}
.rd-sort button[aria-pressed=true]{background:var(--card-ink);color:var(--card);border-color:var(--card-ink)}
.rd-head,.rd-rows li{display:grid;grid-template-columns:1.6fr .8fr .9fr .9fr 1.2fr;gap:10px;align-items:center}
.rd-head{font-size:10px;letter-spacing:0;color:var(--card-muted);padding:6px 0}
.rd-rows{list-style:none;margin:0;padding:0}
.rd-rows li{padding:10px 0;border-top:1px solid var(--card-line);font-size:14px;font-variant-numeric:tabular-nums;opacity:0;transform:translateX(-12px);transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1)}
.rd-rows li.in{opacity:1;transform:none}
.rd-rows b{display:block;font-weight:500}
.rd-rows small{font-size:11px;color:var(--card-muted)}
.load{height:6px;background:#e3dfd6;border-radius:3px;overflow:hidden}
.load i{display:block;height:100%;width:100%;background:var(--card-ink);transform-origin:left;transform:scaleX(0);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.rd-rows li.in .load i{transform:scaleX(var(--w))}
.load.hot i{background:#a8894f}
.rd-flag{margin-top:12px!important;font-size:13px;display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .4s}
.rd-flag.in{opacity:1}
.rd-flag .dot{background:var(--card-ink)}
.rd-report{max-width:600px!important}
.rd-report .lbl span{color:var(--card-muted)}
.rd-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.rd-kpis div{border-top:2px solid var(--card-ink);padding-top:10px}
.rd-kpis b{display:block;font:500 34px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rd-kpis small{font-size:11px;color:var(--card-muted)}
.rd-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:end;height:110px;border-bottom:1px solid var(--card-line);padding:0 10px;position:relative;margin-bottom:26px}
.rd-mini i{display:block;height:90px;background:var(--card-ink);transform-origin:bottom;transform:scaleY(0);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.rd-scene.on .rd-mini.in i{transform:scaleY(var(--h))}
.rd-mini span{grid-row:2;font-size:11px;color:var(--card-muted);text-align:center;margin-top:6px}
@media (max-width:760px){.rd-head,.rd-rows li{grid-template-columns:1.5fr .7fr .8fr 1fr}.rd-head span:nth-child(4),.rd-rows li span:nth-child(4){display:none}.rd-kpis{grid-template-columns:1fr 1fr}.rd-kpis b{font-size:26px}.rd-thread{max-height:34vh}}

.rd-scene>*{transform-origin:center;transition:transform .3s}
.rd.flat .rd-thread{max-height:none;overflow:visible;justify-content:flex-start}
