/* CrisTch-X Kit — estilos del diseño v2 */
:root{--bg:#111111;--fg:#f0ede4;--bg-rgb:17,17,17;--fg-rgb:240,237,228;--s1:#1a1a1a;--s2:#242424;--card:#ffffff;--m1:#a3a09a;--m2:#55524c;--m3:#3a3833;--m4:#7a776f;--chat:#ebe7dc;--chat2:#e6e2d7;--ok:#3ddc84;--chip-fg:#55524c;--ph:#7a776f;--ac:#ff6b2c;--ink:#111111}
html[data-theme="light"]{--bg:#f0ede4;--fg:#111111;--bg-rgb:240,237,228;--fg-rgb:17,17,17;--s1:#e5e1d6;--s2:#d9d4c8;--card:#1c1c1c;--m1:#5c5953;--m2:#a3a09a;--m3:#cfcbc1;--m4:#8a877f;--chat:#181818;--chat2:#222222;--ok:#1a8f4c;--chip-fg:#c9c5bb;--ph:#9a968d}
html{scroll-behavior:smooth}
@keyframes cx-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes cx-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes cx-in2{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes cx-rise{from{opacity:0;transform:translateY(60%) rotate(4deg)}to{opacity:1;transform:none}}

body.cx-site{margin:0;background:var(--bg)!important;color:var(--fg);font-family:'Archivo',sans-serif;-webkit-font-smoothing:antialiased;transition:background .45s ease,color .45s ease;overflow-x:clip;overscroll-behavior-y:none}
body.cx-site .elementor{background:transparent}
.cx-w,.cx-w *{box-sizing:border-box}
.cx-w{font-family:'Archivo',sans-serif;color:var(--fg);width:100%;-webkit-text-size-adjust:100%}
.cx-w a{color:var(--ac);text-decoration:none;transition:color .2s,background .2s,border-color .2s,transform .3s}
.cx-w a:hover{color:var(--fg)}
.cx-w button,.cx-w input,.cx-w select,.cx-w textarea{font-family:inherit}
.cx-w button{-webkit-tap-highlight-color:transparent}
.cx-w h1,.cx-w h2,.cx-w h3,.cx-w p{margin:0;color:inherit}
.cx-mono{font-family:'JetBrains Mono',monospace}
.cx-pulse{animation:cx-pulse 1.8s infinite}
.cx-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}
.cx-bordered{border-top:1px solid rgba(var(--fg-rgb),.08)}
.cx-caret{display:inline-block;font-size:12px;color:var(--ac);transition:transform .3s}

/* tipografía común */
.cx-wrap{max-width:1360px;margin:0 auto;padding:clamp(72px,8vw,120px) clamp(20px,4vw,48px)}
.cx-h2{font-size:clamp(44px,6.5vw,104px);line-height:.9;letter-spacing:-.05em;font-weight:900}
.cx-label{font-size:13px;color:var(--m1)}
.cx-label-d{color:var(--m2)}
.cx-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:48px}
.cx-sec-head-b{margin:14px 0 40px}
.cx-hint{max-width:360px;color:var(--m1);font-size:16px;line-height:1.5;text-wrap:pretty}
.cx-hint-d{max-width:400px;color:var(--m2);font-size:17px}
.cx-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
.cx-dot-ok{background:var(--ok)}

/* botones */
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:999px;font-weight:600;cursor:pointer;white-space:nowrap;line-height:1.2;padding:15px 24px;font-size:16px;text-decoration:none}
.cx-btn-lg{padding:18px 28px;font-size:17px}
.cx-btn-md{padding:18px 26px;font-size:16px}
.cx-btn-sm{padding:11px 20px;font-size:15px}
.cx-btn-xs{padding:10px 16px;font-size:14px}
.cx-btn-block{width:100%;text-align:center;padding:16px}
.cx-btn-ac{background:var(--ac);color:#111111!important}
.cx-w a.cx-btn-ac{color:#111111}
.cx-btn-ac:hover{background:var(--fg);color:var(--bg)!important}
.cx-btn-fg{background:var(--fg);color:var(--bg)!important}
.cx-w a.cx-btn-fg{color:var(--bg)}
.cx-btn-fg:hover{background:var(--ac);color:#111111!important}
.cx-btn-bg{background:var(--bg);color:var(--fg)!important}
.cx-btn-bg:hover{background:var(--ac);color:#111111!important}
.cx-btn-bgd{background:var(--bg);color:var(--fg)}
.cx-btn-bgd:hover{background:var(--ac);color:#111111}
.cx-btn-ghost{background:transparent;border-color:rgba(var(--fg-rgb),.25);color:var(--fg)}
.cx-btn-ghost:hover{border-color:var(--ac);color:var(--ac)}
.cx-btn-line{border-color:rgba(var(--bg-rgb),.25);color:var(--bg)!important}
.cx-btn-line:hover{border-color:var(--bg);color:var(--bg)!important}
.cx-btn-line-f{background:none;border-color:rgba(var(--fg-rgb),.2);color:var(--fg);padding:14px}
.cx-btn-ok{background:var(--ok);color:#111111!important}

/* ===== ENCABEZADO ===== */
.cx-hspacer{height:76px}
.cx-header{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top);background:rgba(var(--bg-rgb),.85);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(var(--fg-rgb),.08);transition:transform .4s cubic-bezier(.2,.8,.2,1),background .45s ease;will-change:transform}
.cx-header.is-hidden{transform:translateY(-110%)}
body.admin-bar .cx-header{top:32px}
@media(max-width:782px){body.admin-bar .cx-header{top:46px}}
.cx-header-in{max-width:1360px;margin:0 auto;padding:14px clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cx-brand{display:flex;align-items:center;gap:12px;color:var(--fg)!important;font-weight:800;font-size:20px;letter-spacing:-.02em}
.cx-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;display:block;background:var(--fg)}
.cx-brand-t{font-weight:900;font-size:22px;letter-spacing:-.04em;display:inline-flex}
.cx-brand-l{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .25s ease}
.cx-brand-l.is-accent,.cx-kl.is-accent{color:var(--ac)}
.cx-dnav{display:flex;align-items:center;gap:clamp(20px,3vw,40px)}
.cx-nav{display:flex;gap:26px;flex-wrap:nowrap;white-space:nowrap;font-size:15px}
.cx-nav a{color:var(--m1)}
.cx-nav a:hover{color:var(--fg)}
.cx-nav-n{font-size:11px;margin-right:6px}
.cx-tools{display:flex;align-items:center;gap:8px}
.cx-langs{display:flex;padding:3px;border-radius:999px;border:1px solid rgba(var(--fg-rgb),.15)}
.cx-lang{border:none;cursor:pointer;padding:7px 10px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:12px;background:transparent;color:var(--m1);transition:background .25s,color .25s}
.cx-lang.is-on{background:var(--fg);color:var(--bg)}
.cx-lang-big{flex:1;padding:14px;font-size:14px;border:1px solid rgba(var(--fg-rgb),.15)}
.cx-theme{width:40px;height:40px;border-radius:50%;border:1px solid rgba(var(--fg-rgb),.15);background:transparent;color:var(--fg);cursor:pointer;font-size:16px;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:grid;place-items:center;padding:0}
.cx-theme:hover{transform:rotate(180deg)}
.cx-theme-m{width:42px;height:42px}
.cx-mnav{display:none;align-items:center;gap:8px}
.cx-langm{position:relative}
.cx-langm-btn{height:42px;padding:0 12px;border-radius:999px;border:1px solid rgba(var(--fg-rgb),.15);background:transparent;color:var(--fg);cursor:pointer;font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}
.cx-langm-btn .cx-caret{font-size:10px;color:var(--fg)}
.cx-langm-btn[aria-expanded="true"] .cx-caret{transform:rotate(180deg)}
.cx-langm-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:70;min-width:180px;background:var(--s1);border:1px solid rgba(var(--fg-rgb),.12);border-radius:18px;padding:6px;display:flex;flex-direction:column;gap:2px;box-shadow:0 18px 40px rgba(0,0,0,.35);animation:cx-in .25s ease both}
.cx-langm-menu[hidden]{display:none}
.cx-langm-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:none;border-radius:12px;cursor:pointer;text-align:left;font-size:15px;font-weight:600;background:transparent;color:var(--fg)}
.cx-langm-opt:hover{background:rgba(var(--fg-rgb),.08)}
.cx-langm-opt.is-on{background:rgba(255,107,44,.14);color:var(--ac)}
.cx-mark{font-size:12px}
.cx-burger{width:46px;height:46px;border-radius:50%;border:1px solid rgba(var(--fg-rgb),.2);background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.cx-burger span{width:18px;height:2px;background:var(--fg);border-radius:2px;transition:transform .3s,opacity .2s}
.cx-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cx-burger.is-open span:nth-child(2){opacity:0}
.cx-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.cx-menu{position:fixed;inset:0;z-index:35;background:var(--bg);padding:calc(96px + env(safe-area-inset-top)) clamp(20px,6vw,48px) calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;gap:32px;overflow-y:auto;animation:cx-in .35s ease both}
.cx-menu[hidden]{display:none}
.cx-menu-nav{display:flex;flex-direction:column;gap:6px}
.cx-menu-nav a{display:flex;align-items:baseline;gap:14px;color:var(--fg);font-size:clamp(38px,10vw,64px);font-weight:900;letter-spacing:-.04em;line-height:1.05;padding:6px 0;border-bottom:1px solid rgba(var(--fg-rgb),.08);animation:cx-rise .6s cubic-bezier(.2,.8,.2,1) both}
.cx-menu-nav a:hover{color:var(--ac)}
.cx-menu-n{font-size:13px;font-weight:400;color:var(--ac);letter-spacing:0}
.cx-menu-foot{display:flex;flex-direction:column;gap:16px;animation:cx-in .6s ease .4s both}
.cx-menu-langs{display:flex;gap:8px}
.cx-menu-social{display:flex;gap:20px;flex-wrap:wrap;font-size:15px}
@media(max-width:1023px){.cx-dnav{display:none}.cx-mnav{display:flex}}
@media(max-width:559px){.cx-brand-t{display:none}}
@media(max-width:439px){.cx-cot-short{display:none}}

/* ===== LETRAS CINÉTICAS ===== */
.cx-kw{display:inline-block;white-space:nowrap}
.cx-kw-sp{margin-right:.22em}
.cx-kl{display:inline-block;cursor:default;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .25s ease}
.cx-kl.is-hover{transform:translateY(-10%) rotate(-8deg);color:var(--ac)}

/* ===== HERO ===== */
.cx-hero{max-width:1360px;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(20px,4vw,48px) clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(32px,5vw,72px);align-items:end}
.cx-badge{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:var(--m1);border:1px solid rgba(var(--fg-rgb),.15);padding:8px 14px;border-radius:999px}
.cx-hero-h1{margin:28px 0 0!important;font-size:clamp(52px,8.4vw,132px);line-height:.88;letter-spacing:-.055em;font-weight:900;text-wrap:balance;color:var(--fg)}
.cx-hero-p{margin:32px 0 0!important;font-size:clamp(18px,1.5vw,21px);line-height:1.5;color:var(--m1)!important;max-width:580px;text-wrap:pretty}
.cx-hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}
.cx-hero-r{position:relative;max-width:520px;width:100%;justify-self:end}
.cx-photo{aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--s1);border:1px solid rgba(var(--fg-rgb),.1)}
.cx-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cx-tag{position:absolute;display:flex;flex-direction:column}
.cx-tag-name{left:-20px;bottom:28px;background:var(--fg);color:var(--bg);border-radius:20px;padding:18px 22px;gap:4px;box-shadow:0 20px 50px rgba(0,0,0,.4)}
.cx-tag-n{font-weight:800;font-size:19px;letter-spacing:-.02em}
.cx-tag-r{font-size:12px;color:var(--m2)}
.cx-tag-f{font-size:12px;color:var(--ac);font-weight:600}
.cx-tag-agency{right:20px;top:20px;background:var(--ac);color:#111111;border-radius:16px;padding:10px 14px;gap:2px;max-width:230px}
.cx-tag-al{font-size:11px}
.cx-tag-an{font-weight:800;font-size:15px;letter-spacing:-.01em}
@media(max-width:560px){.cx-tag-name{left:10px}}

/* ===== SERVICIOS ===== */
.cx-svc-list{display:flex;flex-direction:row;gap:10px;min-height:640px;overflow-x:auto;padding-bottom:4px}
.cx-svc{flex:1 1 0;min-width:72px;background:var(--s1);color:var(--fg);border:1px solid rgba(var(--fg-rgb),.08);border-radius:26px;overflow:hidden;cursor:pointer;transition:flex .55s cubic-bezier(.2,.8,.2,1),min-width .55s cubic-bezier(.2,.8,.2,1),background .3s;position:relative;display:flex;flex-direction:column}
.cx-svc.is-open{flex:8 1 0;min-width:min(520px,70vw);background:var(--fg);color:var(--bg);border-color:var(--fg)}
.cx-svc-cv{height:100%;padding:24px 0;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.cx-svc-ch{display:none;padding:20px 22px;align-items:center;gap:16px}
.cx-svc-op{display:none;height:100%;padding:clamp(24px,3vw,40px);flex-direction:column;gap:20px;overflow-y:auto}
.cx-svc.is-open .cx-svc-cv,.cx-svc.is-open .cx-svc-ch{display:none!important}
.cx-svc.is-open .cx-svc-op{display:flex;animation:cx-in .45s ease both}
.cx-svc-num{font-size:13px;color:var(--m1)}
.cx-svc-vt{writing-mode:vertical-rl;transform:rotate(180deg);font-size:26px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.cx-svc-ht{flex:1;font-size:22px;font-weight:800;letter-spacing:-.02em}
.cx-plus{width:36px;height:36px;border-radius:50%;border:1px solid rgba(var(--fg-rgb),.2);display:grid;place-items:center;font-size:18px;flex:none}
.cx-svc-oh{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.cx-pin{font-size:12px;padding:6px 12px;border-radius:999px;background:var(--bg);color:var(--fg)}
.cx-svc-h3{font-size:clamp(34px,3.6vw,54px);line-height:.95;letter-spacing:-.04em;font-weight:900;animation:cx-rise .7s cubic-bezier(.2,.8,.2,1) .05s both}
.cx-svc-long{font-size:17px;line-height:1.55;color:var(--m3)!important;text-wrap:pretty;max-width:680px;animation:cx-in .6s ease .12s both}
.cx-svc-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px 24px}
.cx-svc-it{display:flex;gap:10px;font-size:15px;line-height:1.4;font-weight:500;animation:cx-in .5s ease both}
.cx-arrow{color:var(--ac);font-weight:900}
.cx-svc-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.cx-tool{font-size:12px;padding:7px 12px;border-radius:10px;border:1px solid rgba(var(--bg-rgb),.18);animation:cx-in .5s ease .45s both;transition:background .2s,color .2s}
.cx-tool:hover{background:var(--bg);color:var(--fg)}
.cx-svc-btns{display:flex;gap:10px;flex-wrap:wrap}
.cx-more{margin-top:14px;width:100%;padding:18px;border-radius:999px;border:1px solid rgba(var(--fg-rgb),.2);background:transparent;color:var(--fg);font-size:16px;font-weight:700;cursor:pointer;display:none;justify-content:center;align-items:center;gap:10px}
.cx-more.is-up .cx-caret{transform:rotate(180deg)}
@media(max-width:759px){
 .cx-svc-list{flex-direction:column;min-height:0;overflow:visible}
 .cx-svc{flex:none!important;min-width:0!important}
 .cx-svc-cv{display:none}
 .cx-svc-ch{display:flex}
}
@media(max-width:519px){
 .cx-more{display:flex}
 .cx-svc-list:not(.is-all) .cx-svc:nth-child(n+4){display:none}
 .cx-more[hidden]{display:none}
}

/* ===== PLANES ===== */
.cx-plans-sec{background:var(--fg);color:var(--bg)}
.cx-plans-sec .cx-wrap{color:var(--bg)}
.cx-plan-select{display:none;position:relative;margin-bottom:24px}
.cx-plan-select select{width:100%;appearance:none;-webkit-appearance:none;padding:18px 48px 18px 20px;border-radius:18px;font-size:17px;font-weight:700;cursor:pointer;background:var(--bg);color:var(--fg);border:1px solid var(--bg);outline:none}
.cx-plan-select .cx-caret{position:absolute;right:20px;top:50%;transform:translateY(-50%);pointer-events:none}
.cx-plan-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.cx-tab{padding:12px 18px;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;border:1px solid rgba(var(--bg-rgb),.2);background:transparent;color:var(--bg);transition:transform .25s ease,background .25s ease,color .25s ease}
.cx-tab:hover{transform:translateY(-3px)}
.cx-tab.is-on{background:var(--bg);color:var(--fg);border-color:var(--bg)}
.cx-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}
.cx-plan{background:var(--card);color:var(--bg);border-radius:26px;padding:34px 30px;display:flex;flex-direction:column;gap:22px;border:1px solid rgba(var(--bg-rgb),.12);animation:cx-in .55s cubic-bezier(.2,.8,.2,1) both;transition:transform .3s ease,box-shadow .3s ease}
.cx-plan:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(var(--bg-rgb),.12)}
.cx-plan.is-feat{background:var(--bg);color:var(--fg)}
.cx-plan-h{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cx-plan-name{font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.cx-plan-r{display:flex;align-items:center;gap:10px}
.cx-most{font-size:11px;background:var(--ac);color:#111111;padding:5px 10px;border-radius:999px}
.cx-plan-tg{display:none;width:32px;height:32px;border-radius:50%;border:1px solid currentColor;place-items:center;font-size:16px;transition:transform .3s;background:none;color:inherit;cursor:pointer;padding:0}
.cx-plan-body{display:flex;flex-direction:column;gap:22px;flex:1;animation:cx-in .4s ease both}
.cx-plan-pitch{font-size:25px;line-height:1.15;font-weight:600;letter-spacing:-.02em;text-wrap:pretty}
.cx-plan-items{display:flex;flex-direction:column;gap:12px;flex:1}
.cx-plan-it{display:flex;gap:12px;font-size:15px;line-height:1.4}
.cx-plan-it b,.cx-combo-it b{color:var(--ac);font-weight:900}
.cx-plan-btn{text-align:center;padding:16px;border-radius:999px;font-weight:600;background:var(--bg);color:var(--fg)!important}
.cx-plan.is-feat .cx-plan-btn{background:var(--ac);color:#111111!important}
.cx-combo{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;animation:cx-in .5s ease both}
.cx-combo[hidden]{display:none}
.cx-combo-l{background:var(--card);border-radius:26px;padding:34px 30px;border:1px solid rgba(var(--bg-rgb),.12);display:flex;flex-direction:column;gap:20px;color:var(--bg)}
.cx-combo-step{font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.cx-combo-step-r{color:var(--m1)}
.cx-combo-q{font-size:25px;line-height:1.15;font-weight:600;letter-spacing:-.02em}
.cx-combo-chips{display:flex;flex-direction:column;gap:8px}
.cx-cchip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;text-align:left;border:1px solid rgba(var(--bg-rgb),.15);background:transparent;color:var(--bg);transition:transform .25s ease,background .25s ease,color .25s ease}
.cx-cchip:hover{transform:translateX(6px)}
.cx-cchip.is-on{background:var(--bg);color:var(--fg);border-color:var(--bg)}
.cx-cchip span{font-family:'JetBrains Mono',monospace;font-size:13px}
.cx-combo-r{background:var(--bg);color:var(--fg);border-radius:26px;padding:34px 30px;display:flex;flex-direction:column;gap:20px}
.cx-combo-rh{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cx-saving{font-size:12px;background:var(--ac);color:#111111;padding:6px 12px;border-radius:999px}
.cx-combo-name{font-size:clamp(34px,3.6vw,52px);line-height:.95;font-weight:900;letter-spacing:-.04em;animation:cx-in .5s cubic-bezier(.2,.8,.2,1) both}
.cx-combo-pitch{color:var(--m1)!important;font-size:16px;line-height:1.5;text-wrap:pretty}
.cx-combo-items{display:flex;flex-direction:column;gap:12px;flex:1}
.cx-combo-it{display:flex;gap:12px;font-size:15px;line-height:1.4;animation:cx-in .45s ease both}
.cx-combo-r .cx-btn-ac{padding:16px}
@media(max-width:519px){
 .cx-plan-select{display:block}
 .cx-plan-tabs{display:none}
 .cx-plan-grid{gap:10px}
 .cx-plan{padding:20px 22px;gap:14px}
 .cx-plan.is-open{padding:26px 22px}
 .cx-plan-tg{display:grid}
 .cx-plan-h{cursor:pointer}
 .cx-plan:not(.is-open) .cx-plan-body{display:none}
 .cx-plan.is-open .cx-plan-tg{transform:rotate(45deg)}
}

/* ===== PROCESO ===== */
.cx-proc-h{margin:14px 0 56px!important}
.cx-proc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}
.cx-step{border-top:2px solid var(--fg);padding-top:24px;display:flex;flex-direction:column;gap:12px}
.cx-step-n{font-size:72px;font-weight:900;letter-spacing:-.06em;color:var(--ac);line-height:1;display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.cx-step-n:hover{transform:translateY(-6px) rotate(-4deg)}
.cx-step h3{font-size:24px;font-weight:800;letter-spacing:-.02em}
.cx-step p{color:var(--m1)!important;font-size:16px;line-height:1.5;text-wrap:pretty}

/* ===== ACADEMIA ===== */
.cx-aca{max-width:1360px;margin:0 auto;padding:0 clamp(20px,4vw,48px) clamp(72px,8vw,120px)}
.cx-aca-box{background:var(--ac);color:#111111;border-radius:32px;padding:clamp(28px,5vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,4vw,56px)}
.cx-aca-l{display:flex;flex-direction:column;gap:20px}
.cx-aca-label{font-size:13px}
.cx-aca-h2{font-size:clamp(40px,5.5vw,84px)!important;line-height:.9;letter-spacing:-.05em;font-weight:900}
.cx-aca-p{font-size:18px;line-height:1.5;max-width:520px;text-wrap:pretty}
.cx-aca-phone{display:none;flex-direction:column;gap:12px;margin-top:4px}
.cx-aca-sel{background:#111111;color:#f0ede4;border-radius:20px;overflow:hidden}
.cx-aca-selb{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:none;background:transparent;color:inherit;cursor:pointer;text-align:left}
.cx-aca-selt{display:flex;flex-direction:column;gap:3px;min-width:0}
.cx-aca-lv{font-size:11px;color:var(--ac)}
.cx-aca-cn{font-size:18px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.cx-aca-selb[aria-expanded="true"] .cx-caret{transform:rotate(180deg)}
.cx-aca-opts{display:flex;flex-direction:column;padding:0 8px 8px;gap:2px;border-top:1px solid rgba(240,237,228,.12)}
.cx-aca-opts[hidden]{display:none}
.cx-aca-opt{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 12px;border:none;border-radius:12px;background:transparent;color:#f0ede4;cursor:pointer;text-align:left;font-size:16px;font-weight:600;animation:cx-in .35s ease both}
.cx-aca-opt:hover{background:rgba(240,237,228,.08)}
.cx-aca-opt span:last-child{color:var(--ac);font-family:'JetBrains Mono',monospace;font-size:13px}
.cx-aca-open{padding:18px;border-radius:999px;border:none;background:#f0ede4;color:#111111;font-size:17px;font-weight:800;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px}
.cx-aca-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.cx-course{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;border-radius:18px;cursor:pointer;text-align:left;border:none;background:rgba(17,17,17,.08);color:#111111;transition:padding .25s ease,background .2s,color .2s}
.cx-course:hover{padding-left:30px}
.cx-course.is-on{background:#111111;color:#f0ede4}
.cx-course b{font-size:21px;font-weight:800;letter-spacing:-.02em}
.cx-course span{font-family:'JetBrains Mono',monospace;font-size:12px}
.cx-book-bd{display:block}
.cx-book{background:var(--bg);color:var(--fg);border-radius:26px;padding:clamp(22px,3vw,32px);display:flex;flex-direction:column;gap:18px;width:100%;margin:auto 0 0}
.cx-book-x{display:none;justify-content:flex-end;margin-bottom:-8px}
.cx-book-x button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(var(--fg-rgb),.2);background:transparent;color:var(--fg);font-size:18px;cursor:pointer}
.cx-book-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cx-book-t{font-weight:800;font-size:22px;letter-spacing:-.02em}
.cx-book-m{font-size:12px;color:var(--ac)}
.cx-book-date{font-size:12px;color:var(--m1);margin-top:18px}
.cx-book [data-cx-bookform]{display:flex;flex-direction:column;gap:18px}
.cx-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.cx-day{padding:10px 4px;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid rgba(var(--fg-rgb),.1);background:var(--s1);color:var(--fg);transition:transform .25s ease,background .25s}
.cx-day:hover{transform:translateY(-4px)}
.cx-day.is-on{background:var(--ac);border-color:var(--ac);color:#111111}
.cx-day small{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase}
.cx-day b{font-size:20px;font-weight:800}
.cx-slots{display:flex;flex-wrap:wrap;gap:8px}
.cx-slot{transition:transform .2s ease,background .2s;padding:10px 14px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:13px;cursor:pointer;border:1px solid rgba(var(--fg-rgb),.18);background:transparent;color:var(--fg)}
.cx-slot.is-on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.cx-slot:disabled{color:var(--m2);text-decoration:line-through;cursor:not-allowed}
.cx-form-s{display:flex;flex-direction:column;gap:10px}
.cx-form-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.cx-w input[type=text],.cx-w input[type=email],.cx-w input[type=tel],.cx-w textarea{background:var(--s1);border:1px solid rgba(var(--fg-rgb),.12);border-radius:12px;padding:14px;color:var(--fg);font-size:16px;outline:none;width:100%;box-shadow:none}
.cx-w input:focus,.cx-w textarea:focus{border-color:var(--ac)}
.cx-w input::placeholder,.cx-w textarea::placeholder{color:var(--ph)}
.cx-submit{margin-top:4px;background:var(--ac);color:#111111;border:none;padding:16px;border-radius:999px;font-weight:600;font-size:16px;cursor:pointer}
.cx-submit:hover{filter:brightness(1.1)}
.cx-submit:disabled{opacity:.6;cursor:not-allowed}
.cx-done{display:flex;flex-direction:column;gap:18px;animation:cx-in .4s ease both}
.cx-done[hidden]{display:none}
.cx-check{width:56px;height:56px;border-radius:50%;background:var(--ok);color:#111111;display:grid;place-items:center;font-size:26px;font-weight:900}
.cx-done-t{font-weight:900;font-size:34px;letter-spacing:-.03em;line-height:1}
.cx-done-t-l{font-size:36px}
.cx-done-p{color:var(--m1)!important;font-size:16px;line-height:1.5}
@media(max-width:519px){
 .cx-aca-phone{display:flex}
 .cx-aca-list{display:none}
 .cx-book-bd{display:none;position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.65);padding:12px 12px calc(12px + env(safe-area-inset-bottom));align-items:flex-end;overflow-y:auto}
 .cx-book-bd.is-open{display:flex}
 .cx-book{animation:cx-in .35s cubic-bezier(.2,.8,.2,1) both}
 .cx-book-x{display:flex}
}

/* ===== PROYECTOS ===== */
.cx-proj-sub{margin:16px 0 0!important;color:var(--m1)!important;font-size:18px}
.cx-filters{display:flex;gap:8px;flex-wrap:wrap}
.cx-filter{padding:12px 20px;border-radius:999px;font-size:15px;cursor:pointer;border:1px solid rgba(var(--fg-rgb),.25);background:transparent;color:var(--fg)}
.cx-filter.is-on{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.cx-filter small{font-family:'JetBrains Mono',monospace;font-size:11px;margin-left:4px}
.cx-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(20px,3vw,32px);background:var(--s1);border:1px solid rgba(var(--fg-rgb),.08);border-radius:30px}
.cx-shot{aspect-ratio:16/10;border-radius:20px;overflow:hidden;background:#0c0c0c;display:grid;place-items:center}
.cx-shot div{width:100%;height:100%;background-position:center;background-repeat:no-repeat;transition:transform .6s cubic-bezier(.2,.8,.2,1);animation:cx-in .6s cubic-bezier(.2,.8,.2,1) both}
.cx-shot:hover div{transform:scale(1.04)}
.cx-pinfo{display:flex;flex-direction:column;gap:18px}
.cx-pinfo-h{display:flex;align-items:center;gap:12px}
.cx-pnum{font-size:13px;color:var(--m1)}
.cx-pbadge{background:var(--ac);color:#111111;padding:6px 14px;border-radius:999px;font-weight:600;font-size:14px}
.cx-pname{font-size:clamp(40px,5vw,76px)!important;line-height:.92;letter-spacing:-.05em;font-weight:900;animation:cx-in .6s cubic-bezier(.2,.8,.2,1) .08s both}
.cx-pdesc{color:var(--m1)!important;font-size:18px;line-height:1.5;text-wrap:pretty;animation:cx-in .6s ease .16s both}
.cx-ptags{display:flex;gap:8px;flex-wrap:wrap}
.cx-ptag{font-size:12px;padding:8px 12px;border-radius:10px;background:var(--s2)}
.cx-pbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.cx-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:14px;margin-top:18px}
.cx-thumb{background:none;border:none;padding:0;cursor:pointer;text-align:left;color:var(--fg);display:flex;flex-direction:column;gap:10px}
.cx-thumb-i{aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#0c0c0c;border:2px solid transparent;opacity:.6;transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s}
.cx-thumb:hover .cx-thumb-i{transform:translateY(-6px)}
.cx-thumb.is-on .cx-thumb-i{border-color:var(--ac);opacity:1}
.cx-thumb-i div{width:100%;height:100%;background-size:cover;background-position:center}
.cx-thumb span{font-weight:600;font-size:15px}
@media(max-width:519px){.cx-thumbs.is-short .cx-thumb:nth-child(n+5){display:none}}

/* ===== CONTACTO ===== */
.cx-contact{background:var(--fg);color:var(--bg)}
.cx-contact .cx-wrap{color:var(--bg)}
.cx-contact-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:56px}
.cx-contact-l{display:flex;flex-direction:column;gap:22px}
.cx-contact-h{font-size:clamp(48px,7vw,112px)!important;line-height:.88;letter-spacing:-.055em;font-weight:900}
.cx-contact-p{color:var(--m2)!important;font-size:18px;line-height:1.5;max-width:460px;text-wrap:pretty}
.cx-contact-l .cx-btn{align-self:flex-start}
.cx-contact-links{display:flex;flex-direction:column;gap:10px;margin-top:12px;font-size:16px}
.cx-contact-links a{color:var(--bg)!important;display:flex;gap:14px}
.cx-contact-links a span{font-size:13px;color:var(--m2);width:90px;flex:none}
.cx-contact-r{background:var(--bg);color:var(--fg);border-radius:30px;padding:clamp(24px,4vw,40px)}
.cx-form{display:flex;flex-direction:column;gap:16px}
.cx-form input[type=text],.cx-form input[type=email],.cx-form input[type=tel],.cx-form textarea{border-radius:14px;padding:16px}
.cx-form textarea{resize:vertical}
.cx-form-2{gap:12px}
.cx-interest{display:flex;flex-direction:column;gap:10px}
.cx-interest>span{font-size:14px;color:var(--m1)}
.cx-chips{display:flex;flex-wrap:wrap;gap:8px}
.cx-chip{padding:10px 14px;border-radius:999px;font-size:14px;cursor:pointer;border:1px solid rgba(var(--fg-rgb),.2);background:transparent;color:var(--fg);transition:transform .2s ease,background .2s}
.cx-chip:hover{transform:translateY(-3px)}
.cx-chip.is-on{background:var(--ac);color:#111111;border-color:var(--ac)}
.cx-submit-lg{padding:18px;font-size:17px}
.cx-privacy{font-size:12px;color:var(--m4);text-align:center}

/* ===== PIE ===== */
.cx-footer{background:var(--bg)}
.cx-footer-in{max-width:1360px;margin:0 auto;padding:56px clamp(20px,4vw,48px) calc(120px + env(safe-area-inset-bottom))}
.cx-footer-top{display:flex;align-items:flex-end;gap:clamp(16px,3vw,40px);flex-wrap:wrap}
.cx-footer-logo{height:clamp(72px,12vw,180px);width:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block;background:var(--fg)}
.cx-footer-big{font-size:clamp(64px,14vw,220px);line-height:.8;letter-spacing:-.065em;font-weight:900}
.cx-footer-bot{margin-top:40px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:15px;color:var(--m4)}
.cx-footer-social{display:flex;gap:24px;flex-wrap:wrap}
.cx-footer-social a{color:var(--m4)}
.cx-footer-social a:hover{color:var(--ac)}

/* ===== ASISTENTE ===== */
.cx-chat{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px;width:auto}
.cx-chat.is-hidden{display:none}
.cx-chat-box{width:min(390px,calc(100vw - 40px));background:var(--fg);color:var(--bg);border-radius:26px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.55);display:flex;flex-direction:column;animation:cx-in .3s ease both}
.cx-chat-box[hidden]{display:none}
.cx-chat-h{background:var(--bg);color:var(--fg);padding:14px 14px 14px 18px;display:flex;align-items:center;gap:12px}
.cx-chat-h img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:var(--fg)}
.cx-chat-hn{flex:1;min-width:0}
.cx-chat-name{font-weight:700}
.cx-chat-st{font-size:12px;color:var(--ok)}
.cx-chat-rs{background:none;border:1px solid rgba(var(--fg-rgb),.2);color:var(--m1);border-radius:999px;font-size:12px;cursor:pointer;padding:6px 10px}
.cx-chat-x{background:none;border:none;color:var(--m1);font-size:24px;cursor:pointer;width:40px;height:40px}
.cx-chat-lead{display:flex;gap:6px;padding:10px 14px;background:var(--chat2);flex-wrap:wrap}
.cx-lf{font-family:'JetBrains Mono',monospace;font-size:11px;padding:4px 9px;border-radius:999px;background:transparent;color:var(--chip-fg)}
.cx-lf.is-ok{background:var(--bg);color:var(--fg)}
.cx-chat-msgs{padding:16px;display:flex;flex-direction:column;gap:10px;height:min(340px,calc(100dvh - 330px));min-height:200px;overflow-y:auto;background:var(--chat);overscroll-behavior:contain}
.cx-msg{max-width:84%;padding:10px 14px;border-radius:16px;font-size:15px;line-height:1.45;white-space:pre-line;background:var(--card);color:var(--bg);align-self:flex-start}
.cx-msg.is-me{align-self:flex-end;background:var(--bg);color:var(--fg)}
.cx-msg.is-typing{font-size:14px;opacity:.7;animation:cx-pulse 1.2s infinite}
.cx-msg-wa{align-self:stretch;max-width:none;text-align:center;background:var(--ok);color:#111111!important;padding:12px;border-radius:14px;font-weight:600;font-size:14px}
.cx-chat-quick{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px 0;background:var(--fg)}
.cx-qr{border:1px solid rgba(var(--bg-rgb),.18);background:var(--card);color:var(--bg);border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer;transition:background .2s,color .2s}
.cx-qr:hover{background:var(--ac);color:#111111;border-color:var(--ac)}
.cx-chat-f{display:flex;gap:8px;padding:12px;background:var(--fg)}
.cx-chat-f input{flex:1;min-width:0;border:1px solid rgba(var(--bg-rgb),.15)!important;border-radius:999px!important;padding:12px 16px!important;font-size:16px;outline:none;background:var(--card)!important;color:var(--bg)!important}
.cx-chat-f button{background:var(--ac);color:#111111;border:none;border-radius:999px;width:46px;height:46px;cursor:pointer;font-size:18px;font-weight:800;flex:none}
.cx-launcher{background:var(--ac);color:#111111;border:none;border-radius:999px;padding:9px 20px 9px 9px;cursor:pointer;box-shadow:0 10px 26px rgba(255,107,44,.3);display:flex;align-items:center;gap:10px;transition:transform .25s ease}
.cx-launcher:hover{transform:translateY(-2px)}
.cx-launcher-av{width:40px;height:40px;border-radius:50%;flex:none;position:relative;background:var(--fg)}
.cx-launcher-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.cx-launcher-on{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#3ddc84;border:2px solid var(--ac)}
.cx-launcher-t{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}
.cx-launcher-sub{font-size:11px}
.cx-launcher-l{font-size:16px;font-weight:800;white-space:nowrap;animation:cx-in .4s ease both}
.cx-chat.is-open .cx-launcher-sub{display:none}
@media(max-width:599px){
 .cx-launcher{padding:6px}
 .cx-launcher-av{width:34px;height:34px}
 .cx-launcher-sub{display:none}
 .cx-launcher-l{font-size:13px}
 .cx-launcher .cx-launcher-t{display:none}
 .cx-launcher.show-t{padding:6px 14px 6px 6px}
 .cx-launcher.show-t .cx-launcher-t{display:flex}
}

/* ===== REVEAL ===== */
.cx-w [data-reveal]{will-change:opacity,transform}
@media(prefers-reduced-motion:reduce){.cx-w *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.cx-brand-l.is-hover{transform:translateY(-10%) rotate(-8deg);color:var(--ac)}
.cx-contact-in>*,.cx-hero>*,.cx-aca-box>*,.cx-showcase>*,.cx-combo>*{min-width:0}
.cx-contact-links a{flex-wrap:wrap;gap:4px 14px;overflow-wrap:anywhere}
.cx-contact-links a span{width:90px}
@media(max-width:519px){.cx-contact-l .cx-btn{white-space:normal;text-align:left}}
.cx-w{overflow-x:clip}
html:has(body.cx-site){overflow-x:clip}
.cx-w [hidden]{display:none!important}
.cx-svc-btns .cx-btn{gap:0}

/* ===== Fixes v1.0.1: el tema/Elementor pisan img{border-radius:0;height:auto} y button:hover ===== */
.cx-w img.cx-logo{width:48px!important;height:48px!important;max-width:none!important;border-radius:50%!important;object-fit:cover!important}
.cx-w img.cx-footer-logo{height:clamp(72px,12vw,180px)!important;width:auto!important;aspect-ratio:1/1;max-width:none!important;border-radius:50%!important;object-fit:cover!important}
.cx-w .cx-chat-h img{width:40px!important;height:40px!important;max-width:none!important;border-radius:50%!important;object-fit:cover!important}
.cx-w .cx-launcher-av img{width:100%!important;height:100%!important;max-width:none!important;border-radius:50%!important;object-fit:cover!important}
.cx-w .cx-thumb,.cx-w .cx-thumb:hover,.cx-w .cx-thumb:focus,.cx-w .cx-thumb:active{background:none!important;background-color:transparent!important;box-shadow:none!important;color:var(--fg)!important;outline:none;border:none!important;padding:0!important;text-decoration:none}
.cx-w .cx-thumb:focus-visible .cx-thumb-i{border-color:var(--ac)}
.cx-w .cx-filter:not(.is-on):hover,.cx-w .cx-filter:not(.is-on):focus{background:transparent!important;color:var(--fg)!important;box-shadow:none!important}
.cx-w .cx-thumb *{user-select:none}
.cx-w button,.cx-w a,.cx-w .cx-btn,.cx-w .cx-launcher *,.cx-w input,.cx-w textarea{text-transform:none!important;letter-spacing:inherit}
.cx-w .cx-btn,.cx-w .cx-launcher-l{letter-spacing:normal}

/* v1.0.5 — entradas del blog con plantilla de Elementor: ocultar cabecera/pie/sidebar de Astra y liberar el ancho */
body.single-post.cx-site #masthead,body.single-post.cx-site #colophon,body.single-post.cx-site .ast-breadcrumbs-wrapper,body.single-post.cx-site #secondary,body.single-post.cx-site .ast-above-header-wrap,body.single-post.cx-site .ast-mobile-header-wrap{display:none!important}
body.single-post.cx-site #content,body.single-post.cx-site .site-content{background:transparent!important;padding:0!important;margin:0!important}
body.single-post.cx-site #content>.ast-container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important;display:block!important}
body.single-post.cx-site #primary{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important}
body.single-post.cx-site .ast-article-single,body.single-post.cx-site .ast-single-post .entry-content{background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;border:0!important}

/* hello v1.0.7 */
body.cx-site #site-header,body.cx-site #site-footer,body.cx-site .site-header,body.cx-site .site-footer,body.cx-site .page-header{display:none!important}
body.cx-site .site-main,body.cx-site main#content,body.cx-site .page-content,body.cx-site .post-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
body.cx-site{background:var(--bg,#111)!important}

/* hover v1.0.9 */
.cx-tab:hover:not(.is-on),.cx-cchip:hover:not(.is-on),.cx-chip:hover:not(.is-on){background:#ff6b2c;color:#111;}
.cx-day:hover:not(.is-on),.cx-slot:hover:not(.is-on):not(:disabled){background:#fff;color:#111;border-color:#fff;}
