/* UR Legal · movimiento y barra compartidos por todas las páginas (6-oct-2026). */
  /* ══ Movimiento v2 (Andrés, 6-oct-2026: «más visible», «que no se desorganice») ══ */
  html,body{overflow-x:clip}
  .ur-progress{position:fixed;left:0;top:var(--bar);height:2px;width:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(0);z-index:95;pointer-events:none}
  /* Portada: la foto entra con acercamiento y nunca deja ver sus bordes */
  .hero{overflow:hidden}
  .hero img.bg{inset:-3%;width:106%;height:106%;animation:ur-kb 18s cubic-bezier(.2,.6,.2,1) both}
  @keyframes ur-kb{from{transform:scale(1.16)}to{transform:scale(1)}}
  .hero .logo{animation:ur-up 1.1s cubic-bezier(.2,.7,.2,1) .2s both}
  .ur-shine{position:relative;display:inline-block;line-height:0}
  .ur-shine:after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%) no-repeat;background-size:300% 100%;background-position:150% 0;
    -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;animation:ur-sweep 5.5s ease-in-out 1.6s infinite}
  @keyframes ur-sweep{0%{background-position:150% 0}38%,100%{background-position:-50% 0}}
  .hero .rule{width:0;animation:ur-grow 1.2s cubic-bezier(.2,.7,.2,1) .9s forwards;overflow:visible}
  @keyframes ur-grow{to{width:180px}}
  .hero .rule:before{content:"";position:absolute;top:-1px;height:3px;width:46px;left:-46px;background:linear-gradient(90deg,transparent,#fff,transparent);filter:blur(.5px);animation:ur-run 3.4s ease-in-out 2.2s infinite}
  @keyframes ur-run{0%{left:-46px;opacity:0}12%{opacity:1}70%{left:180px;opacity:1}80%,100%{left:180px;opacity:0}}
  .hero h1{animation:ur-up 1.2s cubic-bezier(.2,.7,.2,1) .6s both}
  .hero h1 em{background:linear-gradient(90deg,#fff 0%,#fff 40%,#E9B3AB 50%,#fff 60%,#fff 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ur-text 6s ease-in-out 2.4s infinite}
  @keyframes ur-text{0%{background-position:100% 0}50%,100%{background-position:0 0}}
  @keyframes ur-up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
  .ur-scroll{position:absolute;left:50%;bottom:28px;width:1px;height:56px;background:rgba(255,255,255,.25);transform:translateX(-50%);overflow:hidden}
  .ur-scroll:after{content:"";position:absolute;left:0;top:-24px;width:1px;height:24px;background:#fff;animation:ur-drop 2.2s cubic-bezier(.6,0,.4,1) infinite}
  @keyframes ur-drop{to{top:56px}}
  /* Aparición al hacer scroll: más recorrido, con desenfoque que se aclara */
  .ur-rv{opacity:0;transform:translateY(54px);filter:blur(6px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),filter 1s;transition-delay:var(--d,0ms)}
  .ur-rv.rv{opacity:1;transform:none;filter:none}
  /* Antetítulos: una línea roja se dibuja antes del texto */
  .eyebrow{display:flex;align-items:center;gap:0}
  .eyebrow:before{content:"";display:inline-block;height:1px;width:0;background:var(--red);margin-right:0;transition:width .9s cubic-bezier(.2,.7,.2,1) .2s,margin .9s cubic-bezier(.2,.7,.2,1) .2s}
  .rv.eyebrow:before,.rv .eyebrow:before{width:34px;margin-right:14px}
  .hero .eyebrow:before{display:none}
  .cs-hero .eyebrow,.cs-hero h1,.cs-hero p,.cs-hero .btns{animation:ur-up 1.1s cubic-bezier(.2,.7,.2,1) both}
  .cs-hero h1{animation-delay:.15s} .cs-hero p{animation-delay:.3s} .cs-hero .btns{animation-delay:.45s}
  h2 em{background:linear-gradient(var(--red),var(--red)) no-repeat 0 100% / 0 2px;padding-bottom:2px;transition:background-size 1.2s cubic-bezier(.2,.7,.2,1) .5s}
  .rv h2 em,h2.rv em{background-size:100% 2px}
  /* Fotos: entran como una cortina que se abre */
  .ur-curtain{clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.7,0,.2,1)}
  .ur-curtain.rv{clip-path:inset(0 0 0 0)}
  .about figure,.tech .wrap > img,.team figure{overflow:hidden}
  .about figure img,.tech .wrap > img,.team .photo{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
  .about figure:hover img,.tech .wrap > img:hover,.team figure:hover .photo{transform:scale(1.06)}
  /* Tarjetas: barrido de luz al pasar (y una vez al aparecer) + subrayado rojo */
  .svc-grid article,.steps li{position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .45s,box-shadow .45s}
  .svc-grid article:before,.steps li:before{content:"";position:absolute;top:0;bottom:0;width:60%;left:-70%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-14deg);pointer-events:none}
  .steps li:before{background:linear-gradient(100deg,transparent,rgba(255,255,255,.12),transparent)}
  .svc-grid article:hover:before,.steps li:hover:before,.svc-grid article.ur-flash:before,.steps li.ur-flash:before{left:120%;transition:left .9s cubic-bezier(.2,.7,.2,1)}
  .svc-grid article:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(6,32,48,.10);z-index:1}
  .steps li:hover{transform:translateY(-4px)}
  .clients .grid div,.alist article,.alist .alink{position:relative;overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .45s,box-shadow .45s}
  .clients .grid div:before,.alist article:before,.alist .alink:before{content:"";position:absolute;top:0;bottom:0;width:60%;left:-70%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-14deg);pointer-events:none;transition:left 0s}
  .alist article:before,.alist .alink:before{background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent)}
  .clients .grid div:hover:before,.alist article:hover:before,.alist .alink:hover:before,.ur-flash:before{left:120%;transition:left .9s cubic-bezier(.2,.7,.2,1)}
  .clients .grid div:hover{transform:translateY(-6px);background:#fff;box-shadow:0 18px 40px rgba(6,32,48,.10);z-index:1}
  .clients .grid div:after{content:"";position:absolute;left:28px;bottom:0;height:2px;width:0;background:var(--red);transition:width .5s cubic-bezier(.2,.7,.2,1)}
  .clients .grid div:hover:after{width:calc(100% - 56px)}
  .alist article:hover,.alist .alink:hover{transform:translateY(-6px);background:rgba(255,255,255,.06)}
  .alist article svg{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
  .alist article:hover svg{transform:translateY(-4px) scale(1.15)}
  /* Socio fundador: una luz recorre su línea roja todo el tiempo */
  .team .lead-partner{position:relative;clip-path:inset(-4px 0 0 0)}
  .team .lead-partner:before{content:"";position:absolute;top:-3px;height:3px;width:140px;left:-140px;background:linear-gradient(90deg,transparent,#fff 50%,transparent);mix-blend-mode:screen;animation:ur-edge 4.5s ease-in-out infinite;z-index:2}
  @keyframes ur-edge{0%{left:-140px}60%,100%{left:100%}}
  /* Mapa: pines, líneas y nombres llegan en orden */
  .map .lead-line{stroke-dasharray:140;stroke-dashoffset:140;transition:stroke-dashoffset 1.2s ease-out .4s}
  .map .lbl{opacity:0;transition:opacity .7s ease 1.1s}
  .map .pin{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .6s cubic-bezier(.2,.9,.3,1.5) .2s}
  .map.rv .lead-line{stroke-dashoffset:0} .map.rv .lbl{opacity:1} .map.rv .pin{transform:scale(1)}
  /* Botones: brillo que cruza cada pocos segundos */
  .btn{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
  .btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(179,56,44,.28)}
  .btn.red:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:ur-btn 4.5s ease-in-out 1s infinite}
  @keyframes ur-btn{0%{left:-60%}35%,100%{left:130%}}
  .sitenav a:not(.logo):not(.btn){position:relative}
  .sitenav a:not(.logo):not(.btn):after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .sitenav a:not(.logo):not(.btn):hover:after{transform:scaleX(1)}
  @media (prefers-reduced-motion:reduce){
    .ur-rv,.ur-curtain{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
    .hero .rule{width:180px} .map .lead-line{stroke-dashoffset:0} .map .lbl{opacity:1} .map .pin{transform:none}
    .ur-shine:after,.hero .rule:before,.hero h1 em,.team .lead-partner:before,.btn.red:after,.ur-scroll{animation:none!important;display:none}
    .hero h1 em{display:inline;color:#fff;background:none}
  }

  /* ══ Ajustes de Andrés (6-oct-2026, tarde): portada limpia y logo de la barra protagonista ══ */
  .hero:not(.cs-hero){place-items:end start;text-align:left}
  .hero:not(.cs-hero) .wrap{padding-block:0 13vh;justify-items:start;gap:26px}
  .hero:not(.cs-hero) h1{font-size:clamp(38px,5.6vw,76px);text-shadow:0 2px 30px rgba(0,0,0,.35)}
  .hero .rule:after{left:0;transform:translate(0,-50%) rotate(45deg)}
  .hero .ur-scroll{left:auto;right:6vw;transform:none}
  .sitenav .logo img{height:46px;width:46px}
  .sitenav .logo b{font-size:13.5px;letter-spacing:.38em}
  .sitenav .logo .ur-shine:after{animation:ur-sweep 4.5s ease-in-out 1s infinite}
  @media (max-width:640px){.sitenav .logo img{height:38px;width:38px} .hero:not(.cs-hero) .wrap{padding-block:0 10vh}}
  .team .grid figcaption{opacity:1!important;transform:none!important;filter:none!important}
