/* yulen.ai v2. Componentes nuevos y movimiento. Sin librerías.
   Movimiento solo con transform/opacity (y stroke-dashoffset/clip-path en dos detalles).
   Sin JS o con prefers-reduced-motion: reduce, todo se ve en su estado final. */
:root{--ez:cubic-bezier(.2,.8,.2,1)}
/* Movido desde el <style> inline (CSP) */
.btn-paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.site-f .btn-paper{color:var(--ink)}
/* Contraste AA en piezas heredadas de la base */
.navcur{opacity:1!important}.mt.cur{opacity:1!important}.pm-x{color:var(--ink)}
.btn{transition:transform .12s var(--ez)}.btn:active{transform:scale(.98)}
.more{transition:transform .15s var(--ez)}
/* C1 */
.tagline{font-weight:800;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);margin:0 0 14px}
.hero .aud{font-size:clamp(1rem,.95rem + .3vw,1.15rem);color:#2a2622;margin:-4px 0 14px;max-width:640px}.hero .aud a{color:var(--ink);text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:3px}
.close .tagline{margin-top:6px}
/* C5 chat */
.dbtn button{font:inherit;font-weight:700;font-size:14px;border-radius:999px;padding:7px 16px;border:2px solid var(--ink);cursor:pointer;color:inherit}
.dbtn .b1{background:var(--ink);color:var(--paper)}.dbtn .b2{background:#fff}
.dbtn button[aria-pressed="true"]{outline:3px solid var(--coral);outline-offset:2px}
.chk{list-style:none;padding:0;margin:8px 0 12px;display:flex;flex-wrap:wrap;gap:6px}
.chk li{font-size:12px;background:#fff;border:1px solid var(--ink);border-radius:999px;padding:2px 9px}
.ylog{font-size:12.5px;margin:10px 0 0;min-height:1.4em}
.chat[data-state] .dec{background:#fff;transition:background-color .25s var(--ez)}
/* C6 dolor */
.gather{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;margin:32px 0 24px}
.arts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.art{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.art .mono{font-size:12.5px;color:var(--mute)}.art p{margin:6px 0 0;font-size:15.5px}
.rulefile{background:#fff;border:2px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--coral);overflow:hidden}
.rf-top{background:var(--ink);color:var(--paper);font-size:12.5px;padding:8px 14px}
.rulefile p{margin:12px 14px}.rf-meta{font-size:12px;color:var(--mute)}
/* C7 */
.quotes{list-style:none;padding:0;margin:28px 0}
.q .u{position:relative;white-space:nowrap}
.q .u::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--coral);transform-origin:left}
/* C8 mini UIs */
.ymini{background:#fff;border:1.5px solid var(--ink);border-radius:12px;margin:16px 0 4px;overflow:hidden;font-size:13px}
.ymini-top{background:var(--ink);color:var(--paper);font-size:11.5px;padding:6px 12px}
.rl{margin:0;padding:8px 12px;border-top:1px solid var(--line);font-size:12px;position:relative}
.rl:first-of-type{border-top:0}.rl.v2{background:#f3efff}.rl.meta{color:var(--mute)}
.pr{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--line)}
.pr:first-of-type{border-top:0}.pn{font-weight:700;font-size:13px}
.pl{position:relative;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--ink);border-radius:999px;font-size:10.5px;width:min(220px,62%);text-align:center;overflow:hidden}
.pl span{position:relative;padding:3px 2px;z-index:1}
.knob{position:absolute;top:0;bottom:0;left:0;width:33.334%;background:var(--yellow);border-radius:999px}
.knob.to1{transform:translateX(100%)}.knob.to2{transform:translateX(200%)}
.ysteps{list-style:none;margin:0;padding:10px 12px;display:grid;gap:7px;font-size:12px}
.ysteps li{display:flex;align-items:center;gap:8px}
.ysteps li::before{content:"";width:10px;height:10px;border-radius:50%;border:1.5px solid var(--ink);background:var(--ink);flex:none}
/* C12, legal */
.narrow{max-width:760px}.legalp h1{font-size:clamp(2rem,1.4rem + 3vw,3.4rem)}
.srcs{font-size:15px;color:var(--mute);max-width:760px;margin-top:20px}
.site-f .legal a{color:#d9d2c5;text-decoration:underline}
.logline{font-size:13px;margin:18px 0 22px;color:var(--mute)}
@media (max-width:900px){.gather{grid-template-columns:1fr}}
@media (max-width:480px){.arts{grid-template-columns:1fr}.pl{width:66%}}

/* ===== Movimiento (solo con JS y sin reducción de movimiento) ===== */
@keyframes yin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pulse{50%{transform:scale(1.03)}}
@keyframes fade{from{opacity:1}to{opacity:0}}
@media (prefers-reduced-motion:no-preference){
 .more:hover{transform:translateX(4px)}
 .card.hc{transition:transform .15s var(--ez)}.card.hc:hover{transform:translateY(-2px)}
 .js [data-play] .seq{opacity:0}
 .js [data-play].play .seq{animation:yin .45s var(--ez) both}
 .js .play .d1{animation-delay:.32s!important}.js .play .d2{animation-delay:.64s!important}.js .play .d3{animation-delay:.96s!important}
 .js .play .d4{animation-delay:1.28s!important}.js .play .d5{animation-delay:1.6s!important}
 .js .chat.play .pulse{animation:pulse .3s var(--ez) 1.9s 1}
 /* C8 · regla v2 resaltada, permisos que avanzan, timeline */
 .js .rule.play .v2::after{content:"";position:absolute;inset:0;background:var(--lilac);animation:fade 1.2s var(--ez) .5s both}
 .js .perms .knob{transform:none;transition:transform .3s var(--ez)}
 .js .perms.play .knob.to1{transform:translateX(100%);transition-delay:.3s}
 .js .perms.play .knob.to2{transform:translateX(200%);transition-delay:.7s}
 .js .perms.play .knob.late{transition-delay:1.1s}
 .js .ytl .ysteps li::before{transform:scale(.35);transition:transform .3s var(--ez)}
 .js .ytl.play .ysteps li::before{transform:none}
 .js .ytl.play .ysteps .d1::before{transition-delay:.4s}.js .ytl.play .ysteps .d2::before{transition-delay:.8s}.js .ytl.play .ysteps .d3::before{transition-delay:1.2s}
 /* C7 · subrayado */
 .js .quotes .u::after{transform:scaleX(0);transition:transform .3s ease-out}
 .js .quotes.play .u::after{transform:scaleX(1)}
 .js .quotes.play .u.d1::after{transition-delay:.06s}.js .quotes.play .u.d2::after{transition-delay:.12s}
 .js .quotes.play .u.d3::after{transition-delay:.18s}.js .quotes.play .u.d4::after{transition-delay:.24s}
 /* C9 · iconos que se dibujan */
 .js .vgrid .ico [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .5s ease-out}
 .js .vgrid.play .ico [pathLength]{stroke-dashoffset:0}
 /* C14 · línea de registro */
 .js .logline span{display:inline-block;clip-path:inset(0 100% 0 0);transition:clip-path .6s steps(24)}
 .js .logline.play span{clip-path:inset(0)}
 /* C11 · acordeón */
 @supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  details::details-content{height:0;overflow:clip;transition:height .2s ease-out,content-visibility .2s allow-discrete}
  details[open]::details-content{height:auto}
 }
 /* C6 y revelados M0 · ligados al scroll, solo CSS */
 @supports (animation-timeline:view()){
  @keyframes gather{from{transform:translate(var(--x),var(--y)) rotate(var(--r))}to{transform:none}}
  .art{animation:gather linear both;animation-timeline:view();animation-range:entry 10% cover 45%}
  .art.a0{--x:-28px;--y:-14px;--r:-3deg}.art.a1{--x:24px;--y:-18px;--r:3deg}.art.a2{--x:-20px;--y:16px;--r:2deg}.art.a3{--x:30px;--y:12px;--r:-2deg}
  .rulefile{animation:yin linear both;animation-timeline:view();animation-range:entry 30% cover 50%}
  .rv{animation:yin linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
 }
}
/* Controles de formulario con la fuente del sitio (el navegador les pone Arial por defecto) */
button,input,select,textarea{font-family:inherit}
/* Lista de espera (pie) */
.fwl{border-bottom:1px solid #3a352f;padding:8px 0 0;margin-bottom:36px}
.fwl-h{font-size:clamp(1.4rem,1.1rem + 1vw,2rem);margin:0 0 14px;color:var(--paper)}
.waitlist label{display:block;font-size:14px;margin-bottom:6px;color:#d9d2c5}
.wl-row{display:flex;gap:10px;flex-wrap:wrap;max-width:640px}
.wl-row input{flex:1 1 240px;font:inherit;font-size:16px;padding:12px 16px;border-radius:999px;border:2px solid var(--paper);background:var(--ink);color:var(--paper)}
.wl-row input::placeholder{color:#a39b8f}
.wl-row input[aria-invalid="true"]{border-color:var(--coral)}
.wl-hint{font-size:14px;color:#d9d2c5;margin:10px 0 0}
.wl-priv{font-size:13px;line-height:1.5;color:#d9d2c5;margin:6px 0 0;max-width:640px}.wl-priv a{color:var(--paper);text-decoration:underline;text-underline-offset:2px}
.wl-alert{font-size:14.5px;color:var(--yellow);margin:8px 0 0}
.wl-done{font-weight:700;color:var(--paper);font-size:18px}
/* Turnstile al final del formulario y con su alto reservado: si pide verificación, crece dentro de su hueco y no empuja nada; contain:paint evita que Chrome cuente como desplazamiento la aparición del iframe (CLS). */
.cf-turnstile{margin-top:8px;min-height:65px;line-height:0;contain:paint}
/* El widget (data-size="flexible") toma el ancho del formulario, no el del pie */
.waitlist{max-width:640px}
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.waitlist button[disabled]{opacity:.7;cursor:progress}
:focus-visible{outline:3px solid var(--coral-t);outline-offset:2px}
.site-f :focus-visible{outline-color:var(--yellow)}
.site-f h3.fh{font-family:"DM Mono",monospace;font-weight:400;font-size:13px;line-height:inherit;text-transform:uppercase;color:var(--coral);margin:0 0 10px}
.site-h .langsw{font-family:"DM Mono",monospace;font-size:13px;letter-spacing:.04em;text-decoration:none;padding:6px 4px}.site-h .langsw:hover{text-decoration:underline}
/* Antes / Con Yulen (#cambio). --p va de 0 (antes) a 1 (con Yulen); cada pieza interpola su posición con transform
   y aparece o se va con opacity. Lo mueve el scroll o los botones; JS solo escribe --p y las clases on/run.
   Antes: el desorden, con movimiento ambiente. Con Yulen: un diagrama quieto (servicios en fila, una capa, lo que te llega). */
.ba2{margin:32px 0 0}
.ba-c{display:flex;align-items:center;gap:14px;margin:0 0 14px;visibility:hidden}.ba-c.ok{visibility:visible}
.ba-b{font:600 15px/1 Figtree,sans-serif;color:var(--ink);background:none;border:2px solid var(--ink);border-radius:999px;padding:10px 16px;cursor:pointer;white-space:nowrap}
.ba-b[aria-pressed=true]{background:var(--ink);color:var(--paper)}.ba-b[aria-pressed=true] .yb{color:var(--paper)}
.bas{--p:0;position:relative;container-type:size;aspect-ratio:2/1;width:100%;overflow:hidden;border:2px solid var(--ink);border-radius:18px;background:var(--paper);contain:layout paint}
.bas .zn{position:absolute;left:0;top:0;--x0:var(--bx);--y0:var(--by);--x1:var(--ax);--y1:var(--ay);--rr:var(--r);--q:clamp(0,(var(--p) - var(--d,0))*2.5,1);--e:calc(var(--q)*var(--q)*(3 - 2*var(--q)));transform:translate(calc((var(--x0) + (var(--x1) - var(--x0))*var(--e))*1cqw),calc((var(--y0) + (var(--y1) - var(--y0))*var(--e))*1cqh)) translate(-50%,-50%) rotate(calc(var(--rr)*(1 - var(--e))*1deg)) scale(var(--s,1))}
.bas .zbo{opacity:calc(1 - var(--p)*2.6)}.bas .zao{opacity:calc((var(--p) - var(--d))*4)}.bas .zyu{--s:calc(.7 + .3*var(--e))}
.bas .zln{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--mute);stroke-width:1.4}
.bas .zbl{stroke-dasharray:4 5;opacity:calc(1 - var(--p)*2.6)}.bas .zal{stroke:var(--ink);stroke-width:1.6;opacity:calc((var(--p) - .45)*4)}
.bas .zln.zm{display:none}
.ztl{position:relative;width:clamp(96px,12.5cqw,148px);padding:12px 10px 10px;background:#fff;border:1.5px dashed var(--mute);border-radius:12px;text-align:center;font:600 15px/1.2 Figtree,sans-serif}
.bas.on .ztl{border-style:solid;border-color:var(--ink)}.bas.on .ztl .zia{font-size:12px}
.ztl b{display:block;font-weight:600}.ztl .zia{position:absolute;top:-8px;right:-6px;background:var(--lilac);border-radius:4px;padding:1px 5px;font-size:10px}
.zchip .zck,.zping .zck{display:block;white-space:nowrap;font:500 13px/1.2 Figtree,sans-serif;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 11px;box-shadow:0 2px 0 rgba(20,18,16,.06)}
.zchip.zcx .zck{border:2px solid var(--coral);color:#C2361C;font-weight:700}.zchip.zcx .zck:before{content:"⚠ "}
.zping .zck{background:var(--ink);color:var(--paper);border-color:var(--ink);border-radius:14px 14px 14px 4px}
.zyou b{display:block;background:var(--ink);color:var(--paper);font:800 17px/1 Figtree,sans-serif;padding:14px 20px;border-radius:999px;position:relative}
.zyou b:after{content:"";position:absolute;inset:-6px;border:2px solid var(--coral);border-radius:999px;opacity:0}
.zyc{width:84cqw;box-sizing:border-box;background:#fff;border:3px solid var(--coral);border-radius:16px;padding:14px 22px 12px;text-align:center;box-shadow:6px 6px 0 var(--coral)}
.zyc img{display:block;margin:0 auto 6px;height:34px;width:auto}.zyc p{margin:0;font-size:13px;letter-spacing:.03em}
.zap{display:flex;align-items:center;gap:12px;white-space:nowrap;background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:6px 6px 6px 16px}
.zap span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#C2361C}.zap b{font:600 14px/1 Figtree,sans-serif;background:var(--ink);color:var(--paper);border-radius:999px;padding:8px 14px}
.ba-t{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px}.ba-t h3{font-size:1.15rem;margin:0 0 8px}.ba-t ul{margin:0;padding-left:1.1em;color:#2a2622}.ba-t li+li{margin-top:6px}
.ba-t>div{transition:opacity .4s var(--ez)}.ba2.is1 .bt0,.ba2.is0 .bt1{opacity:.72}
@media (max-width:860px){.bas{aspect-ratio:1/2}.bas .zn{--x0:var(--mbx);--y0:var(--mby);--x1:var(--max);--y1:var(--may);--rr:var(--mr)}
 .bas .zln.zd{display:none}.bas .zln.zm{display:block}.bas .zdm{display:none}
 .ztl{width:30cqw;font-size:13px;padding:10px 6px 8px}.zchip .zck,.zping .zck{font-size:12px;padding:5px 9px}
 .zyc{width:88cqw;padding:12px 12px 10px}.zyc img{height:28px;margin-bottom:4px}.zyc p{font-size:12px}.zap b{font-size:13px;padding:7px 12px}.ba-t{grid-template-columns:1fr;gap:16px}.ba-b{padding:9px 12px;font-size:14px}}
/* Movimiento ambiente: solo con el escenario a la vista (.run) y sin reduced-motion */
@media (prefers-reduced-motion:no-preference){
.bas.run:not(.on) .zck{animation:bapop 6.4s var(--ez) infinite;animation-delay:calc(var(--i)*-.8s)}
.bas.run:not(.on) .ztl{animation:bajit 2.8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.45s)}
.bas.run:not(.on) .zyou b:after{animation:baring 1.8s ease-out infinite}
}
@keyframes bapop{0%,100%{opacity:0;transform:scale(.85)}9%,60%{opacity:1;transform:none}70%{opacity:0;transform:translateY(-4px)}}
@keyframes bajit{to{transform:translate(2px,-3px) rotate(1.2deg)}}
@keyframes baring{from{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}
.ba2.rm .bas+.bas{margin-top:14px}.ba2.rm .ba-c{display:none}.ba-lb{font:600 13px/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}.ba-lb+.bas{margin-top:0}
.ba2.rm .ba-t>div{opacity:1!important}
.ba-lb .yb{font:inherit;text-transform:inherit;color:inherit}
@media (min-width:861px) and (max-width:1100px){.zyc{padding:10px 16px 9px}.zyc img{height:30px}}
/* r12 · D-01: lista de espera en el contenido (r18: un solo CTA) */
main .ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
/* r12 · D-05: «Permisos» a 390 px sin cortes */
.pl span{white-space:nowrap}
@media (max-width:480px){.perms .pr{flex-wrap:wrap;row-gap:6px}.perms .pl{width:100%}}
/* r12 · D-02: equipo */
.team{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;max-width:900px}
.tm{border-top:2px solid var(--ink);padding-top:14px}.tm h3{margin:0}.tm-r{font-size:12px;text-transform:uppercase;color:var(--mute);margin:4px 0 8px}.tm p:last-child{margin:0}
#equipo .note{margin-top:22px}
@media (max-width:700px){.team{grid-template-columns:1fr}}

/* N-01 (r13): en el hero de las subpáginas, el botón secundario vuelve a ser ghost (.solh .btn{…!important} lo pintaba relleno) */
.solh .btn.ghost{background:transparent!important;color:var(--ink)!important;border-color:var(--ink)!important}

/* N-05 (r14): en móvil, la sección actual (.navcur) del menú de escritorio no se muestra, así el encabezado queda en una línea (71 px) */
@media (max-width:900px){.nav nav .navcur{display:none}}
/* r18: página de gobiernos (7 bloques): H1 largo con los destinatarios y etiqueta «Previsto» */
.solh h1.h1l{font-size:clamp(1.65rem,1.1rem + 2.2vw,3rem);line-height:1.05;max-width:1040px}
.pv{display:inline-block;font-family:"DM Mono",ui-monospace,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px dashed currentColor;border-radius:999px;padding:3px 10px;margin:0 0 10px}
.gb-ms{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}
.gb-ms li{border:2px solid var(--ink);border-radius:14px;padding:14px 16px;font-weight:700;background:#fff}
@media (max-width:900px){.gb-ms{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.gb-ms{grid-template-columns:1fr}}

/* r18 · L10: el ancla #lista no queda bajo la cabecera fija (etiqueta y campo visibles al llegar, 1280 y 390) */
#lista{scroll-margin-top:104px}

/* r21: palabras largas en mayúsculas (p. ej. ENTREPRENEURSHIP en /en/partners/foundations/) no desbordan a 320 px */
@media (max-width:400px){h1,h2{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}}

/* generado por build/ba.py */
.b0{--bx:14;--by:17;--r:-5;--ax:10;--ay:82;--mbx:25;--mby:8;--mr:-4;--max:17;--may:66;--d:0.08;--i:0}.b1{--bx:86;--by:15;--r:4;--ax:26;--ay:82;--mbx:75;--mby:12;--mr:4;--max:50;--may:66;--d:0.12;--i:1}.b2{--bx:9;--by:54;--r:3;--ax:42;--ay:82;--mbx:21;--mby:35;--mr:3;--max:83;--may:66;--d:0.16;--i:2}.b3{--bx:91;--by:52;--r:-4;--ax:58;--ay:82;--mbx:79;--mby:39;--mr:-3;--max:17;--may:87;--d:0.20;--i:3}.b4{--bx:24;--by:88;--r:-3;--ax:74;--ay:82;--mbx:25;--mby:79;--mr:-3;--max:50;--may:87;--d:0.24;--i:4}.b5{--bx:76;--by:87;--r:5;--ax:90;--ay:82;--mbx:75;--mby:85;--mr:4;--max:83;--may:87;--d:0.28;--i:5}.b6{--bx:18;--by:30;--r:0;--ax:18;--ay:30;--mbx:30;--mby:18;--mr:0;--max:30;--may:18;--i:0}.b7{--bx:82;--by:28;--r:0;--ax:82;--ay:28;--mbx:71;--mby:22;--mr:0;--max:71;--may:22;--i:1}.b8{--bx:50;--by:13;--r:0;--ax:50;--ay:13;--mbx:50;--mby:28;--mr:0;--max:50;--may:28;--i:2}.b9{--bx:12;--by:67;--r:0;--ax:12;--ay:67;--mbx:24;--mby:44;--mr:0;--max:24;--may:44;--i:3}.b10{--bx:74;--by:75;--r:0;--ax:74;--ay:75;--mbx:73;--mby:76;--mr:0;--max:73;--may:76;--i:4}.b11{--bx:50;--by:85;--r:0;--ax:50;--ay:85;--mbx:50;--mby:96;--mr:0;--max:50;--may:96;--i:5}.b12{--bx:88;--by:65;--r:0;--ax:88;--ay:65;--mbx:76;--mby:48;--mr:0;--max:76;--may:48;--i:6}.b13{--bx:24;--by:76;--r:0;--ax:24;--ay:76;--mbx:27;--mby:70;--mr:0;--max:27;--may:70;--i:7}.b14{--bx:50;--by:36;--r:0;--ax:50;--ay:36;--mbx:50;--mby:64;--mr:0;--max:50;--may:64;--i:2}.b15{--bx:66;--by:61;--r:0;--ax:66;--ay:61;--mbx:50;--mby:150;--mr:0;--max:50;--may:150;--i:3}.b16{--bx:34;--by:62;--r:0;--ax:34;--ay:62;--mbx:50;--mby:150;--mr:0;--max:50;--may:150;--i:4}.b17{--bx:50;--by:50;--r:0;--ax:50;--ay:10;--mbx:50;--mby:55;--mr:0;--max:50;--may:9;--d:.2}.b18{--bx:50;--by:48;--r:0;--ax:50;--ay:47;--mbx:50;--mby:40;--mr:0;--max:50;--may:41;--d:.3}.b19{--bx:50;--by:25;--r:0;--ax:50;--ay:25;--mbx:50;--mby:21;--mr:0;--max:50;--may:21;--d:.6}
