/* kjv-x.css · Capa X (Motor 1 · 8-nov-2026)
   Menú estilo F1, títulos cinéticos, lente de oro sobre el avatar, polvo de partículas que sigue la página,
   final con marco y logos, Precios y Sobre mí. Solo marca KJV (esmeralda, oro, marfil, sello carmesí). CSP 'self'. */
html:not([data-lang="es"]) [lang-es]{display:none!important}
html[data-lang="es"] [lang-en]{display:none!important}
:root{--x-ease:cubic-bezier(.22,1,.36,1);--x-em:#061A13;--x-em2:#0B3D2E;--x-em3:#12402F;--x-cream:#F7F1E6;--x-gold:#D4AF37;--x-gold2:#E6C766;--x-crim:#7A0E0B;--x-frame:#D4AF37;--x-r:26px}
.x-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- polvo de partículas (lienzo fijo) y lente de oro ---------- */
#xDust{position:fixed;inset:0;width:100%;height:100%;z-index:15;pointer-events:none}
.x-lens{position:fixed;inset:0;z-index:2;pointer-events:none;clip-path:circle(0 at 50% 50%);background:linear-gradient(160deg,#F3DD8A 0%,#D4AF37 38%,#9C7A1E 72%,#E6C766 100%);mix-blend-mode:color}
.x-lens::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,244,200,.55) 48%,transparent 62%);mix-blend-mode:soft-light}
.x-ring{position:fixed;z-index:16;pointer-events:none;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;
  border:1.5px solid var(--x-gold);box-shadow:0 0 24px rgba(212,175,55,.6),inset 0 0 18px rgba(212,175,55,.45);animation:xRing 1s var(--x-ease) forwards}
@keyframes xRing{to{transform:scale(22);opacity:0;border-width:.3px}}

/* ---------- títulos cinéticos ---------- */
.xk .xk-w{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .04em .16em;margin:-.1em -.04em -.16em}
.xk .xk-c{display:inline-block;transform:translate3d(0,108%,0) rotate(5deg);opacity:0;font-weight:var(--w,inherit);
  transition:transform .95s var(--x-ease),opacity .5s linear,filter .7s var(--x-ease),font-weight .3s var(--x-ease);
  transition-delay:calc(var(--d,0s) + var(--i,0) * 18ms)}
.xk.x-on .xk-c{transform:none;opacity:1}
.xk.gone .xk-c{transform:translate3d(var(--dx,0),var(--dy,-40px),0) rotate(var(--dr,0deg)) scale(.6);opacity:0;filter:blur(8px);
  transition-duration:.9s,.7s,.7s,.3s;transition-delay:calc(var(--j,0) * 6ms)}
.xk em{font-family:var(--display);font-style:italic;font-weight:500;color:var(--x-gold)}
.no-x .xk .xk-c{transform:none;opacity:1}
@media (prefers-reduced-motion:reduce){.xk .xk-c{transform:none!important;opacity:1!important;filter:none!important;transition:none!important}}

/* ---------- menú estilo F1 ---------- */
#menu.x-menu{position:fixed;inset:0;z-index:95;display:grid;grid-template-columns:minmax(280px,420px) 1fr;grid-template-rows:auto 1fr auto;
  gap:clamp(14px,2.4vw,34px) clamp(20px,4vw,72px);padding:clamp(16px,2.6vw,34px);overflow:auto;overscroll-behavior:contain;
  background:radial-gradient(90% 80% at 75% 40%,#0F3527 0%,#071F16 55%,#03100B 100%);color:var(--x-cream);
  clip-path:circle(0 at calc(100% - 44px) 38px);animation:xMenu .85s var(--x-ease) forwards}
#menu.x-menu[hidden]{display:none!important}
@keyframes xMenu{to{clip-path:circle(160% at calc(100% - 44px) 38px)}}
#menu.x-menu::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:repeating-radial-gradient(circle at 78% 46%,transparent 0 38px,rgba(212,175,55,.05) 39px 40px)}
#menu .x-m-top{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative}
#menu .x-m-lang{display:flex;gap:14px;font:600 clamp(18px,1.6vw,24px)/1 var(--body)}
#menu .x-m-lang button{background:none;border:0;color:rgba(247,241,230,.78);cursor:pointer;padding:4px 0;font:inherit}
#menu .x-m-lang button[aria-pressed="true"]{color:var(--x-cream)}
#menu .x-m-x{width:52px;height:52px;border-radius:50%;border:1px solid rgba(247,241,230,.28);background:transparent;color:var(--x-cream);cursor:pointer;position:relative;transition:transform .5s var(--x-ease),background .3s}
#menu .x-m-x::before,#menu .x-m-x::after{content:"";position:absolute;left:14px;right:14px;top:50%;height:2px;background:currentColor;transform:rotate(45deg)}
#menu .x-m-x::after{transform:rotate(-45deg)}
#menu .x-m-x:hover{transform:rotate(90deg);background:rgba(212,175,55,.16)}
#menu .x-m-cards{display:flex;flex-direction:column;gap:12px;align-self:end;position:relative}
#menu .x-card{display:grid;grid-template-columns:116px 1fr auto;gap:14px;align-items:center;padding:12px;border-radius:16px;text-decoration:none;color:inherit;
  background:rgba(247,241,230,.05);border:1px solid rgba(212,175,55,.16);transition:transform .45s var(--x-ease),background .3s,border-color .3s;
  opacity:0;transform:translateY(24px);animation:xUp .8s var(--x-ease) forwards;animation-delay:calc(.25s + var(--i,0) * .08s)}
#menu .x-card:hover{transform:translateY(-3px);background:rgba(247,241,230,.09);border-color:rgba(212,175,55,.5)}
#menu .x-card img{width:116px;height:86px;object-fit:cover;border-radius:10px;display:block}
#menu .x-card small{display:block;font:700 10.5px/1.2 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--x-gold);margin-bottom:6px}
#menu .x-card b{display:block;font:600 16px/1.25 var(--body)}
#menu .x-card span.x-arr{font-size:20px;opacity:.7;transition:transform .4s var(--x-ease)}
#menu .x-card:hover span.x-arr{transform:translateX(4px)}
#menu .x-card.feat{display:block;padding:20px 20px 18px;background:linear-gradient(150deg,#E9D9A6,#D4AF37 60%,#B8962E);color:#061A13;border:0}
#menu .x-card.feat small{color:#061A13;display:flex;justify-content:space-between}
#menu .x-card.feat strong{display:block;font:800 clamp(30px,3.2vw,44px)/.92 var(--body);letter-spacing:-.03em;text-transform:uppercase;margin:34px 0 8px}
#menu .x-card.feat p{margin:0;font:500 14px/1.35 var(--body);display:flex;justify-content:space-between;align-items:end;gap:10px}
#menu .x-card.feat svg{width:120px;height:64px;display:block;margin-top:6px}
#menu .x-m-links{align-self:center;justify-self:start;display:flex;flex-direction:column;position:relative}
#menu .x-m-links a{display:block;position:relative;overflow:hidden;text-decoration:none;color:var(--x-cream);padding:.02em 0;
  font:800 clamp(44px,8.2vw,128px)/.9 var(--body);letter-spacing:-.045em;text-transform:uppercase;
  opacity:0;transform:translateY(60%);animation:xUp .9s var(--x-ease) forwards;animation-delay:calc(.18s + var(--i,0) * .06s)}
#menu .x-m-links a .s,#menu .x-m-links a .h{display:block;transition:transform .6s var(--x-ease),opacity .4s}
#menu .x-m-links a .h{position:absolute;left:0;top:0;font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;letter-spacing:-.02em;color:var(--x-gold);transform:translateY(105%);opacity:0}
#menu .x-m-links a:hover .s,#menu .x-m-links a:focus-visible .s{transform:translateY(-105%);opacity:0}
#menu .x-m-links a:hover .h,#menu .x-m-links a:focus-visible .h{transform:none;opacity:1}
#menu .x-m-links a[aria-current="page"] .s{color:var(--x-gold)}
#menu .x-m-links a.x-store .s{color:var(--x-gold);font-size:.42em;letter-spacing:.06em;margin-top:.5em}
#menu .x-m-links a.x-store .h{font-size:.42em;margin-top:.5em}
#menu .x-m-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 26px;position:relative;
  border-top:1px solid rgba(247,241,230,.12);padding-top:16px;font:500 14px/1.3 var(--body)}
#menu .x-m-foot a{color:var(--x-cream);text-decoration:none;opacity:.8}
#menu .x-m-foot a:hover{opacity:1;color:var(--x-gold)}
#menu .x-m-soc{display:flex;gap:22px;flex-wrap:wrap}
#menu .x-m-chap{display:none}
#menu .x-m-chap nav{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px;max-height:30vh;overflow:auto}
#menu .x-m-chap nav a{font:500 12.5px/1.5 var(--body);color:rgba(247,241,230,.7);text-decoration:none;display:flex;gap:8px}
#menu .x-m-chap nav a small{color:var(--x-gold);font-size:10px}
#menu .x-m-chap summary{cursor:pointer;font:700 10.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--x-gold);padding:6px 0}
#menu.x-has-chap .x-m-chap{display:block}
@keyframes xUp{to{opacity:1;transform:none}}
@media (max-width:860px){
  #menu.x-menu{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}
  #menu .x-m-links{order:2}#menu .x-m-cards{order:3;align-self:start}#menu .x-m-foot{order:4}
  #menu .x-card.feat strong{margin-top:18px}
}
@media (prefers-reduced-motion:reduce){#menu.x-menu,#menu .x-card,#menu .x-m-links a{animation:none;opacity:1;transform:none;clip-path:none}}

/* ---------- cabecera propia (páginas nuevas) ---------- */
.x-top{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:calc(12px + env(safe-area-inset-top,0px)) clamp(14px,2.4vw,30px) 12px;transition:background .4s,backdrop-filter .4s}
.x-top.solid{background:rgba(6,26,19,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
[data-theme="light"] .x-top.solid{background:rgba(254,253,249,.8)}
.x-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--head,var(--x-cream));font:600 13px/1 var(--roman);letter-spacing:.12em;text-transform:uppercase}
.x-brand img{width:36px;height:auto}
.x-top-r{display:flex;align-items:center;gap:10px}
.x-lang{display:flex;border:1px solid var(--line);border-radius:99px;padding:3px}
.x-lang button{border:0;background:none;color:var(--ink-2);font:700 11px/1 var(--body);letter-spacing:.08em;padding:8px 10px;border-radius:99px;cursor:pointer}
.x-lang button[aria-pressed="true"]{background:var(--x-gold);color:#061A13}
.x-pill{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:12px;background:var(--x-gold);color:#061A13;text-decoration:none;font:700 13px/1 var(--body);letter-spacing:.02em}
.x-burger{width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--glass,rgba(10,36,27,.6));cursor:pointer;display:grid;place-content:center;gap:6px;color:var(--ink)}
.x-burger i{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--x-ease)}
.x-burger i+i{width:12px;margin-left:8px}
.x-burger:hover i+i{transform:translateX(-8px) scaleX(1.66)}
@media (max-width:600px){.x-brand span,.x-top .x-pill{display:none}}

/* ---------- final con marco (estilo «paddock») ---------- */
.x-fin{position:relative;z-index:6;background:var(--x-frame);padding:12px;color:var(--x-cream);isolation:isolate}
.x-fin-p{position:relative;min-height:calc(100svh - 24px);border-radius:var(--x-r);overflow:hidden;
  background:radial-gradient(80% 70% at 50% 62%,#14473A 0%,#0A2A1F 48%,#04140E 100%);display:flex;flex-direction:column}
.x-fin-topo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9}
.x-tab{position:absolute;z-index:6;background:var(--x-frame);color:#061A13;font:600 12.5px/1.2 var(--body)}
.x-tab::before,.x-tab::after{content:"";position:absolute;width:18px;height:18px;pointer-events:none}
.x-tab.b{bottom:0;border-radius:18px 18px 0 0;padding:12px 22px 0}
.x-tab.b::before{bottom:0;left:-18px;background:radial-gradient(circle at 0 0,transparent 17.5px,var(--x-frame) 18px)}
.x-tab.b::after{bottom:0;right:-18px;background:radial-gradient(circle at 100% 0,transparent 17.5px,var(--x-frame) 18px)}
.x-tab.t{top:0;left:50%;transform:translateX(-50%);border-radius:0 0 22px 22px;padding:4px 46px 10px}
.x-tab.t::before{top:0;left:-18px;background:radial-gradient(circle at 0 100%,transparent 17.5px,var(--x-frame) 18px)}
.x-tab.t::after{top:0;right:-18px;background:radial-gradient(circle at 100% 100%,transparent 17.5px,var(--x-frame) 18px)}
.x-tab.t img{display:block;width:44px;height:auto}
.x-tab.l{left:0;border-top-left-radius:0}.x-tab.l::before{display:none}
.x-tab.r{right:0;border-top-right-radius:0;display:flex;gap:18px}.x-tab.r::after{display:none}
.x-tab a{color:#061A13;text-decoration:none;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.x-tab a:hover{text-decoration:underline}
.x-fin-head{position:relative;z-index:4;text-align:center;padding:clamp(70px,11vh,120px) 16px 0}
.x-fin-t{margin:0;font:800 clamp(40px,7.4vw,118px)/.9 var(--body);letter-spacing:-.045em;text-transform:uppercase;color:var(--x-cream)}
.x-fin-t em{font-size:1.04em;text-transform:none;letter-spacing:-.02em}
.x-fin-sig{position:absolute;left:50%;top:clamp(34px,6vh,70px);width:clamp(200px,28vw,420px);height:auto;transform:translateX(-30%) rotate(-9deg);z-index:5;pointer-events:none;
  clip-path:inset(0 100% 0 0);transition:clip-path 1.8s cubic-bezier(.6,0,.2,1) .5s;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.x-fin.x-on .x-fin-sig{clip-path:inset(0 0 0 0)}
.x-fin-cols{position:relative;z-index:4;flex:1;display:grid;grid-template-columns:1fr minmax(260px,560px) 1fr;align-items:center;padding:0 clamp(16px,4vw,60px)}
.x-fin-col{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.x-fin-col small{font:700 10.5px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:rgba(247,241,230,.78);margin-bottom:12px}
.x-fin-col a{position:relative;overflow:hidden;display:block;color:var(--x-cream);text-decoration:none;font:800 clamp(20px,2.1vw,32px)/1.08 var(--body);letter-spacing:-.02em;text-transform:uppercase}
.x-fin-col a .s,.x-fin-col a .h{display:block;transition:transform .5s var(--x-ease)}
.x-fin-col a .h{position:absolute;left:0;right:0;top:0;transform:translateY(100%);font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;color:var(--x-gold)}
.x-fin-col a:hover .s,.x-fin-col a:focus-visible .s{transform:translateY(-100%)}
.x-fin-col a:hover .h,.x-fin-col a:focus-visible .h{transform:none}
.x-fin-col a.x-gold .s{color:var(--x-gold);margin-top:14px;font-size:.78em}
.x-fin-col a.x-gold .h{margin-top:14px;font-size:.78em}
.x-fin-av{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(620px,86vw);aspect-ratio:1/1;z-index:3}
.x-marq{position:absolute;left:0;right:0;bottom:clamp(64px,10vh,96px);z-index:2;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.x-marq-k{position:absolute;left:clamp(16px,4vw,60px);bottom:calc(clamp(64px,10vh,96px) + 74px);z-index:2;font:700 10.5px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:rgba(247,241,230,.78)}
.x-marq-tr{display:flex;align-items:center;gap:clamp(36px,5vw,76px);width:max-content;animation:xMarq 46s linear infinite;padding:10px 0}
.x-marq:hover .x-marq-tr{animation-play-state:paused}
@keyframes xMarq{to{transform:translateX(-50%)}}
.x-wm{white-space:nowrap;color:rgba(247,241,230,.86);transition:color .3s;font-size:clamp(20px,2vw,30px);line-height:1}
.x-wm:hover{color:var(--x-gold)}
.x-wm.r{font-family:var(--roman);font-weight:600;letter-spacing:.08em}
.x-wm.i{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(24px,2.4vw,36px)}
.x-wm.b{font-family:var(--body);font-weight:800;letter-spacing:-.03em}
.x-wm.l{font-family:var(--body);font-weight:300;letter-spacing:.3em;text-transform:uppercase;font-size:clamp(14px,1.3vw,19px)}
.x-fin-cta{position:absolute;left:50%;bottom:clamp(20px,3vh,32px);transform:translateX(-50%);z-index:7}
.x-cta{position:relative;display:inline-flex;align-items:center;gap:12px;padding:17px 26px;border-radius:14px;background:var(--x-gold);color:#061A13;
  text-decoration:none;font:800 clamp(14px,1.2vw,17px)/1 var(--body);letter-spacing:.02em;text-transform:uppercase;
  box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 18px 40px rgba(0,0,0,.35);transition:background .3s,box-shadow .3s;will-change:transform}
.x-cta::after{content:"";position:absolute;inset:-7px;border-radius:19px;border:1px solid rgba(212,175,55,.6);animation:xPulse 2.4s ease-out infinite;pointer-events:none}
.x-cta:hover{background:var(--x-gold2)}
.x-cta svg{width:18px;height:18px;transition:transform .4s var(--x-ease)}
.x-cta:hover svg{transform:rotate(-45deg)}
@keyframes xPulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.18,1.5)}}
.x-fin-base{display:flex;justify-content:space-between;padding:10px 4px 0;font:600 12px/1 var(--body);color:#061A13}
@media (max-width:860px){
  .x-fin-cols{grid-template-columns:1fr 1fr;align-items:start;padding-top:28px;gap:10px;flex:0}
  .x-fin-mid{display:none}
  .x-fin-p{min-height:auto;padding-bottom:min(92vw,520px)}
  .x-fin-av{width:min(520px,96vw)}
  .x-tab.b{font-size:11px;padding:10px 14px 0}.x-tab.r{gap:10px}
  .x-marq{bottom:120px}.x-marq-k{display:none}
  .x-fin-cta{bottom:54px}
}
@media (prefers-reduced-motion:reduce){.x-marq-tr{animation-duration:160s}.x-cta::after{animation:none}.x-fin-sig{transition:none;clip-path:none}}

/* ---------- avatar con revelado de oro (Sobre mí y final) ---------- */
.x-av{position:relative;width:100%;height:100%;perspective:900px;touch-action:pan-y}
.x-av canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform .5s var(--x-ease);transform-style:preserve-3d;cursor:crosshair}
.x-av img.x-av-fb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.x-av.ready img.x-av-fb{opacity:0}
.x-av-hint{position:absolute;left:50%;bottom:14%;transform:translateX(-50%);z-index:2;pointer-events:none;white-space:nowrap;
  font:700 10.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--x-gold);background:rgba(6,26,19,.6);padding:8px 12px;border-radius:99px;
  border:1px solid rgba(212,175,55,.35);transition:opacity .6s}
.x-av.touched .x-av-hint{opacity:0}

/* ---------- utilidades de página nueva ---------- */
body.x-page{background:var(--bg);color:var(--ink);font-family:var(--body);margin:0;overflow-x:hidden}
.x-wrap{width:min(1240px,100% - 32px);margin-inline:auto}
.x-kick{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.x-kick::before{content:"";width:28px;height:1px;background:currentColor}
.x-h1{font:800 clamp(46px,9vw,150px)/.86 var(--body);letter-spacing:-.05em;text-transform:uppercase;color:var(--head);margin:18px 0}
.x-h2{font:800 clamp(34px,5.4vw,84px)/.92 var(--body);letter-spacing:-.04em;text-transform:uppercase;color:var(--head);margin:14px 0 18px}
.x-h1 em,.x-h2 em{text-transform:none}
.x-lead{font:400 clamp(17px,1.5vw,21px)/1.55 var(--body);color:var(--ink-2);max-width:60ch}
.x-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:12px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font:700 14px/1 var(--body);background:transparent;cursor:pointer;transition:border-color .3s,background .3s}
.x-btn:hover{border-color:var(--gold)}
.x-btn.solid{background:var(--x-gold);color:#061A13;border-color:transparent}
.x-btn.solid:hover{background:var(--x-gold2)}
.x-note{font:500 12.5px/1.5 var(--body);color:var(--muted)}
.x-sec{padding:clamp(70px,12vh,140px) 0;position:relative}
.x-rv{opacity:0;transform:translateY(30px);transition:opacity .9s var(--x-ease),transform .9s var(--x-ease)}
.x-rv.x-on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.x-rv{opacity:1;transform:none;transition:none}}

/* ---------- Precios ---------- */
.xp-hero{padding:clamp(120px,20vh,190px) 0 30px;text-align:center}
.xp-hero .x-lead{margin:0 auto}
.xp-seg{display:inline-flex;position:relative;margin:28px auto 0;padding:5px;border-radius:99px;border:1px solid var(--line);background:var(--card)}
.xp-seg button{position:relative;z-index:1;border:0;background:none;color:var(--ink-2);font:700 14px/1 var(--body);padding:12px 20px;border-radius:99px;cursor:pointer;transition:color .3s}
.xp-seg button[aria-pressed="true"]{color:#061A13}
.xp-seg i{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;border-radius:99px;background:var(--x-gold);transition:transform .5s var(--x-ease),width .5s var(--x-ease)}
.xp-opts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px;margin:22px 0 0}
.xp-sw{display:inline-flex;align-items:center;gap:10px;font:600 14px/1.2 var(--body);color:var(--ink);cursor:pointer;user-select:none}
.xp-sw input{position:absolute;opacity:0;pointer-events:none}
.xp-sw b{width:44px;height:26px;border-radius:99px;background:var(--line);position:relative;transition:background .3s;flex:none}
.xp-sw b::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--x-cream);transition:transform .4s var(--x-ease);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.xp-sw input:checked+b{background:var(--x-gold)}
.xp-sw input:checked+b::after{transform:translateX(18px)}
.xp-sw input:focus-visible+b{outline:2px solid var(--x-gold);outline-offset:3px}
.xp-sw small{color:var(--gold);font-weight:700}
.xp-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:44px 0 10px;align-items:stretch}
.xp-card{--mx:50%;--my:0%;position:relative;display:flex;flex-direction:column;padding:26px 22px 22px;border-radius:22px;border:1px solid var(--line);
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(212,175,55,.12),transparent 46%),var(--card);transition:transform .5s var(--x-ease),border-color .3s,box-shadow .5s;overflow:hidden}
.xp-card:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.55);box-shadow:0 28px 60px rgba(0,0,0,.25)}
.xp-card.rec{border-color:var(--x-gold);background:radial-gradient(420px circle at var(--mx) var(--my),rgba(212,175,55,.2),transparent 50%),linear-gradient(180deg,rgba(212,175,55,.1),transparent 45%),var(--card)}
.xp-card.hl{box-shadow:0 0 0 2px var(--x-gold),0 30px 70px rgba(212,175,55,.18)}
.xp-badge{position:static;display:inline-block;align-self:flex-start;margin:-8px 0 12px;font:800 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;background:var(--x-gold);color:#061A13;padding:7px 10px;border-radius:99px}
.xp-card h3{font:800 22px/1.1 var(--body);letter-spacing:-.02em;margin:0 0 6px;color:var(--head)}
.xp-best{font:500 13.5px/1.45 var(--body);color:var(--ink-2);margin:0 0 18px;min-height:2.9em}
.xp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:0 0 6px}
.xp-price b{font:800 clamp(36px,3.6vw,50px)/1 var(--body);letter-spacing:-.04em;color:var(--head);font-variant-numeric:tabular-nums}
.xp-price s{font:600 16px/1 var(--body);color:var(--muted)}
.xp-price span{font:600 13px/1.2 var(--body);color:var(--ink-2)}
.xp-sub{font:600 12.5px/1.4 var(--body);color:var(--gold);min-height:1.4em;margin:0 0 16px}
.xp-card ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px;font:500 14px/1.45 var(--body);color:var(--ink)}
.xp-card li{display:grid;grid-template-columns:18px 1fr;gap:10px}
.xp-card li::before{content:"";width:16px;height:16px;margin-top:2px;border-radius:50%;background:radial-gradient(circle,var(--x-gold) 0 3px,transparent 4px),rgba(212,175,55,.16)}
.xp-card .x-btn{margin-top:auto;justify-content:center}
.xp-care{display:none;margin:-8px 0 14px;font:700 12.5px/1.3 var(--body);color:var(--gold)}
.xp[data-care="1"] .xp-care{display:block}
.xp[data-care="1"] .xp-card[data-k="care"]{border-color:var(--x-gold)}
.xp-hire{display:none;max-width:760px;margin:40px auto 0;text-align:center;padding:34px;border-radius:22px;border:1px solid var(--x-gold);background:var(--card)}
.xp[data-aud="hire"] .xp-hire{display:block}
.xp[data-aud="hire"] .xp-biz{display:none}
/* calculadora */
.xc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-top:30px}
.xc-box{border-radius:24px;border:1px solid var(--line);background:var(--card);padding:clamp(20px,2.6vw,34px);position:relative;overflow:hidden}
.xc-steps{display:flex;gap:6px;margin:0 0 22px}
.xc-steps i{flex:1;height:4px;border-radius:4px;background:var(--line);overflow:hidden;position:relative}
.xc-steps i::after{content:"";position:absolute;inset:0;background:var(--x-gold);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--x-ease)}
.xc-steps i.on::after{transform:none}
.xc-q{display:none}
.xc-q.on{display:block;animation:xQ .5s var(--x-ease)}
@keyframes xQ{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.xc-q h3{font:700 clamp(20px,2vw,26px)/1.2 var(--body);margin:0 0 6px;color:var(--head)}
.xc-q p{margin:0 0 18px;color:var(--ink-2);font:400 14.5px/1.5 var(--body)}
.xc-chips{display:flex;flex-wrap:wrap;gap:8px}
.xc-chips button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:99px;padding:11px 16px;font:600 14px/1 var(--body);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.xc-chips button[aria-pressed="true"]{background:var(--x-gold);border-color:var(--x-gold);color:#061A13}
.xc-val{display:block;font:800 clamp(40px,5vw,64px)/1 var(--body);letter-spacing:-.04em;color:var(--head);margin:6px 0 12px;font-variant-numeric:tabular-nums}
.xc input[type=range]{width:100%;accent-color:var(--x-gold);height:28px}
.xc-nav{display:flex;justify-content:space-between;margin-top:26px;gap:10px}
.xc-out h3{font:700 11px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.xc-tabs{display:flex;gap:6px;margin:0 0 18px}
.xc-tabs button{border:1px solid var(--line);background:none;color:var(--ink-2);border-radius:99px;padding:8px 13px;font:700 12px/1 var(--body);cursor:pointer}
.xc-tabs button[aria-selected="true"]{color:#061A13;background:var(--x-gold);border-color:var(--x-gold)}
.xc-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.xc-kpi{padding:16px;border-radius:16px;background:rgba(var(--ink-rgb),.04);border:1px solid var(--line)}
.xc-kpi b{display:block;font:800 clamp(26px,2.8vw,38px)/1 var(--body);letter-spacing:-.03em;color:var(--head);font-variant-numeric:tabular-nums}
.xc-kpi span{display:block;margin-top:6px;font:500 12.5px/1.35 var(--body);color:var(--ink-2)}
.xc-kpi.big{grid-column:1/-1;background:linear-gradient(135deg,rgba(212,175,55,.22),rgba(212,175,55,.04));border-color:rgba(212,175,55,.5)}
.xc-bars{display:grid;gap:10px;margin:18px 0 6px}
.xc-bar{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;font:600 12.5px/1.2 var(--body);color:var(--ink-2)}
.xc-bar i{height:12px;border-radius:12px;background:var(--line);position:relative;overflow:hidden}
.xc-bar i u{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--v,0));background:linear-gradient(90deg,#8A6A12,var(--x-gold),var(--x-gold2));transition:transform .8s var(--x-ease)}
.xc-bar i u.alt{background:linear-gradient(90deg,#3F6B4E,#A9C58A)}
.xc-rec{margin-top:16px;padding:16px;border-radius:16px;border:1px dashed rgba(212,175,55,.6);font:500 14px/1.5 var(--body)}
.xc-rec a{color:var(--gold);font-weight:700}
.xc-brk{display:none;font:500 13.5px/1.7 var(--body);color:var(--ink-2)}
.xc-brk code{font-family:var(--body);font-weight:700;color:var(--head)}
.xc-out[data-tab="brk"] .xc-brk{display:block}
.xc-out[data-tab="brk"] .xc-sum{display:none}
/* comparación y FAQ */
.xt-wrap{overflow-x:auto;margin-top:26px;border-radius:20px;border:1px solid var(--line)}
.xt{width:100%;min-width:760px;border-collapse:collapse;font:500 14px/1.4 var(--body)}
.xt th,.xt td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.xt thead th{position:sticky;top:0;background:var(--bg-2);font:800 13px/1.2 var(--body);text-transform:uppercase;letter-spacing:.06em;color:var(--head);z-index:1}
.xt tbody th{font-weight:600;color:var(--ink)}
.xt .grp th{background:rgba(212,175,55,.08);font:700 11px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.xt td.y::before{content:"✓ ";color:var(--gold);font-weight:800}
.xt td.n{color:var(--muted)}
.xt .rec{background:rgba(212,175,55,.06)}
.xf{max-width:860px;margin:26px auto 0}
.xf details{border-bottom:1px solid var(--line)}
.xf summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:20px 2px;font:700 clamp(16px,1.4vw,19px)/1.35 var(--body);color:var(--head)}
.xf summary::-webkit-details-marker{display:none}
.xf summary::after{content:"+";font-size:26px;line-height:1;color:var(--gold);transition:transform .4s var(--x-ease)}
.xf details[open] summary::after{transform:rotate(45deg)}
.xf details p{margin:0 0 20px;color:var(--ink-2);font:400 15.5px/1.6 var(--body);max-width:70ch}
@media (max-width:1080px){.xp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.xc{grid-template-columns:1fr}}
@media (max-width:600px){.xp-cards{grid-template-columns:1fr}.xc-bar{grid-template-columns:110px 1fr auto}.xp-seg button{padding:11px 14px;font-size:13px}}

/* ---------- Sobre mí ---------- */
.xa-hero{position:relative;min-height:100svh;display:grid;grid-template-columns:1fr minmax(300px,560px) 1fr;align-items:end;overflow:hidden;
  background:radial-gradient(70% 60% at 50% 70%,rgba(var(--forest-rgb),.55),transparent 70%),var(--bg)}
.xa-hero .xa-av{grid-column:2;grid-row:1;align-self:end;width:100%;aspect-ratio:1/1;position:relative;z-index:2}
.xa-hero .xa-t{grid-column:1/-1;grid-row:1;align-self:center;text-align:center;z-index:1;padding:110px 16px 0;pointer-events:none}
.xa-hero .xa-t .x-h1{margin:0}
.xa-hero .xa-t .x-h1 .l2{display:block;color:var(--gold)}
.xa-hero .xa-side{position:absolute;z-index:3;bottom:clamp(26px,6vh,60px);max-width:300px;font:500 14.5px/1.55 var(--body);color:var(--ink-2)}
.xa-hero .xa-side.l{left:clamp(16px,4vw,60px)}
.xa-hero .xa-side.r{right:clamp(16px,4vw,60px);text-align:right}
.xa-hero .xa-side img{width:220px;height:auto;display:block;margin:0 0 10px}
.xa-hero .xa-side.r img{margin-left:auto}
.xa-scroll{display:inline-flex;align-items:center;gap:10px;margin-top:10px;font:700 11px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.xa-scroll i{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);animation:xDrip 1.8s ease-in-out infinite}
@keyframes xDrip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.xa-quote{text-align:center}
.xa-quote blockquote{margin:0 auto;max-width:18ch;font:500 clamp(34px,5.6vw,86px)/1.02 var(--display);font-style:italic;color:var(--head)}
.xa-quote blockquote b{font-style:normal;color:var(--gold);font-weight:600}
.xa-quote cite{display:block;margin-top:22px;font:700 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-style:normal}
/* capítulos horizontales */
.xh{position:relative;height:calc(var(--n,5) * 100svh)}
.xh-pin{position:sticky;top:0;height:100svh;overflow:hidden}
.xh-tr{display:flex;height:100%;width:calc(var(--n,5) * 100vw);will-change:transform}
.xh-p{position:relative;width:100vw;height:100%;flex:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(18px,4vw,64px);padding:90px clamp(16px,5vw,80px) 70px;box-sizing:border-box}
.xh-img{position:relative;height:min(72svh,720px);border-radius:28px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.35)}
.xh-img img{position:absolute;inset:-6% -12%;width:124%;height:112%;object-fit:cover;transform:translateX(calc(var(--px,0) * -8%)) scale(1.04)}
.xh-img .ai{position:absolute;left:14px;bottom:14px;font:700 10px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#F7F1E6;background:rgba(6,26,19,.6);padding:7px 10px;border-radius:99px}
.xh-n{font:800 clamp(90px,14vw,230px)/.8 var(--body);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(212,175,55,.55);margin:0}
.xh-txt h3{font:800 clamp(40px,6vw,96px)/.9 var(--body);letter-spacing:-.045em;text-transform:uppercase;margin:6px 0 10px;color:var(--head)}
.xh-txt .yr{font:700 12px/1.3 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 18px}
.xh-txt p{font:400 clamp(16px,1.4vw,20px)/1.55 var(--body);color:var(--ink-2);max-width:42ch;margin:0}
.xh-txt p.k{font:500 clamp(22px,2.2vw,32px)/1.2 var(--display);font-style:italic;color:var(--head);margin:0 0 14px}
.xh-bar{position:absolute;left:clamp(16px,5vw,80px);right:clamp(16px,5vw,80px);bottom:28px;display:flex;gap:8px;z-index:3}
.xh-bar button{flex:1;border:0;background:none;padding:10px 0 0;cursor:pointer;text-align:left;color:var(--muted);font:700 11px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;border-top:2px solid var(--line);transition:color .3s,border-color .3s}
.xh-bar button.on{color:var(--gold);border-top-color:var(--gold)}
@media (max-width:860px){
  .xh{height:auto}.xh-pin{position:relative;height:auto}.xh-tr{flex-direction:column;width:100%;transform:none!important}
  .xh-p{width:100%;grid-template-columns:1fr;padding:50px 16px}.xh-img{height:56svh}.xh-bar{display:none}
  .xa-hero{grid-template-columns:1fr;align-items:start}.xa-hero .xa-t{padding-top:100px}.xa-hero .xa-av{grid-column:1;grid-row:2;width:min(520px,100%);justify-self:center}
  .xa-hero .xa-side{position:static;max-width:none;padding:0 16px 22px;text-align:left!important}.xa-hero .xa-side.r img{margin-left:0}
}
.xa-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.xa-num{padding:26px 20px;border-radius:22px;border:1px solid var(--line);background:var(--card)}
.xa-num b{display:block;font:800 clamp(44px,5vw,76px)/.9 var(--body);letter-spacing:-.05em;color:var(--head);font-variant-numeric:tabular-nums}
.xa-num span{display:block;margin-top:10px;font:500 14px/1.45 var(--body);color:var(--ink-2)}
.xa-pill{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.xa-pill article{padding:30px 24px;border-radius:24px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden;transition:transform .5s var(--x-ease),border-color .3s}
.xa-pill article:hover{transform:translateY(-5px);border-color:rgba(212,175,55,.55)}
.xa-pill b{font:500 clamp(32px,3.2vw,46px)/1 var(--display);font-style:italic;color:var(--gold);display:block;margin-bottom:12px}
.xa-pill p{margin:0;font:400 15.5px/1.55 var(--body);color:var(--ink-2)}
.xa-learn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.xa-learn div{padding:22px;border-radius:20px;border:1px solid var(--line)}
.xa-learn small{display:block;font:700 10.5px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.xa-learn b{display:block;font:700 18px/1.3 var(--body);color:var(--head)}
.xa-learn span{display:block;margin-top:6px;font:500 14px/1.45 var(--body);color:var(--ink-2)}
@media (max-width:860px){.xa-nums{grid-template-columns:1fr 1fr}.xa-pill,.xa-learn{grid-template-columns:1fr}}

/* el botón de menú también en escritorio (antes solo en móvil) */
html .top .menubtn{display:block;position:relative}
#menu .x-m-links{display:flex;gap:0}
#menu .x-m-chap nav a{display:flex;font-stretch:normal;text-transform:none;letter-spacing:0}

.xp-card[data-k="care"] .xp-price b{white-space:nowrap;font-size:clamp(28px,2.5vw,40px)}
.x-wm.k{font:700 11px/1 var(--body);letter-spacing:.22em;text-transform:uppercase;color:var(--x-gold)}
.xa-hero .xa-t{align-self:start;padding-top:clamp(96px,15vh,150px)}
.xa-hero .xa-av{width:min(500px,100%);justify-self:center}
@media (max-width:860px){.x-fin-sig{top:64px;width:190px}}

/* ---------- intro «Entrar a la experiencia» ---------- */
html.x-in-on{overflow:hidden}
.x-in{--h:0vmax;position:fixed;inset:0;z-index:400;display:grid;place-items:center;color:var(--x-cream);text-align:center;
  background:radial-gradient(60% 55% at 50% 50%,#14473A 0%,#08241A 55%,#020B07 100%);
  -webkit-mask:radial-gradient(circle at 50% 50%,transparent var(--h),#000 calc(var(--h) + 2px));mask:radial-gradient(circle at 50% 50%,transparent var(--h),#000 calc(var(--h) + 2px))}
.x-in-cv{position:absolute;inset:0;width:100%;height:100%}
.x-in-c{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:20px;transition:transform 1s var(--x-ease),opacity .6s,filter .8s}
.x-in.out .x-in-c{transform:scale(1.18);opacity:0;filter:blur(10px)}
.x-in-seal{width:clamp(92px,12vw,140px);height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.5));animation:xSeal 6s ease-in-out infinite}
@keyframes xSeal{50%{transform:translateY(-8px) rotate(-3deg) scale(1.03)}}
.x-in-k{margin:0;font:700 11px/1 var(--body);letter-spacing:.32em;text-transform:uppercase;color:var(--x-gold)}
.x-in-t{margin:6px 0 10px;font:800 clamp(40px,8.6vw,138px)/.86 var(--body);letter-spacing:-.05em;text-transform:uppercase}
.x-in-t span{display:inline-block;animation:xWt 3.6s ease-in-out infinite}
.x-in-t span+em+span{animation-delay:-1.8s}
.x-in-t em{font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;color:var(--x-gold);letter-spacing:-.02em}
@keyframes xWt{0%,100%{font-weight:800;letter-spacing:-.05em}50%{font-weight:300;letter-spacing:.01em}}
.x-in-go{position:relative;display:inline-flex;align-items:center;gap:14px;padding:12px 26px 12px 12px;border-radius:99px;border:1px solid rgba(212,175,55,.55);
  background:rgba(212,175,55,.08);color:var(--x-cream);font:800 clamp(14px,1.2vw,17px)/1 var(--body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .4s,border-color .4s,color .4s,box-shadow .4s}
.x-in-go svg{width:44px;height:44px;transform:rotate(-90deg)}
.x-in-go circle{fill:none;stroke:rgba(212,175,55,.25);stroke-width:2}
.x-in-go circle.p{stroke:var(--x-gold);stroke-dasharray:125.7;stroke-dashoffset:125.7;transition:stroke-dashoffset .3s linear}
.x-in-go.ok{background:var(--x-gold);color:#061A13;border-color:var(--x-gold);box-shadow:0 0 0 0 rgba(212,175,55,.6);animation:xGo 2.2s ease-out infinite}
.x-in-go.ok circle{stroke:#061A13}
@keyframes xGo{0%{box-shadow:0 0 0 0 rgba(212,175,55,.55)}100%{box-shadow:0 0 0 26px rgba(212,175,55,0)}}
.x-in-s{margin:6px 0 0;font:500 12.5px/1.4 var(--body);color:rgba(247,241,230,.6)}
.x-in-skip{background:none;border:0;color:var(--x-gold);font:inherit;text-decoration:underline;cursor:pointer;padding:4px}
@media (prefers-reduced-motion:reduce){.x-in-seal,.x-in-t span,.x-in-go.ok{animation:none}}

/* ---------- cursor propio ---------- */
html.x-cur-on,html.x-cur-on *{cursor:none!important}
.x-cd,.x-cr{position:fixed;left:0;top:0;z-index:1000;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .3s}
html.x-cur-v .x-cd,html.x-cur-v .x-cr{opacity:1}
.x-cd{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--x-gold);box-shadow:0 0 14px rgba(212,175,55,.95)}
.x-cr{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(212,175,55,.75);display:grid;place-items:center;
  transition:opacity .3s,width .4s var(--x-ease),height .4s var(--x-ease),margin .4s var(--x-ease),background .3s,border-color .3s}
.x-cr.h{width:78px;height:78px;margin:-39px 0 0 -39px;background:rgba(212,175,55,.14);border-color:var(--x-gold)}
.x-cr.p{width:30px;height:30px;margin:-15px 0 0 -15px}
.x-cr b{font:800 10px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--x-gold)}

/* ---------- imagen que sigue al cursor en el menú ---------- */
#menu .x-m-prev{position:fixed;left:0;top:0;z-index:3;width:240px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;pointer-events:none;opacity:0;
  transition:opacity .35s;box-shadow:0 30px 60px rgba(0,0,0,.45);background:#0B3D2E}
#menu .x-m-prev.on{opacity:1}
#menu .x-m-prev img{width:100%;height:100%;object-fit:cover;display:block}
#menu .x-m-prev.sw img{animation:xSw .5s var(--x-ease)}
@keyframes xSw{from{transform:scale(1.25);filter:blur(6px)}to{transform:none;filter:none}}

/* ---------- transición de partículas entre páginas ---------- */
.x-pt{position:fixed;inset:0;z-index:500;pointer-events:none;background:radial-gradient(circle at var(--x) var(--y),#14473A,#061A13 65%);
  clip-path:circle(0 at var(--x) var(--y));animation:xPtOut .62s cubic-bezier(.7,0,.3,1) forwards}
@keyframes xPtOut{to{clip-path:circle(150% at var(--x) var(--y))}}
html.x-pt-in body::after{content:"";position:fixed;inset:0;z-index:500;pointer-events:none;background:radial-gradient(circle at 50% 50%,#14473A,#061A13 65%);
  clip-path:circle(150% at 50% 50%);animation:xPtIn 1.1s .08s cubic-bezier(.7,0,.3,1) forwards}
@keyframes xPtIn{to{clip-path:circle(0 at 50% 50%)}}
@media (prefers-reduced-motion:reduce){.x-pt,html.x-pt-in body::after{animation:none;display:none}}
html.x-in-on #boot{opacity:0!important;visibility:hidden!important}

/* ---------- final v2 (8-nov 05:00) ---------- */
footer.x-old-foot{display:none}
.x-fin-k{margin:0 0 10px;font:700 11px/1 var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--x-gold)}
.x-fin-call{position:absolute;left:50%;bottom:clamp(150px,25vh,260px);transform:translateX(-50%);z-index:2;width:min(1180px,94%);display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:clamp(18px,2.2vw,28px) clamp(26px,4vw,58px);border-radius:999px;background:linear-gradient(90deg,#B8962E,var(--x-gold) 22%,#F3DD8A 50%,var(--x-gold) 78%,#B8962E);color:#061A13;text-decoration:none;
  font:800 clamp(22px,3.3vw,52px)/1 var(--body);letter-spacing:-.035em;text-transform:uppercase;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .5s var(--x-ease),box-shadow .5s;overflow:hidden}
.x-fin-call:hover{transform:translateX(-50%) scale(1.015);box-shadow:0 0 0 9px rgba(212,175,55,.22),0 30px 80px rgba(0,0,0,.5)}
.x-fin-call::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.65) 50%,transparent 62%);background-size:260% 100%;animation:xSheen 3.4s ease-in-out infinite;pointer-events:none}
.x-fin-call svg{width:.78em;height:.78em;vertical-align:-.04em;margin-left:.18em}
@keyframes xSheen{from{background-position:130% 0}to{background-position:-130% 0}}
.x-fin-av{z-index:4}
.x-marq{bottom:clamp(66px,9vh,90px)}
.x-fin-cta{z-index:7}
.x-fin-cta .x-cta{background:rgba(6,26,19,.82);color:var(--x-cream);border:1px solid rgba(212,175,55,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.x-fin-cta .x-cta:hover{background:rgba(6,26,19,.95);color:var(--x-gold)}
.x-tab.x-lock{display:flex;align-items:center;gap:12px;padding:10px 22px 6px 18px}
.x-lock-m{width:34px;height:auto}
.x-lock span{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.x-lock-s{width:clamp(130px,12vw,176px);height:auto;filter:brightness(.38) sepia(1) saturate(2) hue-rotate(80deg)}
.x-lock small{font:700 9.5px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:#061A13}
.x-tab.r{align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:60%;padding:12px 22px 10px}
.x-copy{font-weight:600;opacity:.85}
.x-fin-form{margin:12px 0 0;border-radius:var(--x-r);background:var(--bg);padding:clamp(20px,4vw,56px);color:var(--ink)}
.x-fin-form .in{max-width:900px;margin:0 auto}
@media (max-width:860px){
  .x-fin-call{position:relative;left:auto;bottom:auto;transform:none;margin:14px auto 0;width:calc(100% - 24px);font-size:clamp(18px,5.4vw,26px);padding:16px 22px}
  .x-fin-call:hover{transform:none}
  .x-tab.x-lock{padding:8px 12px 4px}.x-lock-s{width:110px}.x-tab.r{max-width:54%;font-size:10.5px;gap:8px}.x-copy{display:none}
}

/* ---------- final v3 (8-nov 06:00): minimalista, armónico, logos, un solo click-to-call ---------- */
.x-fin-p{display:flex;flex-direction:column;min-height:calc(100svh - 24px)}
.x-fin-firma{position:absolute;z-index:6;top:clamp(18px,3vh,30px);left:clamp(20px,3vw,40px);width:clamp(150px,13vw,220px);height:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.x-fin-soc{position:absolute;z-index:6;top:clamp(18px,3vh,30px);right:clamp(20px,3vw,40px);display:flex;gap:10px}
.x-fin-soc a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:var(--x-cream);border:1px solid rgba(247,241,230,.22);transition:background .3s,color .3s,border-color .3s,transform .4s var(--x-ease)}
.x-fin-soc a:hover{background:var(--x-gold);color:#061A13;border-color:var(--x-gold);transform:translateY(-2px)}
.x-fin-soc svg{width:18px;height:18px}
.x-fin-logos{position:relative;z-index:5;display:flex;align-items:center;gap:22px;margin:clamp(96px,14vh,130px) clamp(20px,4vw,64px) 0}
.x-fin-logos>span{flex:none;font:700 10px/1.3 var(--body);letter-spacing:.22em;text-transform:uppercase;color:rgba(247,241,230,.78);max-width:12ch}
.x-fin-logos .x-marq{position:relative;left:auto;right:auto;bottom:auto;flex:1;min-width:0}
.x-fin-logos .x-marq-tr{gap:clamp(46px,5vw,84px);animation-duration:60s;padding:6px 0}
.x-fin-logos img{height:34px;width:auto;max-width:150px;object-fit:contain;opacity:.72;transition:opacity .3s,transform .4s var(--x-ease);flex:none}
.x-fin-logos img.f{filter:brightness(0) invert(1)}
.x-fin-logos img:hover{opacity:1;transform:scale(1.06)}
.x-fin-stage{position:relative;flex:1;min-height:clamp(380px,58vh,640px);margin-top:clamp(10px,2vh,24px)}
.x-fin-glow{position:absolute;left:50%;bottom:-10%;width:min(760px,90%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(212,175,55,.22),rgba(212,175,55,.06) 60%,transparent);animation:xGlow 6s ease-in-out infinite;pointer-events:none}
@keyframes xGlow{50%{transform:translateX(-50%) scale(1.07);opacity:.75}}
.x-fin-stage .x-fin-call{position:absolute;top:40%;bottom:auto;left:50%;transform:translate(-50%,-50%);width:min(1120px,92%);font:800 clamp(22px,2.5vw,38px)/1 var(--body);padding:clamp(20px,2.4vw,30px) clamp(30px,4vw,60px);z-index:2}
.x-fin-stage .x-fin-call:hover{transform:translate(-50%,-50%) scale(1.015)}
.x-fin-call .l{font-family:var(--display);font-style:italic;font-weight:600;text-transform:none;letter-spacing:-.01em;font-size:1.25em}
.x-fin-stage .x-fin-av{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:100%;width:auto;aspect-ratio:1/1;max-width:min(500px,40vw);z-index:4}
.x-fin-write{position:absolute;z-index:6;right:calc(50% - min(560px,46%));top:calc(40% + clamp(46px,5vw,64px));background:none;border:0;color:rgba(247,241,230,.8);font:600 14px/1 var(--body);letter-spacing:.04em;cursor:pointer;padding:8px 4px;border-bottom:1px solid rgba(212,175,55,.5)}
.x-fin-write:hover{color:var(--x-gold)}
.x-fin .x-tab.b{padding:12px 22px 0;font-size:12px}
.x-fin .x-tab.r{gap:18px;max-width:none}
@media (max-width:860px){
  .x-fin-firma{width:150px}.x-fin-soc a{width:38px;height:38px}
  .x-fin-logos{flex-direction:column;align-items:stretch;gap:8px;margin-top:92px}.x-fin-logos>span{max-width:none;text-align:center}
  .x-fin-stage{min-height:auto;display:flex;flex-direction:column;align-items:center;padding-bottom:48px}
  .x-fin-stage .x-fin-call{position:relative;top:auto;left:auto;transform:none;width:calc(100% - 28px);margin:18px auto 14px;font-size:20px;padding:18px 22px}
  .x-fin-stage .x-fin-call:hover{transform:none}
  .x-fin-stage .x-fin-av{position:relative;left:auto;transform:none;width:min(420px,92vw);height:auto;max-width:none}
  .x-fin-write{position:static;margin:0 0 6px}
}

/* ---------- portafolio v2 (kjv-obra.js, 8-nov) ---------- */
#work.xo-on{height:auto!important;padding:0!important;max-width:none}
#work.xo-on .hs-pin,#work.xo-on>.ch-kick{display:none!important}
.xo{position:relative;height:calc(var(--n) * 100svh)}
.xo-pin{position:sticky;top:0;height:100svh;overflow:hidden}
.xo-cv{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.xo-s{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,4vw,72px);padding:clamp(84px,12vh,120px) clamp(20px,6vw,110px) clamp(76px,11vh,104px);opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.xo-s.on,.xo-s.away{opacity:1;visibility:visible;transition:opacity .45s}
.xo-s.away{opacity:0}
.xo-s[data-i="0"]{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)}
.xo-s[data-side="r"]{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.xo-s[data-side="r"] .xo-txt{order:2;text-align:right}
.xo-s[data-side="r"] .xo-demo{order:1}
.xo-s[data-side="r"] .xo-w{margin-left:auto}
.xo-in{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.xo-big{font:800 clamp(48px,8.4vw,140px)/.88 var(--body);letter-spacing:-.05em;text-transform:uppercase;color:var(--head);margin:14px 0 18px;text-shadow:0 0 60px rgba(212,175,55,.18)}
.xo-big em{font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;color:var(--gold);letter-spacing:-.02em}
.xo-lead{font:400 clamp(16px,1.4vw,20px)/1.55 var(--body);color:var(--ink-2);max-width:52ch;margin:0}
.xo-hint{font:700 11px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:26px;animation:xBob 2s ease-in-out infinite}
@keyframes xBob{50%{transform:translateY(6px)}}
.xo-k{font:700 11px/1.4 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.xo-logo{display:inline-block;height:46px;width:auto;max-width:190px;object-fit:contain;margin:0 0 16px;border-radius:8px}
.xo-t{font:800 clamp(42px,5.6vw,100px)/.92 var(--body);letter-spacing:-.045em;text-transform:uppercase;margin:0 0 12px;color:var(--head);overflow-wrap:anywhere}
.xo-pl{font:600 15px/1.4 var(--body);color:var(--gold);margin:0 0 12px}
.xo-w{font:400 clamp(16px,1.25vw,19px)/1.55 var(--body);color:var(--ink-2);max-width:44ch;margin:0 0 12px}
.xo-tag{font:italic 500 clamp(18px,1.5vw,22px)/1.3 var(--display);color:var(--head);margin:0}
.xo-demo{display:flex;flex-direction:column;gap:14px;min-width:0}
.xo-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-radius:14px 14px 0 0;background:rgba(var(--ink-rgb),.07);border:1px solid var(--line);border-bottom:0;font:600 12px/1 var(--body);color:var(--ink-2)}
.xo-bar i{width:9px;height:9px;border-radius:50%;background:rgba(var(--ink-rgb),.25)}
.xo-bar span{margin-left:8px;flex:1}
.xo-bar b{font:800 9.5px/1 var(--body);letter-spacing:.16em;color:#061A13;background:var(--x-gold);padding:5px 8px;border-radius:99px;display:flex;align-items:center;gap:6px}
.xo-bar b::before{content:"";width:6px;height:6px;border-radius:50%;background:#7A0E0B;animation:xBlink 1.4s infinite}
@keyframes xBlink{50%{opacity:.2}}
.xo-view{position:relative;height:min(54svh,560px);overflow:hidden;border:1px solid var(--line);border-radius:0 0 14px 14px;margin-top:-14px;box-shadow:0 40px 90px rgba(0,0,0,.35);background:#0b0b0b}
.xo-shot{display:block;width:100%;height:auto;animation:xoScroll var(--t,18s) ease-in-out infinite alternate;will-change:transform}
.xo-view.hand .xo-shot{animation:none;transition:transform .25s ease-out}
@keyframes xoScroll{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(var(--d,0px))}}
.xo-cta{display:flex;gap:10px;flex-wrap:wrap}
.xo-prog{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);z-index:4;display:flex;gap:4px}
.xo-prog button{background:none;border:0;padding:6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);font:700 9.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase}
.xo-prog i{width:36px;height:3px;border-radius:3px;background:var(--line);transition:background .3s}
.xo-prog button.on{color:var(--gold)}.xo-prog button.on i{background:var(--x-gold)}
.xo-prog span{max-width:11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transition:opacity .3s}
.xo-prog button.on span,.xo-prog:hover span{opacity:1}
.xo-s.on .xo-txt>*{animation:xoUp .8s var(--x-ease) both}
.xo-s.on .xo-txt>*:nth-child(2){animation-delay:.06s}.xo-s.on .xo-txt>*:nth-child(3){animation-delay:.12s}.xo-s.on .xo-txt>*:nth-child(4){animation-delay:.18s}.xo-s.on .xo-txt>*:nth-child(5){animation-delay:.24s}.xo-s.on .xo-txt>*:nth-child(6){animation-delay:.3s}
.xo-s.on .xo-demo{animation:xoIn .9s var(--x-ease) both .08s}
@keyframes xoUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes xoIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
html.xo-list .xo{height:auto}html.xo-list .xo-pin{position:relative;height:auto;overflow:visible}
html.xo-list .xo-s{position:relative;inset:auto;opacity:1;visibility:visible;display:flex;flex-direction:column;align-items:stretch;padding:56px 16px}
html.xo-list .xo-s[data-side="r"] .xo-txt{text-align:left;order:0}html.xo-list .xo-s[data-side="r"] .xo-w{margin-left:0}
html.xo-list .xo-cv,html.xo-list .xo-prog,html.xo-list .xo-hint{display:none}
html.xo-list .xo-view{height:60svh}
@media (prefers-reduced-motion:reduce){.xo-shot{animation:none}.xo-s.on .xo-txt>*,.xo-s.on .xo-demo{animation:none}}
/* el final se ve limpio: la cabecera fija se esconde mientras está en pantalla */
.x-top,header.top{transition:transform .5s var(--x-ease),background .4s}
html.x-fin-on .x-top,html.x-fin-on header.top{transform:translateY(-120%)}
.x-fin-logos>span{max-width:16ch}

/* ---------- logos con nombre y frase del final (8-nov 06:30) ---------- */
.x-lg{display:inline-flex;align-items:center;gap:10px;flex:none;opacity:.78;transition:opacity .3s,transform .4s var(--x-ease)}
.x-lg:hover{opacity:1;transform:translateY(-2px)}
.x-lg img{height:34px;width:auto;max-width:170px;object-fit:contain}
.x-fin-logos .x-lg img{opacity:1}
.x-lg.big img{height:50px}
.x-lg b{font:600 15px/1.1 var(--body);letter-spacing:-.01em;color:var(--x-cream);white-space:nowrap}
.x-lg.below{flex-direction:column;gap:4px}.x-lg.below img{height:30px}.x-lg.below b{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.x-lg.side img{height:28px}
.x-fin-logos .x-marq-tr{align-items:center}
.x-fin-stage .x-fin-t{position:absolute;left:0;right:0;top:0;z-index:3;margin:0;text-align:center;font:800 clamp(30px,4.4vw,72px)/.95 var(--body);letter-spacing:-.045em;text-transform:uppercase;color:var(--x-cream);padding:0 16px}
.x-fin-stage .x-fin-t em{font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;color:var(--x-gold)}
.x-fin-stage .x-fin-call{top:64%}
.x-fin-stage .x-fin-av{height:78%;max-width:min(470px,36vw)}
.x-fin-write{top:calc(64% + clamp(46px,5vw,64px))}
@media (max-width:860px){.x-fin-stage .x-fin-t{position:relative;font-size:clamp(26px,8vw,40px);margin:8px 0 0}.x-fin-stage .x-fin-av{height:auto}.x-lg img{height:28px}.x-lg.big img{height:40px}}
.xo-s .xo-txt{text-align:left}.xo-s[data-side="r"] .xo-txt{text-align:right}

/* ---------- Booking Setup en vivo (kjv-demo.js, 8-nov, W7) ---------- */
.xb{margin:clamp(40px,7vh,80px) auto 0;max-width:1180px;text-align:left}
.xb-head{text-align:center;max-width:760px;margin:0 auto 30px}
.xb-t{font:800 clamp(30px,4vw,58px)/.95 var(--body);letter-spacing:-.04em;text-transform:uppercase;color:var(--head);margin:12px 0}
.xb-t em{font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;color:var(--gold)}
.xb-note{font:500 13.5px/1.5 var(--body);color:var(--muted);margin:0}
.xb-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(24px,5vw,80px);align-items:center;perspective:1200px}
.xb-phone{position:relative;justify-self:center;width:min(340px,86vw);aspect-ratio:9/18.5;border-radius:44px;padding:14px;background:linear-gradient(160deg,#1A1A1A,#050505);box-shadow:0 0 0 2px rgba(212,175,55,.45),0 50px 100px rgba(0,0,0,.45);transform:rotateY(8deg) rotateX(4deg);transition:transform .8s var(--x-ease)}
.xb-phone:hover{transform:none}
.xb-notch{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:96px;height:24px;border-radius:14px;background:#000;z-index:2}
.xb-app{position:relative;height:100%;border-radius:32px;overflow:hidden;background:linear-gradient(180deg,#F7F1E6,#EFE6D2);color:#1B2A24;padding:54px 18px 18px;font-family:var(--body)}
.xb-brand{margin:0 0 14px;font:600 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#0B3D2E}
.xb-step{position:absolute;inset:80px 18px 18px;display:flex;flex-direction:column;gap:9px;opacity:0;visibility:hidden;transform:translateX(30px);transition:opacity .45s,transform .55s var(--x-ease),visibility 0s .45s}
.xb-step.on{opacity:1;visibility:visible;transform:none;transition:opacity .45s,transform .55s var(--x-ease)}
.xb-q{font:700 17px/1.3 var(--body);margin:0 0 6px;color:#0B3D2E}
.xb-q small{display:block;font:700 10px/1.4 var(--body);letter-spacing:.12em;color:#7A5B0C;margin-top:4px}
.xb-o{text-align:left;border:1px solid rgba(11,61,46,.22);background:#fff;border-radius:14px;padding:12px 14px;font:600 13.5px/1.3 var(--body);color:#0B3D2E;cursor:pointer;transition:background .25s,border-color .25s,transform .25s}
.xb-o:hover{border-color:#0B3D2E;transform:translateX(3px)}
.xb-slots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.xb-err{margin:6px 0 0;padding:10px 12px;border-radius:12px;background:#FCEBEA;color:#7A0E0B;font:500 12.5px/1.45 var(--body)}
.xb-step label{display:flex;flex-direction:column;gap:4px;font:600 11px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#4A4A45}
.xb-step input[readonly]{border:1px solid rgba(11,61,46,.2);border-radius:10px;padding:10px;font:500 14px/1 var(--body);background:#fff;color:#1B2A24}
.xb-c{flex-direction:row!important;align-items:flex-start;gap:8px!important;text-transform:none!important;letter-spacing:0!important;font:500 12.5px/1.4 var(--body)!important}
.xb-go,.xb-again{margin-top:auto;border:0;border-radius:14px;padding:14px;background:#0B3D2E;color:#F7F1E6;font:700 14px/1 var(--body);cursor:pointer}
.xb-go:disabled{opacity:.4;cursor:not-allowed}
.xb-ok{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:10px 0 4px;background:#0B3D2E;color:#E6C766;font:800 30px/1 var(--body)}
.xb-sum{font:600 14px/1.4 var(--body);margin:0}
.xb-demo{font:700 10.5px/1.4 var(--body);letter-spacing:.08em;color:#7A5B0C;margin:0}
.xb-time{list-style:none;margin:0;padding:0 0 0 30px;position:relative;display:grid;gap:clamp(14px,2.4vh,24px)}
.xb-time::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--x-gold),rgba(212,175,55,.15))}
.xb-time li{position:relative;padding:16px 20px;border-radius:18px;border:1px solid var(--line);background:var(--card);opacity:.45;transform:translateX(18px) rotateY(-10deg);transform-origin:left center;transition:opacity .6s,transform .8s var(--x-ease),border-color .5s,box-shadow .6s}
.xb-time li::before{content:"";position:absolute;left:-27px;top:22px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid rgba(212,175,55,.5);transition:background .4s,box-shadow .4s}
.xb-time li.on{opacity:1;transform:none;border-color:rgba(212,175,55,.6);box-shadow:0 24px 60px rgba(0,0,0,.22)}
.xb-time li.on::before{background:var(--x-gold);box-shadow:0 0 0 6px rgba(212,175,55,.2)}
.xb-time b{display:block;font:800 clamp(18px,1.8vw,24px)/1.1 var(--body);letter-spacing:-.02em;text-transform:uppercase;color:var(--head)}
.xb-time span{display:block;margin-top:4px;font:500 14px/1.45 var(--body);color:var(--ink-2)}
@media (max-width:860px){.xb-grid{grid-template-columns:1fr}.xb-phone{transform:none}}
@media (prefers-reduced-motion:reduce){.xb-phone,.xb-time li,.xb-step{transition:none;transform:none}}

/* ---------- portafolio v2.1 inmersivo (8-nov 07:30) ---------- */
.xo-warp{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.xo-pin{background:radial-gradient(70% 60% at 50% 50%,rgba(var(--forest-rgb),.35),transparent 70%)}
.xo-s{z-index:1;perspective:1400px}
.xo-s[data-side="l"] .xo-demo{--fx:-24vw}.xo-s[data-side="r"] .xo-demo{--fx:24vw}
.xo-s.on .xo-demo{animation:xoFly 1.2s cubic-bezier(.16,1,.3,1) both}
@keyframes xoFly{from{opacity:0;transform:translate3d(var(--fx),0,-1500px) scale(.42);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.xo-s.away .xo-demo{animation:xoPast .75s cubic-bezier(.5,0,.75,0) both}
@keyframes xoPast{to{opacity:0;transform:translate3d(calc(var(--fx) * -1.3),0,700px) scale(1.55);filter:blur(8px)}}
.xo-s.on .xo-txt>.xo-t{animation:xoName 1s cubic-bezier(.16,1,.3,1) both .1s}
@keyframes xoName{from{opacity:0;letter-spacing:.2em;filter:blur(12px)}to{opacity:1;filter:none}}
.xo-logo{display:inline-flex;align-items:center;justify-content:center;height:64px;padding:11px 20px;border-radius:16px;background:rgba(6,26,19,.92);border:1px solid rgba(212,175,55,.45);box-shadow:0 14px 34px rgba(0,0,0,.28);margin:0 0 18px}
.xo-logo img{height:100%;width:auto;max-width:210px;object-fit:contain}
.xo-t{overflow-wrap:normal;word-break:normal;hyphens:none}
.xo-t.long{font-size:clamp(34px,3.8vw,70px)}
@media (prefers-reduced-motion:reduce){.xo-s.on .xo-demo,.xo-s.away .xo-demo,.xo-s.on .xo-txt>.xo-t{animation:none}}

/* ---------- intro de marca v2 (8-nov 07:30) ---------- */
.x-in.x-in2{background:none;-webkit-mask:none;mask:none}
.x-in2 .x-in-half{position:absolute;left:0;right:0;height:50%;overflow:hidden;transition:transform 1.15s cubic-bezier(.7,0,.2,1);z-index:0}
.x-in2 .x-in-half i{position:absolute;left:0;right:0;height:200%;background:#061A13 url(brand/kjv-marble.webp) center/cover no-repeat}
.x-in2 .x-in-half i::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 50%,rgba(6,26,19,.15),rgba(6,26,19,.72))}
.x-in2 .x-in-half.t{top:0}.x-in2 .x-in-half.t i{top:0}
.x-in2 .x-in-half.b{bottom:0}.x-in2 .x-in-half.b i{bottom:0}
.x-in2 .x-in-cv{z-index:1}
.x-in2 .x-in-c{z-index:2;gap:10px}
.x-in2.out .x-in-half.t{transform:translateY(-101%)}
.x-in2.out .x-in-half.b{transform:translateY(101%)}
.x-in2.out .x-in-c{transform:scale(1.12);opacity:0;filter:blur(8px);transition:transform .9s var(--x-ease),opacity .5s,filter .6s}
.x-in2.out .x-in-cv{opacity:0;transition:opacity .6s}
.x-in2 .x-in-seal{width:clamp(120px,15vw,190px);animation:xSealIn 1.1s cubic-bezier(.2,1.4,.4,1) both,xSeal 6s ease-in-out 1.2s infinite}
@keyframes xSealIn{from{opacity:0;transform:translateY(-40px) scale(.6) rotate(-12deg)}to{opacity:1;transform:none}}
.x-in2.out .x-in-seal{transform:scale(1.5) rotate(10deg);opacity:0;transition:transform .7s var(--x-ease),opacity .5s}
.x-in-sig{position:relative;width:clamp(260px,40vw,600px)}
.x-in-sig img{display:block;width:100%;height:auto;clip-path:inset(0 100% 0 0);animation:xDraw 2s cubic-bezier(.6,0,.2,1) .7s forwards;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
@keyframes xDraw{to{clip-path:inset(0 0 0 0)}}
.x-in-sig i{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,248,215,.95) 48%,transparent 66%);background-size:300% 100%;
  -webkit-mask:url(brand/kjv-firma.webp) center/100% 100% no-repeat;mask:url(brand/kjv-firma.webp) center/100% 100% no-repeat;animation:xShine 3.8s ease-in-out 2.8s infinite;opacity:.9;pointer-events:none}
@keyframes xShine{0%{background-position:120% 0}60%,100%{background-position:-120% 0}}
.x-in2 .x-in-k{font:600 clamp(12px,1.2vw,16px)/1 var(--roman);letter-spacing:.32em;color:#E6C766;opacity:0;animation:xUp .9s var(--x-ease) 2.2s forwards;transform:translateY(10px)}
.x-in2 .x-in-go{margin-top:18px;opacity:0;animation:xUp .9s var(--x-ease) 2.5s forwards}
.x-in2 .x-in-s{opacity:0;animation:xUp .9s var(--x-ease) 2.8s forwards}
@media (prefers-reduced-motion:reduce){.x-in2 .x-in-seal,.x-in-sig img,.x-in-sig i,.x-in2 .x-in-k,.x-in2 .x-in-go,.x-in2 .x-in-s{animation:none;opacity:1;clip-path:none;transform:none}}

/* ---------- ORIGEN con scroll (kjv-origen.js) ---------- */
#origen.xg-on{padding:0!important;height:auto!important;max-width:none}
#origen.xg-on>*:not(.xg){display:none!important}
.xg{position:relative;height:calc(var(--n) * 100svh)}
.xg-pin{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center;background:radial-gradient(60% 55% at 50% 52%,rgba(var(--forest-rgb),.45),transparent 72%)}
.xg-head{position:absolute;top:clamp(76px,11vh,110px);left:0;right:0;text-align:center}
.xg-h{margin:8px 0 4px;font:600 clamp(40px,6vw,92px)/1 var(--roman);letter-spacing:.18em;color:var(--head)}
.xg-sub{margin:0;font:italic 500 clamp(18px,1.6vw,24px)/1.3 var(--display);color:var(--gold)}
.xg-stage{position:relative;width:min(560px,74vw,58svh);aspect-ratio:1;margin-top:clamp(70px,10vh,110px)}
.xg-ring{width:100%;height:100%;overflow:visible}
.xg-ring .bg{fill:none;stroke:var(--line);stroke-width:2}
.xg-ring .fg{fill:none;stroke:var(--x-gold);stroke-width:3.2;stroke-linecap:round;transform:rotate(-90deg);transform-origin:300px 300px;filter:drop-shadow(0 0 8px rgba(212,175,55,.55))}
.xg-node circle{fill:var(--bg);stroke:rgba(212,175,55,.45);stroke-width:2;transition:fill .4s,stroke .4s,r .4s}
.xg-node text{font:700 24px var(--roman);fill:var(--muted);transition:fill .4s}
.xg-node.done circle{stroke:var(--x-gold)}.xg-node.done text{fill:var(--gold)}
.xg-node.on circle{fill:var(--x-gold);stroke:var(--x-gold);r:33}.xg-node.on text{fill:#061A13}
.xg-comet{fill:#F3DD8A;filter:drop-shadow(0 0 10px #E6C766)}
.xg-big{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.xg-big span{font:600 clamp(110px,17vw,230px)/1 var(--roman);color:transparent;-webkit-text-stroke:2px var(--x-gold);text-shadow:0 0 40px rgba(212,175,55,.25)}
.xg-big span.x-on{animation:xgIn .8s cubic-bezier(.16,1,.3,1) both}
@keyframes xgIn{from{opacity:0;transform:scale(.3);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.xg.closed .xg-ring .fg{animation:xgPulse 1.6s ease-in-out infinite}
@keyframes xgPulse{50%{stroke-width:6;filter:drop-shadow(0 0 18px rgba(212,175,55,.9))}}
.xg-step{position:absolute;top:50%;width:min(340px,26vw);transform:translateY(-30%);animation:xoUp .7s var(--x-ease) both}
.xg-step.r{right:clamp(20px,6vw,110px);text-align:left}.xg-step.l{left:clamp(20px,6vw,110px);text-align:right}
.xg-n{margin:0 0 8px;font:700 11px/1 var(--body);letter-spacing:.22em;color:var(--gold)}
.xg-step h3{margin:0 0 10px;font:800 clamp(30px,3.2vw,52px)/.95 var(--body);letter-spacing:-.035em;text-transform:uppercase;color:var(--head)}
.xg-step p{margin:0;font:400 clamp(15px,1.2vw,18px)/1.55 var(--body);color:var(--ink-2)}
.xg-step .xg-loop{margin-top:12px;font:italic 500 20px/1.2 var(--display);color:var(--gold)}
.xg-foot{position:absolute;bottom:26px;left:16px;right:16px;margin:0;text-align:center;font:600 12px/1.5 var(--body);letter-spacing:.06em;color:var(--muted)}
@media (max-width:860px){
  .xg-stage{width:min(340px,82vw);margin-top:40px}
  .xg-step,.xg-step.l,.xg-step.r{position:absolute;top:auto;bottom:70px;left:16px;right:16px;width:auto;transform:none;text-align:center}
  .xg-head{top:70px}.xg-pin{place-items:start center}
}

/* ---------- palabras que se encienden, halo del mouse, cursor más visible ---------- */
.xw-on .xw{opacity:.85;transition:opacity .35s ease}
.xw-on .xw.lit{opacity:1}
.x-spot{position:fixed;left:0;top:0;z-index:14;width:560px;height:560px;margin:-280px 0 0 -280px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(230,199,102,.26) 0%,rgba(212,175,55,.1) 32%,transparent 66%);mix-blend-mode:soft-light}
.x-cd{width:11px;height:11px;margin:-5.5px 0 0 -5.5px;box-shadow:0 0 18px 3px rgba(212,175,55,.95)}
.x-cr{width:46px;height:46px;margin:-23px 0 0 -23px;border-width:1.5px}
.x-cr.h{width:92px;height:92px;margin:-46px 0 0 -46px;background:rgba(212,175,55,.18)}

/* ---------- frase del final a los lados del avatar (armónica, nada tapa nada) ---------- */
.x-fin-stage .x-fin-t{top:34%;left:50%;right:auto;transform:translate(-50%,-50%);width:min(1120px,92%);display:flex;justify-content:space-between;align-items:baseline;padding:0 clamp(26px,4vw,58px);font-size:clamp(24px,2.7vw,44px);pointer-events:none}
.x-fin-stage .x-fin-t .xk-l{flex:none}
@media (max-width:860px){.x-fin-stage .x-fin-t{position:relative;top:auto;left:auto;transform:none;width:auto;display:block;text-align:center;margin:12px 0 0}}
.x-fin-stage .x-fin-t>span{display:flex;justify-content:space-between;align-items:baseline;width:100%}
@media (max-width:860px){.x-fin-stage .x-fin-t>span{display:block}}

/* ---------- intro v3: partículas que forman sello y firma, cintas en movimiento (8-nov 08:00) ---------- */
.x-in-rib{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}
.x-in-rib .tl{animation:xRibTL 1.7s cubic-bezier(.16,1,.3,1) both,xRibF 9s ease-in-out 1.8s infinite alternate}
.x-in-rib .br{animation:xRibBR 1.7s cubic-bezier(.16,1,.3,1) .1s both,xRibF 9s ease-in-out 1.8s infinite alternate-reverse}
@keyframes xRibTL{from{transform:translate(-34%,-40%)}to{transform:none}}
@keyframes xRibBR{from{transform:translate(34%,40%)}to{transform:none}}
@keyframes xRibF{to{transform:translate(1.2%,.8%)}}
.x-in-rib .e{stroke-dasharray:1300;stroke-dashoffset:1300;animation:xDash 2.2s .5s ease forwards}
@keyframes xDash{to{stroke-dashoffset:0}}
.x-in3.out .x-in-rib .tl{transform:translate(-40%,-45%);transition:transform 1s cubic-bezier(.7,0,.2,1)}
.x-in3.out .x-in-rib .br{transform:translate(40%,45%);transition:transform 1s cubic-bezier(.7,0,.2,1)}
.x-in3.out .x-in-rib .tl,.x-in3.out .x-in-rib .br{animation:none}
.x-in3 .x-in-cv{z-index:2}.x-in3 .x-in-c{z-index:3}
.x-in3 .x-in-seal{animation:none;opacity:0;transition:opacity .7s}
.x-in3 .x-in-sig img{animation:none;clip-path:none;opacity:0;transition:opacity .7s}
.x-in3.built .x-in-seal{opacity:1;animation:xSeal 6s ease-in-out .8s infinite}
.x-in3.built .x-in-sig img{opacity:1}
.x-in3 .x-in-sig i{animation-delay:.6s}
.x-in3:not(.built) .x-in-sig i{animation:none;opacity:0}
.x-in3 .x-in-k{animation:none;opacity:0;letter-spacing:1.1em;transform:none}
.x-in3.built .x-in-k{animation:xTrack 1.5s cubic-bezier(.16,1,.3,1) forwards}
@keyframes xTrack{to{opacity:1;letter-spacing:.34em}}
.x-in3 .x-in-go,.x-in3 .x-in-s{animation:none;opacity:0;transform:translateY(14px);transition:opacity .8s .5s,transform .8s .5s var(--x-ease)}
.x-in3.built .x-in-go,.x-in3.built .x-in-s{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.x-in-rib .tl,.x-in-rib .br,.x-in-rib .e{animation:none;stroke-dashoffset:0}}

/* ---------- final más compacto e impactante (8-nov 08:00) ---------- */
.x-fin-p{min-height:auto}
.x-fin-stage{min-height:clamp(420px,66vh,700px);margin-top:4px}
.x-fin-stage .x-fin-av{height:96%;max-width:min(440px,34vw)}
.x-fin-stage .x-fin-t{top:30%;width:min(960px,86%);font-size:clamp(22px,2.4vw,40px)}
.x-fin-stage .x-fin-call{top:66%;width:min(960px,86%);font-size:clamp(20px,2.2vw,34px)}
.x-fin-write{top:calc(66% + clamp(44px,4.6vw,60px));right:calc(50% - min(480px,43%))}
.x-fin.x-on .x-fin-call .l{animation:xFromL 1s cubic-bezier(.16,1,.3,1) both .2s}
.x-fin.x-on .x-fin-call .r{animation:xFromR 1s cubic-bezier(.16,1,.3,1) both .3s}
@keyframes xFromL{from{opacity:0;transform:translateX(-60px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes xFromR{from{opacity:0;transform:translateX(60px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.x-fin-stage .x-fin-av .x-av{animation:xFloat 7s ease-in-out infinite}
@keyframes xFloat{50%{transform:translateY(-8px)}}
.x-fin-logos{margin-top:clamp(84px,12vh,112px)}

/* ---------- inicio: texto y avatar más juntos y centrados ---------- */
@media (min-width:1100px){#intro.hero4>.in{max-width:min(1240px,90vw);margin-left:auto;margin-right:auto}}

/* ---------- precios en la portada (#ladder) ---------- */
#ladder.xl-on>.in>*:not(.xl):not(header){display:none!important}
.xl{margin-top:26px}
.xl .xp-cards{margin-top:18px}
.xl-opts{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 26px}
.xl-more{text-align:center;margin-top:22px}
.xl .xp-card .xp-for{font:700 10.5px/1.3 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.xo-logo.two{gap:14px}.xo-logo.two i{font:300 22px/1 var(--body);color:var(--x-gold);font-style:normal}.xo-logo.two img{max-width:160px}

/* ---------- vuelta del aprendizaje (Sobre mí) y firma de la carta ---------- */
.xa-track{position:relative;margin-top:30px;padding:10px 0 40px}
.xa-track::before,.xa-prog{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;border-radius:3px;background:var(--line)}
.xa-prog{display:block;background:linear-gradient(var(--x-gold),#F3DD8A);transform-origin:top;transform:scaleY(var(--p,0));box-shadow:0 0 14px rgba(212,175,55,.6);z-index:1}
.xa-track ol{list-style:none;margin:0;padding:0;display:grid;gap:clamp(26px,5vh,54px)}
.xa-track li{position:relative;width:calc(50% - 46px);padding:22px 24px;border-radius:22px;border:1px solid var(--line);background:var(--card);transition:border-color .5s,box-shadow .6s}
.xa-track li:nth-child(odd){justify-self:start;text-align:right}
.xa-track li:nth-child(even){justify-self:end}
.xa-track li::after{content:"";position:absolute;top:30px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid rgba(212,175,55,.5);z-index:2;transition:background .4s,box-shadow .4s}
.xa-track li:nth-child(odd)::after{right:-55px}.xa-track li:nth-child(even)::after{left:-55px}
.xa-track li.lit{border-color:rgba(212,175,55,.55);box-shadow:0 24px 60px rgba(0,0,0,.2)}
.xa-track li.lit::after{background:var(--x-gold);box-shadow:0 0 0 7px rgba(212,175,55,.2)}
.xa-track .n{display:block;font:800 clamp(40px,4vw,64px)/.9 var(--body);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.4px rgba(212,175,55,.65)}
.xa-track .w{margin:8px 0 6px;font:700 11px/1.4 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.xa-track h3{margin:0 0 8px;font:800 clamp(22px,2.2vw,32px)/1.05 var(--body);letter-spacing:-.03em;text-transform:uppercase;color:var(--head)}
.xa-track li>p:last-child{margin:0;font:400 15.5px/1.55 var(--body);color:var(--ink-2)}
.xa-flag{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);margin:0;font-size:30px;z-index:2}
@media (max-width:860px){.xa-track::before,.xa-prog{left:14px}.xa-track li,.xa-track li:nth-child(odd),.xa-track li:nth-child(even){width:auto;margin-left:40px;justify-self:stretch;text-align:left}.xa-track li::after,.xa-track li:nth-child(odd)::after,.xa-track li:nth-child(even)::after{left:-34px;right:auto}.xa-flag{left:14px}}
.x-letter-sig{display:block;width:clamp(200px,24vw,320px);height:auto;margin:14px 0 4px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.18))}
[data-theme="light"] .x-letter-sig{filter:brightness(.62) saturate(1.3) drop-shadow(0 2px 6px rgba(0,0,0,.12))}
#letter.x-has-sig .sigmark{display:none}

/* ---------- puertas con logo («Hacia dónde vamos») ---------- */
.x-door .dr-leaf{display:flex;align-items:center;justify-content:center}
.x-door-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:62%;max-height:34%;object-fit:contain;filter:drop-shadow(0 0 18px rgba(212,175,55,.35));transition:filter .5s,transform .6s var(--x-ease);pointer-events:none}
.x-door:hover .x-door-logo,.x-door:focus-visible .x-door-logo{filter:drop-shadow(0 0 28px rgba(230,199,102,.85));transform:translate(-50%,-50%) scale(1.06)}
[data-theme="light"] .x-door-logo{filter:brightness(.2) drop-shadow(0 0 10px rgba(212,175,55,.35))}
.x-door-mini{height:22px;width:auto;margin-right:10px;vertical-align:middle;filter:drop-shadow(0 0 6px rgba(212,175,55,.4))}
[data-theme="light"] .x-door-mini{filter:brightness(.2)}

/* ---------- aviso de datos ---------- */
.x-note-data{position:fixed;left:50%;bottom:18px;z-index:60;transform:translate(-50%,140%);display:flex;align-items:center;gap:14px;max-width:min(680px,calc(100% - 32px));padding:12px 14px 12px 18px;border-radius:16px;background:rgba(6,26,19,.94);color:var(--x-cream);border:1px solid rgba(212,175,55,.45);box-shadow:0 20px 50px rgba(0,0,0,.35);font:500 13px/1.45 var(--body);transition:transform .6s var(--x-ease)}
.x-note-data.on{transform:translate(-50%,0)}.x-note-data p{margin:0}.x-note-data a{color:var(--x-gold)}
.x-note-data button{flex:none;border:0;border-radius:10px;padding:9px 14px;background:var(--x-gold);color:#061A13;font:700 12.5px/1 var(--body);cursor:pointer}

/* ---------- CV: 5 posiciones arriba ---------- */
.x-roles{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 6px}
.x-roles>span{width:100%;font:700 10.5px/1.3 var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.x-roles button{border:1px solid rgba(212,175,55,.5);background:rgba(212,175,55,.08);color:var(--ink);border-radius:99px;padding:10px 16px;font:700 13px/1 var(--body);cursor:pointer;transition:background .3s,color .3s,transform .3s}
.x-roles button:hover{background:var(--x-gold);color:#061A13;transform:translateY(-2px)}

/* ---------- ajustes del dueño (8-nov 09:00) ---------- */
/* ORIGEN v2: una sola idea en pantalla */
.xg-pin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2.6vh,30px)}
.xg-head{position:static;text-align:center}
.xg-word{display:flex;justify-content:center;gap:clamp(4px,1.4vw,22px)}
.xg-word b{display:flex;flex-direction:column;align-items:center;gap:8px;font-weight:400}
.xg-word i{font:600 clamp(64px,13vw,210px)/.9 var(--roman);font-style:normal;color:transparent;-webkit-text-stroke:1.6px rgba(212,175,55,.45);transition:color .6s,-webkit-text-stroke-color .6s,transform .7s var(--x-ease),text-shadow .6s}
.xg-word small{font:700 clamp(9px,.85vw,12px)/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);opacity:.55;transition:opacity .5s,color .5s}
.xg-word b.done i{color:rgba(212,175,55,.28);-webkit-text-stroke-color:rgba(212,175,55,.6)}
.xg-word b.on i{color:var(--x-gold);-webkit-text-stroke-color:var(--x-gold);transform:translateY(-8px) scale(1.06);text-shadow:0 0 50px rgba(212,175,55,.45)}
.xg-word b.on small{opacity:1;color:var(--gold)}
.xg-step{position:static;width:min(640px,90vw);transform:none;text-align:center;min-height:9em}
.xg-step.x-on{animation:xoUp .7s var(--x-ease) both}
.xg-step h3{font-size:clamp(28px,3vw,48px)}
.xg-bar{width:min(520px,70vw);height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.xg-bar i{display:block;height:100%;background:linear-gradient(90deg,#B8962E,var(--x-gold),#F3DD8A);transform-origin:left;transform:scaleX(0)}
.xg-foot{position:static}
/* «Hacia dónde vamos»: logo arriba al centro, luego nombre, texto y la línea dorada; número y estado abajo */
.x-door .dr-in{display:flex;flex-direction:column;align-items:center;text-align:center}
.x-door .dr-in>.n{order:9;margin-top:14px;opacity:.75}
.x-door .dr-in>.n>span:first-child{display:none}
.x-door .dr-in>.by{order:8}
.x-door-top{order:0;height:58px;width:auto;max-width:72%;object-fit:contain;margin:0 0 16px;filter:drop-shadow(0 0 14px rgba(212,175,55,.35))}
[data-theme="light"] .x-door-top{filter:brightness(.2)}
.x-door-mini{display:none}
/* final: frase con mezcla de tipografías, más grande y viva */
.x-fin-stage .x-fin-t{font-size:clamp(28px,3.4vw,58px)}
.x-fin-stage .x-fin-t .xk-l:first-child{font-family:var(--body);font-weight:800}
.x-fin-stage .x-fin-t .xk-l:last-child{font-family:var(--roman);font-weight:600;letter-spacing:.02em}
.x-fin-stage .x-fin-t em{font-family:var(--display);font-style:italic;font-weight:500;font-size:1.18em;color:var(--x-gold);text-transform:none}
.x-fin.x-on .x-fin-t .xk-l{animation:xFromL 1.1s cubic-bezier(.16,1,.3,1) both}
.x-fin.x-on .x-fin-t .xk-l:last-child{animation-name:xFromR;animation-delay:.12s}
/* placa de logos más grande: UNIQUE + Empresas Polar caben centrados */
.xo-logo.two{height:80px;padding:12px 22px}
.xo-logo.two img{max-width:190px;height:100%}
/* carta: solo «Sincerely,» y la firma */
#letter.x-has-sig .sign small{display:none}
/* recorrido más unido: menos aire entre secciones */
main>section.ch:not(#intro):not(#work):not(#origen){min-height:0!important;padding-top:clamp(60px,9vh,104px)!important;padding-bottom:clamp(44px,7vh,84px)!important}
#booking .xb{margin-top:clamp(22px,4vh,40px);margin-bottom:clamp(30px,5vh,56px)}

/* ---------- tanda 8-nov 10:50 (dueño) ---------- */
/* final v4: avatar solo al centro y entero desde abajo; frases a los lados con efecto; un solo botón «Agenda» */
.x-fin-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,min(520px,38vw)) minmax(0,1fr);align-items:end;min-height:clamp(440px,68vh,720px);margin-top:0}
.x-fin-stage .x-fin-av{position:relative;left:auto;bottom:auto;transform:none;grid-column:2;width:100%;height:auto;max-width:none;aspect-ratio:1/1;align-self:end;margin-bottom:-2px}
.x-fin-side{align-self:center;display:flex;flex-direction:column;gap:24px;padding:0 clamp(12px,2.2vw,34px) clamp(40px,7vh,90px);position:relative;z-index:5}
.x-fin-side.l{grid-column:1;grid-row:1;align-items:flex-end;text-align:right}
.x-fin-side.r{grid-column:3;grid-row:1;align-items:flex-start;text-align:left}
.x-fin-w{margin:0;font:800 clamp(34px,4.4vw,78px)/.9 var(--body);letter-spacing:-.045em;text-transform:uppercase;color:var(--x-cream)}
.x-fin-side.r .x-fin-w{font-family:var(--roman);font-weight:600;letter-spacing:.01em}
.x-fin-w em{display:block;font-family:var(--display);font-style:italic;font-weight:500;text-transform:none;color:var(--x-gold);font-size:1.14em;letter-spacing:-.01em}
.x-fin.x-on .x-fin-side.l{animation:xFromL 1.1s cubic-bezier(.16,1,.3,1) both .15s}
.x-fin.x-on .x-fin-side.r{animation:xFromR 1.1s cubic-bezier(.16,1,.3,1) both .25s}
.x-fin-book{font-size:clamp(15px,1.25vw,19px)!important;padding:19px 28px!important}
.x-fin-side .x-fin-write{position:static;margin:0}
.x-fin-stage .x-fin-glow{bottom:-20%}
@media (max-width:860px){.x-fin-stage{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;padding-bottom:0}.x-fin-side{padding:18px 12px 8px;gap:14px}.x-fin-stage .x-fin-av{grid-column:1/-1;grid-row:2;width:min(440px,94vw);justify-self:center}.x-fin-w{font-size:clamp(26px,8vw,40px)}}
/* placa UNIQUE × Empresas Polar: cubre los dos logos, centrada y dentro de la página */
.xo-logo.two{display:flex;width:min(460px,100%);height:auto;min-height:86px;padding:14px 24px;gap:16px;justify-content:center;align-items:center;box-sizing:border-box}
.xo-s[data-side="r"] .xo-logo.two{margin-left:auto}
.xo-logo.two img{height:54px;width:auto;max-width:calc(50% - 22px);object-fit:contain}
.xo-s[data-side="r"]{padding-right:clamp(28px,8vw,150px)}
/* inicio: texto pegado al avatar y con más presencia */
@media (min-width:1100px){#intro.hero4>.in{grid-template-columns:minmax(0,1fr) clamp(250px,21vw,330px) minmax(0,1fr)!important;max-width:1280px!important}}
#intro .h4-title.xk em{background:linear-gradient(100deg,#B8962E,#F3DD8A 45%,#D4AF37 60%,#B8962E);-webkit-background-clip:text;background-clip:text;color:transparent}
/* CV: más simple y el texto más cerca del avatar */
@media (min-width:1100px){#pagetop>.in{padding-left:clamp(16px,13vw,240px)!important;max-width:min(980px,62vw)}}
.x-roles button{padding:8px 13px;font-size:12.5px;border-radius:99px}
#pagetop .cvh-proof li{padding:14px 16px!important}#pagetop .cvh-proof b{font-size:clamp(24px,2.2vw,32px)!important}
/* «De dónde sale esto»: una sola columna, centrada y compacta */
#desk>.in{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:920px;margin:0 auto}
#desk header{text-align:center}#desk .cta{justify-content:center}#desk .fine{max-width:60ch}
/* «Cómo vendo»: recorrido fijo, una tarjeta a la vez */
#method.x-steps{height:calc(100svh * 2.8)!important;padding:0!important}
#method.x-steps>.in{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,10vh,110px) 0 40px}
.x-steps .sys-s{opacity:.38;transform:translateY(14px) scale(.96);transition:opacity .5s,transform .6s var(--x-ease),border-color .5s,box-shadow .5s}
.x-steps .sys-s.x-done{opacity:.72;transform:none}
.x-steps .sys-s.x-on{opacity:1;transform:translateY(-12px) scale(1.05);border-color:var(--x-gold)!important;box-shadow:0 30px 70px rgba(0,0,0,.35),0 0 0 1px rgba(212,175,55,.55)}
.x-steps .sys-node{transition:r .4s,fill .4s}.x-steps .sys-node.x-on{fill:var(--x-gold)}
.x-steps .sys-dot{filter:drop-shadow(0 0 10px rgba(243,221,138,.9))}
/* «Quién soy»: rótulo del lugar activo */
#world{position:relative}
.x-place{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:6;margin:0;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:99px;background:rgba(6,26,19,.88);border:1px solid rgba(212,175,55,.55);color:var(--x-cream);font:700 12px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.x-place i{width:10px;height:10px;border-radius:50%;background:var(--x-gold);animation:xPing 1.6s infinite}
.x-place span b,.x-place span small{font:inherit}
@keyframes xPing{0%{box-shadow:0 0 0 0 rgba(212,175,55,.7)}70%{box-shadow:0 0 0 12px rgba(212,175,55,0)}100%{box-shadow:0 0 0 0 rgba(212,175,55,0)}}
.x-place.x-on{animation:xPlace .7s cubic-bezier(.16,1,.3,1)}
@keyframes xPlace{from{opacity:0;transform:translate(-50%,-12px) scale(.9)}to{opacity:1;transform:translate(-50%,0)}}
/* guía de respaldo (cuerpo completo) */
.x-guide{position:fixed;right:12px;bottom:82px;z-index:30;display:flex;align-items:flex-end;gap:10px;pointer-events:none;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .7s var(--x-ease)}
.x-guide.on{opacity:1;transform:none}
.x-guide-av{pointer-events:auto;border:0;background:none;padding:0;cursor:pointer;height:clamp(200px,31vh,330px)}
.x-guide-av img{height:100%;width:auto;display:block;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.x-guide-bub{pointer-events:auto;max-width:240px;margin:0 0 46px;padding:12px 14px;border-radius:14px 14px 4px 14px;background:rgba(6,26,19,.94);color:var(--x-cream);border:1px solid rgba(212,175,55,.45);font:500 13px/1.4 var(--body);opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.x-guide-bub.on{opacity:1;transform:none}
html.x-guide-on .chat-btn .gav-av,html.x-guide-on .gav-bub{display:none!important}
@media (max-width:760px){.x-guide-av{height:150px}.x-guide{bottom:74px}.x-guide-bub{max-width:170px;font-size:12px}}

/* ---------- símbolos de partículas en «La vuelta del aprendizaje»; números que aparecen al bajar ---------- */
.xa-sym{position:absolute;top:50%;width:min(300px,28vw);aspect-ratio:1/1;transform:translateY(-50%);cursor:crosshair}
.xa-track li:nth-child(odd) .xa-sym{left:calc(100% + 92px)}
.xa-track li:nth-child(even) .xa-sym{right:calc(100% + 92px)}
.xa-track .n{opacity:0;transform:translateY(22px) scale(.85);transition:opacity .8s,transform .9s var(--x-ease)}
.xa-track li.lit .n{opacity:1;transform:none}
@media (max-width:860px){.xa-sym{position:relative;top:auto;left:auto!important;right:auto!important;transform:none;display:block;width:190px;margin:14px auto 0}}
@media (prefers-reduced-motion:reduce){.xa-track .n{opacity:1;transform:none}}

/* intro: «Saltar» siempre visible (salida segura) */
.x-in3:not(.built) .x-in-s{opacity:.75;transform:none} /* saltar siempre visible */

/* ---------- guía v2 (dueño 8-nov): un solo avatar, de frente, dice dónde estás; «Talk to me» sin foto, con el punto verde ---------- */
#kjvGuia,.kjv-guia-hit{display:none!important}
.chat-btn .gav-av>*:not(.gav-live){display:none!important}
.chat-btn .gav-av{background:none!important;box-shadow:none!important;width:auto!important;min-width:14px}
.x-guide-av{position:relative}
.x-guide-live{position:absolute;right:18%;bottom:6%;width:14px;height:14px;border-radius:50%;background:#2ECC71;box-shadow:0 0 0 3px rgba(6,26,19,.9),0 0 12px rgba(46,204,113,.8);animation:xLive 2s ease-in-out infinite}
@keyframes xLive{50%{box-shadow:0 0 0 3px rgba(6,26,19,.9),0 0 20px rgba(46,204,113,1)}}
.x-guide-bub b{display:block;margin-bottom:4px;font:700 10.5px/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--x-gold)}
/* «Cómo vendo» sin hueco: el contenido arriba, pegado a la sección anterior */
#method.x-steps>.in{justify-content:flex-start!important;padding-top:clamp(70px,10vh,110px)!important}
#desk{padding-bottom:clamp(24px,4vh,48px)!important}
#method.x-steps{height:calc(100svh * 2.4)!important}
/* CV con más vida */
#pagetop .h4-title{font-size:clamp(64px,9vw,150px)!important;line-height:.9}
#pagetop .cvh-proof li{transition:transform .5s var(--x-ease),border-color .4s,box-shadow .5s}
#pagetop .cvh-proof li:hover{transform:translateY(-4px);border-color:rgba(212,175,55,.6)!important;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.x-roles button{position:relative;overflow:hidden}
.x-roles button::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,240,200,.35) 50%,transparent 65%);background-size:250% 100%;animation:xSheen 4.5s ease-in-out infinite;pointer-events:none}
/* símbolos de línea más nítidos */
.xa-sym{width:min(320px,28vw)}

/* palabras enteras: nunca se parten letra a letra */
.xk .xk-w{white-space:nowrap}

/* 10-nov noche (dueño): pie del menú = redes con símbolo + botón «Agenda una llamada de 20 minutos» debajo; igual en todos los dispositivos */
#menu .x-m-foot.kjv-mf,.kml-foot.kjv-mf{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important}
.kjv-mf .kjv-soc{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:10px!important;max-width:100%!important}
.kjv-mf a.kjv-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(212,175,55,.6);background:rgba(247,241,230,.06);color:#F7F1E6!important;opacity:1!important;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.kjv-mf a.kjv-ic:hover,.kjv-mf a.kjv-ic:focus-visible{background:#D4AF37;color:#061A13!important;transform:translateY(-2px)}
.kjv-mf a.kjv-ic svg{width:22px;height:22px;display:block}
.kjv-mf a.kjv-book{display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:min(100%,560px);min-height:54px;padding:14px 26px;border-radius:999px;background:linear-gradient(150deg,#E9D9A6,#D4AF37 60%,#B8962E);color:#061A13!important;opacity:1!important;font:800 clamp(15px,1.5vw,19px)/1.15 var(--body,system-ui);letter-spacing:.01em;text-align:center;text-decoration:none;box-shadow:0 0 0 6px rgba(212,175,55,.16),0 14px 34px rgba(0,0,0,.4);transition:transform .25s,box-shadow .25s}
.kjv-mf a.kjv-book:hover,.kjv-mf a.kjv-book:focus-visible{color:#061A13!important;transform:scale(1.015);box-shadow:0 0 0 9px rgba(212,175,55,.22),0 18px 40px rgba(0,0,0,.45)}
.kjv-mf a.kjv-book svg{width:20px;height:20px;flex:none}
@media (max-width:380px){.kjv-mf a.kjv-ic{width:42px;height:42px}.kjv-mf .kjv-soc{gap:8px!important}}/* el pie nuevo es más alto: en computadora los títulos del menú ceden un poco de alto para que el botón entre completo; en teléfonos bajitos las tarjetas no se encogen (el menú se desplaza) */
@media (min-width:861px){#menu .x-m-links a{font-size:clamp(30px,min(6.6vw,8.4vh),112px)!important}#menu .x-m-foot.kjv-mf{gap:12px!important;padding-top:12px!important;padding-bottom:10px}.kjv-mf a.kjv-ic{width:42px;height:42px}#menu .kjv-mf a.kjv-book{min-height:48px;padding:11px 26px}}
@media (min-width:861px) and (max-height:700px){#menu .x-m-links a{font-size:clamp(26px,min(6vw,7.2vh),90px)!important}}
@media (max-width:860px){#menu.x-menu:not([hidden]){display:flex!important;flex-direction:column!important;overflow-y:auto!important}#menu.x-menu>*:not(.x-m-topo):not(.x-m-prev){flex:0 0 auto!important}#menu .x-m-foot.kjv-mf{padding-bottom:8px}}
/* 11-nov (dueño): en teléfono las 6 redes van en UNA fila y el botón de llamada en una sola línea, un poco más pequeño; igual en el sitio y en la landing de la guía */
@media (max-width:560px){#menu .x-m-foot.kjv-mf .kjv-soc{flex-wrap:nowrap!important;gap:clamp(4px,2vw,10px)!important}#menu .x-m-foot.kjv-mf a.kjv-ic{flex:0 0 auto;width:42px;height:42px}#menu .kjv-mf a.kjv-book{min-height:46px;padding:10px 16px;font-size:clamp(12.5px,3.7vw,15px);gap:8px}#menu .kjv-mf a.kjv-book span{white-space:nowrap}}
