/* =========================================================
   Cescal Midnight · capa visual sobre el tema Cescal Technology
   ========================================================= */

/* ---------- 1. Base ---------- */
body.cx-site{
  --bg:#111111;--stage:#000000;--text:#f5f5f7;--muted:#86868b;--chip:#333336;
  --blue:#0071e3;--green:#00d959;--link:#2997ff;--line:rgba(255,255,255,.12);
  --ease:cubic-bezier(.16,1,.3,1);
  margin:0;background:#000 !important;color:var(--text);
  font-family:Inter,'SF Pro Text',system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.5;letter-spacing:-0.2px;-webkit-font-smoothing:antialiased;overflow-x:clip;
}
.cx-site h1,.cx-site h2,.cx-site h3,.cx-site h4{font-family:Inter,'SF Pro Display',system-ui,sans-serif;letter-spacing:-0.01em}
.cx-site .ph{font-size:1.1em;line-height:1}
.cx-site .cx-wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.cx-site .container{max-width:1280px;padding:0 28px}
.cx-site .container-narrow{max-width:900px}
.cx-site .cescal-main{position:relative;z-index:1;background:transparent;padding:0;margin:0}
.cx-skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:#000;padding:10px 16px;border-radius:980px}
.cx-skip:focus{left:16px}
.cx-site :focus-visible{outline:2px solid var(--link);outline-offset:3px}

/* Fondo de agua */
.cx-water{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;display:block}

/* ---------- 2. Cabecera ---------- */
.cx-sentinel{position:absolute;top:0;left:0;width:1px;height:80px}
.cx-hdr{position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid transparent;transition:background .5s var(--ease),border-color .5s}
body.admin-bar .cx-hdr{top:32px}
@media (max-width:782px){body.admin-bar .cx-hdr{top:46px}}
.cx-hdr.is-solid{background:rgba(10,10,12,.86);-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px);border-bottom-color:var(--line)}
.cx-hdr-in{max-width:1280px;margin:0 auto;height:78px;padding:0 28px;display:flex;align-items:center;gap:28px;transition:height .45s var(--ease)}
.cx-hdr.is-solid .cx-hdr-in{height:64px}
.cx-brand{flex:none;display:block;opacity:0;animation:cx-fade 1s var(--ease) .1s forwards}
.cx-brand img{display:block;height:34px;width:auto;transition:height .45s var(--ease)}
.cx-hdr.is-solid .cx-brand img{height:28px}
.cx-hdr nav{margin:0 auto}
.cx-menu{display:flex;gap:2px;margin:0;padding:0;list-style:none}
.cx-menu li{opacity:0;transform:translateY(-8px);animation:cx-drop .9s var(--ease) forwards;animation-delay:calc(.15s + var(--i)*60ms)}
.cx-menu a{position:relative;display:inline-flex;align-items:center;height:40px;padding:0 13px;border-radius:980px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);text-decoration:none;transition:color .3s,background .3s}
.cx-menu a::after{content:"";position:absolute;left:13px;right:13px;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .5s var(--ease)}
.cx-menu a:hover,.cx-menu a:focus-visible,.cx-menu a.is-current{color:#fff;background:rgba(255,255,255,.07)}
.cx-menu a:hover::after,.cx-menu a:focus-visible::after,.cx-menu a.is-current::after{transform:scaleX(1)}
.cx-pill{position:relative;overflow:hidden;flex:none;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:980px;background:var(--blue);color:#fff !important;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);opacity:0;animation:cx-fade 1s var(--ease) .6s forwards;transition:background .3s}
.cx-pill:hover{background:#0077ed}
.cx-burger{display:none;margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:20px;align-items:center;justify-content:center;cursor:pointer}
.cx-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:rgba(245,245,247,.7);transform-origin:left;transform:scaleX(0)}
@supports (animation-timeline:scroll()){.cx-progress{animation:cx-grow linear both;animation-timeline:scroll(root)}}
.cx-mmenu{position:fixed;inset:0;z-index:99;background:rgba(0,0,0,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;justify-content:center;padding:96px 28px 40px;gap:8px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.cx-hdr.is-open~.cx-mmenu{opacity:1;visibility:visible}
.cx-mmenu a{font-size:34px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.3;color:#fff;text-decoration:none;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease);transition-delay:calc(var(--i)*50ms)}
.cx-hdr.is-open~.cx-mmenu a{opacity:1;transform:none}
.cx-mmenu .cx-btn{margin-top:24px;align-self:flex-start;font-size:17px;letter-spacing:normal;text-transform:none}

/* ---------- 3. Botones y piezas comunes ---------- */
.cx-site .cx-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:980px;background:var(--blue);color:#fff;font-size:17px;font-weight:500;white-space:nowrap;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.22);transition:background .3s}
.cx-site .cx-btn:hover{background:#0077ed}
.cx-site .cx-btn:active{transform:scale(.98)}
.cx-site .cx-btn-ghost{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:980px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:17px;font-weight:500;white-space:nowrap;text-decoration:none;transition:background .3s}
.cx-site .cx-btn-ghost:hover{background:rgba(255,255,255,.16)}
.cx-site .cx-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:5px;background:#311400;color:#ff791b;font-size:12px;line-height:16px;font-weight:600;letter-spacing:-0.12px}
.cx-site .cx-link{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:var(--text);text-decoration:none}
.cx-site .cx-link .ph{transition:transform .4s var(--ease)}
.cx-site .cx-link:hover .ph{transform:translate(3px,-3px)}

/* ---------- 4. Pie ---------- */
.cx-foot{position:relative;z-index:1;padding:96px 0 40px;font-size:14px}
.cx-foot-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.cx-foot-top img{height:40px;width:auto;display:block}
.cx-foot-top p{margin:18px 0 0;color:var(--muted);max-width:30ch}
.cx-foot nav{display:flex;flex-direction:column;gap:10px}
.cx-foot nav b{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cx-foot nav a{color:rgba(245,245,247,.82);text-decoration:none}
.cx-foot nav a:hover{color:#fff}
.cx-foot-bot{margin:72px 0 0;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

/* ---------- 5. Portada ---------- */
.cx-front h1,.cx-front h2,.cx-front h3,.cx-front p,.cx-front ol,.cx-front ul,.cx-front figure,.cx-front blockquote{margin:0;padding:0;color:inherit;border:0}
.cx-front ol,.cx-front ul{list-style:none}
.cx-front a{color:inherit;text-decoration:none}
.cx-front .cx-sec{padding:160px 0}
.cx-front .cx-sec-tight{padding-top:40px}
.cx-site .cx-h2{font-size:clamp(36px,4.6vw,64px);line-height:1.04;font-weight:600;letter-spacing:-0.01em;max-width:21ch}
.cx-front .cx-sub{margin-top:20px;max-width:58ch;font-size:21px;line-height:1.38;color:var(--muted)}
.cx-front .cx-hero{position:relative;min-height:100dvh;display:flex;align-items:flex-end;background:#000;overflow:hidden;isolation:isolate}
.cx-front .cx-hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.cx-front .cx-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,.1) 52%,rgba(0,0,0,.9) 100%),linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,0) 60%)}
@supports (animation-timeline:view()){.cx-front .cx-hero canvas{animation:cx-zoom linear both;animation-timeline:view();animation-range:exit 0% exit 100%}.cx-front .cx-hero-in{animation:cx-heroout linear both;animation-timeline:view();animation-range:exit 0% exit 90%}}
.cx-front .cx-hero-in{width:100%;max-width:1280px;margin:0 auto;padding:150px 28px 80px;display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:end}
.cx-front .cx-h1{margin-top:22px;font-size:clamp(40px,5.4vw,80px);line-height:1.02;font-weight:600;letter-spacing:-0.01em;text-transform:uppercase}
.cx-front .cx-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.cx-front .cx-line>span{display:inline-block;transform:translateY(110%);animation:cx-rise 1.2s var(--ease) forwards}
.cx-front .cx-line:nth-child(2)>span{animation-delay:.14s}
.cx-front .cx-hero .cx-badge{opacity:0;animation:cx-fade 1s var(--ease) .3s forwards}
.cx-front .cx-hero-side{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px;opacity:0;transform:translateY(20px);animation:cx-up 1.2s var(--ease) .45s forwards}
.cx-front .cx-hero-side p{font-size:19px;line-height:1.45;color:rgba(245,245,247,.82);max-width:34ch}
.cx-front .cx-hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.cx-front .cx-bgtoggle{position:absolute;right:28px;bottom:24px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.35);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:16px}
.cx-front .cx-marquee{overflow:hidden;padding:44px 0;border-bottom:1px solid var(--line);background:rgba(0,0,0,.35)}
.cx-front .cx-track{display:flex;width:max-content;gap:56px;animation:cx-marq 42s linear infinite}
.cx-front .cx-marquee:hover .cx-track{animation-play-state:paused}
.cx-front .cx-track span{font-size:clamp(40px,5vw,72px);font-weight:600;letter-spacing:-0.01em;text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(245,245,247,.35)}
.cx-front .cx-track span:nth-child(odd){color:var(--text);-webkit-text-stroke:0}
.cx-front .cx-results{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:center}
.cx-front .cx-gauge{position:relative;width:100%;max-width:520px;aspect-ratio:1/1;margin:0 auto}
.cx-front .cx-gauge svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}
.cx-front .cx-arc{fill:none;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset 2.2s var(--ease)}
.cx-front .is-in .cx-arc-a{stroke-dashoffset:15}
.cx-front .is-in .cx-arc-b{stroke-dashoffset:2;transition-delay:.25s}
.cx-front .cx-gauge-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}
.cx-front .cx-gauge-in small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cx-front .cx-gauge-num{font-size:clamp(56px,7vw,96px);line-height:1;font-weight:600;letter-spacing:-0.02em;color:var(--green);font-variant-numeric:tabular-nums}
.cx-front .cx-stats{margin-top:56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.cx-front .cx-stat{position:relative;overflow:hidden;border-top:1px solid var(--line);padding-top:20px}
.cx-front .cx-stat b{display:block;font-size:56px;line-height:1;font-weight:600;letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.cx-front .cx-stat span{display:block;margin-top:10px;color:var(--muted)}
.cx-front .cx-bento{margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(250px,auto);gap:16px}
.cx-front .cx-cell{position:relative;overflow:hidden;isolation:isolate;border-radius:28px;background:var(--stage);border:1px solid rgba(255,255,255,.06);padding:32px;display:flex;flex-direction:column;gap:12px}
.cx-front .cx-cell h3{font-size:28px;line-height:1.14;font-weight:600}
.cx-front .cx-cell p{color:var(--muted);max-width:42ch}
.cx-front .cx-cell .cx-link{margin-top:auto}
.cx-front .cx-tags{display:flex;flex-wrap:wrap;gap:8px}
.cx-front .cx-tags span{padding:6px 12px;border-radius:36px;background:rgba(66,66,69,.72);color:rgba(255,255,255,.82);font-size:12px}
.cx-front .b-seo{grid-column:span 2;grid-row:span 2;min-height:540px}
.cx-front .b-seo canvas{position:absolute;inset:0;width:100%;height:62%;z-index:-2;display:block}
.cx-front .b-seo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,#000 70%)}
.cx-front .b-seo h3{font-size:44px;margin-top:auto}
.cx-front .b-seo .cx-link{margin-top:8px}
.cx-front .b-sem{grid-column:span 2;background:linear-gradient(135deg,#1d1d1f 0%,#000 70%)}
.cx-front .b-web{grid-column:span 2;background:#1d1d1f;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px}
.cx-front .b-web .cx-big{font-size:clamp(72px,8vw,120px);line-height:.9;font-weight:600;letter-spacing:-0.03em}
.cx-front .b-web .cx-big small{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px}
.cx-front .cx-ia{background:rgba(0,0,0,.22)}
.cx-front .cx-ia-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.cx-front .cx-ia-left{position:sticky;top:110px;align-self:start}
.cx-front .cx-ia-big{margin-top:48px;font-size:clamp(88px,12vw,180px);line-height:.9;font-weight:700;letter-spacing:-0.04em;color:transparent;-webkit-text-stroke:1.5px rgba(245,245,247,.8);transition:opacity .35s,transform .6s var(--ease)}
.cx-front .cx-ia-big.is-swap{opacity:0;transform:translateY(20px)}
.cx-front .cx-ia-item{min-height:62vh;display:flex;flex-direction:column;justify-content:center;gap:16px;opacity:.22;transition:opacity .6s var(--ease)}
.cx-front .cx-ia-item.is-active{opacity:1}
.cx-front .cx-ia-item small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cx-front .cx-ia-item h3{font-size:56px;line-height:1;font-weight:600}
.cx-front .cx-ia-item p{font-size:24px;line-height:1.35;max-width:26ch}
.cx-front .cx-steps{position:relative;margin-top:72px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.cx-front .cx-steps::before,.cx-front .cx-steps::after{content:"";position:absolute;left:0;right:0;top:11px;height:1px;background:var(--line)}
.cx-front .cx-steps::after{background:var(--text);transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease)}
.cx-front .cx-steps.is-in::after{transform:scaleX(1)}
.cx-front .cx-step{position:relative;padding-top:48px}
.cx-front .cx-step::before{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;background:var(--bg);border:1px solid var(--text);transform:scale(0);transition:transform .6s var(--ease);transition-delay:calc(.2s + var(--i)*.35s)}
.cx-front .cx-steps.is-in .cx-step::before{transform:scale(1)}
.cx-front .cx-steps.is-in .cx-step::after{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;border:1px solid var(--green);opacity:0;animation:cx-ping 2.4s ease-out infinite;animation-delay:calc(1.6s + var(--i)*.35s)}
.cx-front .cx-step h3{font-size:28px;font-weight:600}
.cx-front .cx-step p{margin-top:12px;color:var(--muted);max-width:30ch}
.cx-front .cx-cases{margin-top:56px;display:flex;flex-direction:column;gap:28px}
.cx-front .cx-case{position:sticky;top:calc(104px + var(--i)*26px);min-height:440px;border-radius:28px;background:var(--stage);border:1px solid var(--line);padding:56px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:end;box-shadow:0 -24px 60px rgba(0,0,0,.45)}
.cx-front .cx-case:nth-child(2){background:#0b0b0c}
.cx-front .cx-case:nth-child(3){background:#151517}
.cx-front .cx-case-num{font-size:clamp(80px,10vw,150px);line-height:.92;font-weight:600;letter-spacing:-0.03em;color:var(--green)}
.cx-front .cx-case-what{margin-top:12px;font-size:21px;font-weight:600}
.cx-front .cx-case small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cx-front .cx-case h3{margin:10px 0 14px;font-size:32px;font-weight:600}
.cx-front .cx-case p:not(.cx-case-num):not(.cx-case-what){color:var(--muted);margin-bottom:22px}
.cx-front .cx-light{margin:0 16px;border-radius:48px;background:#f5f5f7;color:#1d1d1f;overflow:hidden}
.cx-front .cx-light .cx-h2{color:#1d1d1f}
.cx-front .cx-quotes{position:relative;padding:150px 28px 120px;max-width:1080px;margin:0 auto;text-align:center}
.cx-front .cx-q{display:none}
.cx-front .cx-q.is-active{display:block;animation:cx-up .9s var(--ease)}
.cx-front .cx-q blockquote{font-size:clamp(26px,3.2vw,40px);line-height:1.22;font-weight:600;letter-spacing:-0.01em}
.cx-front .cx-q figcaption{margin-top:32px;font-size:15px}
.cx-front .cx-q figcaption b{display:block;font-weight:600}
.cx-front .cx-q figcaption span{color:#6e6e73}
.cx-front .cx-qnav{margin-top:40px;display:flex;justify-content:center;gap:10px}
.cx-front .cx-qnav button{width:44px;height:44px;border-radius:50%;border:1px solid #1d1d1f;background:transparent;color:#1d1d1f;display:grid;place-items:center;cursor:pointer;font-size:18px;transition:background .3s,color .3s}
.cx-front .cx-qnav button:hover{background:#1d1d1f;color:#fff}
.cx-front .cx-faq{padding:40px 28px 140px;max-width:1080px;margin:0 auto}
.cx-front .cx-faq-list{margin-top:48px;display:flex;flex-direction:column;gap:12px}
.cx-front .cx-faq details{position:relative;border-radius:28px;background:#fff;transition:transform .4s var(--ease),box-shadow .4s}
.cx-front .cx-faq details:hover{transform:translateY(-2px);box-shadow:0 20px 40px -24px rgba(0,113,227,.35)}
.cx-front .cx-faq summary{list-style:none;cursor:pointer;min-height:64px;padding:16px 24px;display:flex;align-items:center;gap:16px;font-weight:600;font-size:19px}
.cx-front .cx-faq summary::-webkit-details-marker{display:none}
.cx-front .cx-faq summary .ph{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid #1d1d1f;display:grid;place-items:center;font-size:16px;transition:transform .45s var(--ease)}
.cx-front .cx-faq details[open] summary .ph{transform:rotate(45deg)}
.cx-front .cx-faq details p{padding:0 32px 26px 72px;color:#424245;max-width:70ch}
.cx-front .cx-final{padding:20px 28px 150px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.cx-front .cx-final h2{max-width:none;font-size:clamp(44px,6.4vw,96px);line-height:1;text-transform:uppercase}
.cx-front .cx-final .cx-mail{color:#0066cc;font-size:17px}
.cx-front .cx-final .cx-mail:hover{text-decoration:underline}

/* ---------- 6. Páginas interiores (plantillas del tema padre) ---------- */
.cx-site .page-hero,.cx-site .case-hero{padding:190px 0 72px;background:transparent}
.cx-site .page-h1{font-size:clamp(44px,6vw,92px);line-height:1.02;font-weight:600;letter-spacing:-0.01em;text-transform:uppercase;max-width:18ch;margin:0 0 24px;overflow-wrap:break-word}
.cx-site .page-hero .muted,.cx-site .hero-sub,.cx-site .page-hero p{font-size:21px;line-height:1.4;color:rgba(245,245,247,.75);max-width:52ch}
.cx-site .section{padding:96px 0}
.cx-site .section-title{font-size:clamp(32px,4.2vw,56px);line-height:1.06;font-weight:600;letter-spacing:-0.01em;margin:0 0 48px;max-width:22ch}
.cx-site .tag{display:inline-flex;align-items:center;gap:8px;padding:0;margin:0 0 20px;border:0;background:none;font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.cx-site .page-hero .tag,.cx-site .case-hero .tag{padding:4px 10px;border-radius:5px;background:#311400;color:#ff791b;letter-spacing:.02em;text-transform:none}
.cx-site .neon,.cx-site .metric.neon,.cx-site .cyan-text{background:none;-webkit-text-fill-color:currentColor;color:var(--green)}
.cx-site .violet-text{color:var(--text)}
.cx-site .cyan,.cx-site a.cyan{color:var(--link)}
.cx-site .muted{color:var(--muted)}
.cx-site .mono,.cx-site .card-num,.cx-site .badge,.cx-site .pill,.cx-site .post-card-meta,.cx-site .post-meta,.cx-site .pillar-head,.cx-site .slot,.cx-site .lang-toggle a,.cx-site .pagination .page-numbers,.cx-site .form-grid label{font-family:Inter,sans-serif}
.cx-site .card-num{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--muted)}
.cx-site .badge{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--muted)}

/* Fichas */
.cx-site .glass{position:relative;background:var(--stage);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(255,255,255,.08);border-radius:28px;box-shadow:none;transition:box-shadow .5s var(--ease),border-color .4s}
.cx-site .glass:hover{transform:none;border-color:rgba(255,255,255,.14);box-shadow:0 40px 90px -40px rgba(0,217,89,.32)}
.cx-site .card{padding:36px;overflow:hidden;isolation:isolate}
.cx-site .card h3{font-size:26px;font-weight:600;margin-bottom:12px}
.cx-site .card p{color:var(--muted);font-size:16px}
.cx-site .card .features{grid-template-columns:1fr 1fr;gap:8px}
.cx-site .card .features li{display:inline-flex;padding:6px 12px;border-radius:36px;background:rgba(66,66,69,.72);color:rgba(255,255,255,.85);font-size:12px}
.cx-site .grid{gap:16px}
.cx-site .grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.cx-site .grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.cx-site .service-icon{background:#1d1d1f;border:0;border-radius:18px;box-shadow:none}
.cx-site .service-icon:hover{box-shadow:none}
.cx-site .service-hero-icon{background:#000;box-shadow:0 0 120px -20px rgba(0,217,89,.35)}
.cx-site .ai-code{font-family:Inter,sans-serif;font-weight:700;font-size:56px;letter-spacing:-0.03em;background:none;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.2px rgba(245,245,247,.85)}
.cx-site .metric{font-family:Inter,sans-serif;font-weight:600;font-size:40px;letter-spacing:-0.02em}
.cx-site .stat{padding:32px}
.cx-site .stat-value{font-size:56px;font-weight:600;letter-spacing:-0.02em;color:var(--green)}
.cx-site .benefit-icon{background:rgba(0,217,89,.12);border-color:rgba(0,217,89,.4);color:var(--green)}
.cx-site .case-media::after,.cx-site .post-card-media::after{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.9))}
.cx-site .case-hero-media img{opacity:.3}
.cx-site .case-hero-media::after{background:linear-gradient(180deg,rgba(0,0,0,.55),#000)}
.cx-site .case-hero-metric{font-family:Inter,sans-serif;font-weight:600;color:var(--green)}
.cx-site .testimonial .stars{color:var(--green)}
.cx-site .testimonial-author strong{font-family:Inter,sans-serif}
.cx-site .avatar{border-color:rgba(255,255,255,.25)}
.cx-site .live-badge{border-color:rgba(255,255,255,.2);background:rgba(0,0,0,.6);font-family:Inter,sans-serif}

/* Pasos (Proceso) */
.cx-site .steps{gap:16px}
.cx-site .step{padding:28px 28px 28px 104px;border-radius:28px;background:var(--stage);border:1px solid rgba(255,255,255,.08)}
.cx-site .step-num{left:28px;top:28px;border-radius:50%;background:#1d1d1f;border:1px solid rgba(255,255,255,.14);font-family:Inter,sans-serif;font-weight:600;color:var(--text)}
.cx-site .step h3{font-size:24px;font-weight:600}

/* FAQ */
.cx-site .faq{display:flex;flex-direction:column;gap:12px}
.cx-site .faq-item{position:relative;background:#1d1d1f;border:0;border-radius:28px;padding:20px 28px;transition:background .3s,transform .4s var(--ease)}
.cx-site .faq-item:hover{transform:translateY(-2px)}
.cx-site .faq-item[open]{background:#2a2a2d}
.cx-site .faq-item summary{font-family:Inter,sans-serif;font-size:19px;font-weight:600;align-items:center;gap:16px}
.cx-site .faq-item summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;color:#fff;font-size:18px;transition:transform .45s var(--ease)}
.cx-site .faq-item[open] summary::after{content:"+";transform:rotate(45deg)}
.cx-site .faq-item p{color:rgba(245,245,247,.8);font-size:17px}

/* Botones del tema padre */
.cx-site .btn{position:relative;overflow:hidden;border-radius:980px;font-size:16px;font-weight:500;padding:14px 26px;transition:background .3s,transform .3s}
.cx-site .btn-neon{background:var(--blue);border:0;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
.cx-site .btn-neon:hover{background:#0077ed;box-shadow:inset 0 1px 0 rgba(255,255,255,.22);transform:none}
.cx-site .btn-outline{border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.06);color:#fff}
.cx-site .btn-outline:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6)}
.cx-site .btn:active{transform:scale(.98)}
.cx-site .cta-box{padding:56px;border-radius:32px}
.cx-site .cta-box .section-title{margin:0}

/* Formularios (reserva, contacto, auditoría) */
.cx-site .cescal-form{padding:40px}
.cx-site .form-grid label{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;color:rgba(245,245,247,.75)}
.cx-site .cescal-form input,.cx-site .cescal-form select,.cx-site .cescal-form textarea,.cx-site .newsletter-form input{font-family:Inter,sans-serif;font-size:17px;padding:14px 22px;border-radius:980px;border:1px solid #6e6e73;background:rgba(255,255,255,.04);color:#f5f5f7}
.cx-site .cescal-form textarea{border-radius:24px}
.cx-site .cescal-form select option{background:#1d1d1f}
.cx-site .cescal-form input:focus,.cx-site .cescal-form select:focus,.cx-site .cescal-form textarea:focus,.cx-site .newsletter-form input:focus{border-color:var(--link);box-shadow:0 0 0 4px rgba(41,151,255,.18);outline:none}
.cx-site .cescal-form input::placeholder,.cx-site .cescal-form textarea::placeholder{color:#8e8e93}
.cx-site .form-status.is-ok{color:var(--green)}
.cx-site .form-status.is-error{color:#ff6961}
.cx-site .slot{border-radius:980px;border:0;background:rgba(66,66,69,.72);color:rgba(255,255,255,.88);font-size:14px;font-weight:500;transition:background .25s,color .25s,transform .25s}
.cx-site .slot:hover:not(:disabled){background:#4a4a4f;transform:translateY(-2px)}
.cx-site .slot.is-active{background:#f5f5f7;color:#1d1d1f}
.cx-site .audit-result{padding:40px}
.cx-site .gauge{background:conic-gradient(var(--green) calc(var(--p) * 1%),rgba(255,255,255,.08) 0);box-shadow:0 0 60px -10px rgba(0,217,89,.45);position:relative}
.cx-site .gauge::before{background:#000}
.cx-site .gauge span{font-family:Inter,sans-serif;font-weight:600}
.cx-site .pillar-bar{background:rgba(255,255,255,.08)}
.cx-site .pillar-bar i{background:var(--green)}
.cx-site .audit-verdict{font-style:normal;font-size:19px}

/* Blog */
.cx-site .pill{font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;border:0;background:rgba(66,66,69,.72);color:rgba(255,255,255,.85);padding:9px 18px}
.cx-site .pill:hover{background:#4a4a4f;color:#fff}
.cx-site .pill.active{background:#f5f5f7;color:#1d1d1f}
.cx-site .lang-toggle{border:0;background:rgba(66,66,69,.72)}
.cx-site .lang-toggle a{letter-spacing:.06em}
.cx-site .lang-toggle a.active{background:#f5f5f7;color:#1d1d1f}
.cx-site .post-card{border-radius:28px}
.cx-site .post-card h3{font-size:21px;font-weight:600;line-height:1.25}
.cx-site .post-card:hover h3{color:#fff}
.cx-site .post-card-meta{font-size:12px;letter-spacing:.06em;color:var(--muted)}
.cx-site .post-card-cat{font-family:Inter,sans-serif;background:rgba(0,0,0,.6);border-color:rgba(255,255,255,.2)}
.cx-site .post-card-footer{border-top-color:rgba(255,255,255,.08)}
.cx-site .pagination .page-numbers{border:0;background:rgba(66,66,69,.72);color:#fff;font-size:14px}
.cx-site .pagination .page-numbers.current,.cx-site .pagination .page-numbers:hover{background:#f5f5f7;color:#1d1d1f}
.cx-site .single-post{padding-top:160px}
.cx-site .single-post h1{font-size:clamp(36px,4.6vw,64px);font-weight:600;line-height:1.06}
.cx-site .post-meta{font-size:12px;letter-spacing:.08em;color:var(--muted);border-bottom-color:var(--line)}
.cx-site .post-hero{border-radius:28px}
.cx-site .post-lead{font-size:23px;line-height:1.45;color:#f5f5f7}
.cx-site .post-content{font-size:19px;line-height:1.65;color:rgba(245,245,247,.86)}
.cx-site .post-content h2{font-size:34px;font-weight:600;margin:48px 0 16px}
.cx-site .post-content h3{font-size:26px;font-weight:600;margin:36px 0 12px}
.cx-site .post-content a{color:var(--link);text-decoration:underline;text-underline-offset:3px}
.cx-site .back-link{color:var(--muted)}
.cx-site .back-link:hover{color:#fff}
.cx-site .newsletter-box{border-radius:28px}

/* ---------- 7. Movimiento: bordes de luz, halos, apariciones ---------- */
@property --cx-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.cx-border{position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:3;background:conic-gradient(from var(--cx-a),rgba(255,255,255,.07) 0deg,rgba(255,255,255,.07) 190deg,rgba(0,217,89,1) 255deg,rgba(0,113,227,1) 305deg,rgba(255,255,255,.07) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:cx-spin 6s linear infinite;animation-delay:var(--d,0s);opacity:.75;transition:opacity .4s}
.cx-has-border:hover>.cx-border{opacity:1}
.cx-border-light{background:conic-gradient(from var(--cx-a),rgba(29,29,31,.06) 0deg,rgba(29,29,31,.06) 210deg,rgba(0,113,227,.95) 290deg,rgba(0,217,89,.9) 330deg,rgba(29,29,31,.06) 360deg);opacity:0}
details:hover>.cx-border-light,details[open]>.cx-border-light{opacity:1}
.cx-front .cx-cell,.cx-front .cx-case{transition:box-shadow .5s var(--ease)}
.cx-front .cx-cell:hover,.cx-front .cx-case:hover{box-shadow:0 40px 90px -40px rgba(0,217,89,.35),0 0 0 1px rgba(255,255,255,.08)}
.cx-orb{position:absolute;z-index:-1;width:300px;height:300px;border-radius:50%;right:-90px;top:-90px;background:radial-gradient(circle,rgba(0,217,89,.24),transparent 65%);pointer-events:none;animation:cx-float 13s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.cx-orb.is-blue{background:radial-gradient(circle,rgba(0,113,227,.28),transparent 65%);left:-100px;right:auto;top:auto;bottom:-110px}
.cx-spot{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.09),transparent 45%);opacity:0;transition:opacity .4s}
.cx-has-border:hover>.cx-spot{opacity:1}
.cx-js [data-reveal]{opacity:0;transform:translateY(44px) scale(.96);filter:blur(10px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease);transition-delay:calc(var(--i,0)*110ms)}
.cx-js [data-reveal].is-in{opacity:1;transform:none;filter:none}
.cx-js .cx-split[data-reveal]{opacity:1;transform:none;filter:none}
.cx-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.cx-w>span{display:inline-block;transform:translateY(108%) rotate(4deg);transform-origin:left bottom;transition:transform 1.1s var(--ease);transition-delay:calc(var(--w)*55ms)}
.is-in .cx-w>span,.is-in.cx-split .cx-w>span{transform:none}
.cx-front .cx-stat::before{content:"";position:absolute;top:0;left:0;width:45%;height:1px;background:linear-gradient(90deg,transparent,#00d959,transparent);transform:translateX(-110%);animation:cx-sweep 3.8s var(--ease) infinite;animation-delay:calc(var(--i,0)*.5s)}
.cx-site .cx-btn::after,.cx-pill::after,.cx-site .btn-neon::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:cx-shine 4.5s ease-in-out infinite;pointer-events:none}

@keyframes cx-rise{to{transform:translateY(0)}}
@keyframes cx-fade{to{opacity:1}}
@keyframes cx-drop{to{opacity:1;transform:none}}
@keyframes cx-up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes cx-grow{to{transform:scaleX(1)}}
@keyframes cx-zoom{to{transform:scale(1.18);opacity:.35}}
@keyframes cx-heroout{to{transform:translateY(-100px);opacity:0}}
@keyframes cx-marq{to{transform:translateX(-50%)}}
@keyframes cx-spin{to{--cx-a:360deg}}
@keyframes cx-float{0%{transform:translate(0,0) scale(1)}50%{transform:translate(-70px,60px) scale(1.25)}100%{transform:translate(40px,100px) scale(.9)}}
@keyframes cx-sweep{to{transform:translateX(330%)}}
@keyframes cx-ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.4);opacity:0}}
@keyframes cx-shine{0%,62%{left:-60%}100%{left:130%}}

/* ---------- 8. Responsive ---------- */
@media (max-width:1100px){
  .cx-menu,.cx-hdr .cx-pill{display:none}
  .cx-hdr nav{margin:0}
  .cx-burger{display:inline-flex}
}
@media (max-width:900px){
  .cx-site .cx-wrap,.cx-site .container{padding:0 20px}
  .cx-hdr-in{padding:0 20px}
  .cx-foot-top{grid-template-columns:minmax(0,1fr)}
  .cx-site .page-hero,.cx-site .case-hero{padding:150px 0 48px}
  .cx-site .page-h1{font-size:clamp(26px,7.8vw,44px)}
  .cx-site .section{padding:72px 0}
  .cx-site .card,.cx-site .cescal-form,.cx-site .audit-result,.cx-site .cta-box{padding:28px 24px}
  .cx-site .step{padding:24px 24px 24px 88px}
  .cx-site .step-num{left:20px;top:24px}
  .cx-front .cx-sec{padding:104px 0}
  .cx-front .cx-sec-tight{padding-top:24px}
  .cx-front .cx-hero-in{padding:120px 20px 72px;gap:28px}
  .cx-front .cx-results,.cx-front .cx-ia-in,.cx-front .cx-case{grid-template-columns:minmax(0,1fr)}
  .cx-front .cx-bento{grid-template-columns:minmax(0,1fr)}
  .cx-front .b-seo,.cx-front .b-sem,.cx-front .b-web{grid-column:auto;grid-row:auto}
  .cx-front .b-seo{min-height:440px}
  .cx-front .b-web{flex-direction:column;align-items:flex-start}
  .cx-front .cx-ia-left{position:static}
  .cx-front .cx-ia-big{display:none}
  .cx-front .cx-ia-item{min-height:0;opacity:1;padding:28px 0;border-top:1px solid var(--line)}
  .cx-front .cx-ia-item h3{font-size:40px}
  .cx-front .cx-steps{grid-template-columns:minmax(0,1fr);gap:40px;padding-left:36px}
  .cx-front .cx-steps::before,.cx-front .cx-steps::after{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .cx-front .cx-steps::after{transform:scaleY(0);transform-origin:top}
  .cx-front .cx-steps.is-in::after{transform:scaleY(1)}
  .cx-front .cx-step{padding-top:0}
  .cx-front .cx-step::before,.cx-front .cx-steps.is-in .cx-step::after{left:-36px;top:6px}
  .cx-front .cx-case{position:relative;top:auto;padding:36px 28px;min-height:0;gap:24px}
  .cx-front .cx-light{margin:0 8px;border-radius:32px}
  .cx-front .cx-faq details p{padding:0 24px 24px 24px}
  .cx-front .cx-stat b{font-size:40px}
}
@media (prefers-reduced-motion:reduce){
  .cx-site *,.cx-site *::before,.cx-site *::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0s !important}
  .cx-front .cx-line>span,.cx-brand,.cx-menu li,.cx-pill,.cx-front .cx-hero .cx-badge,.cx-front .cx-hero-side{opacity:1;transform:none;animation:none}
  .cx-front .cx-track,.cx-progress{animation:none}
  .cx-progress,.cx-orb,.cx-site .cx-btn::after,.cx-pill::after,.cx-site .btn-neon::after,.cx-front .cx-stat::before{display:none}
  .cx-w>span{transform:none}
  .cx-js [data-reveal]{filter:none}
}

/* ---------- 9. Clientes reales ---------- */
.cx-front .cx-case.cx-client{min-height:300px}
.cx-front .cx-case h3.cx-case-name,.cx-site .cx-case-name{font-size:clamp(40px,5.4vw,84px);line-height:1;color:var(--text) !important;margin:14px 0 0;max-width:14ch}
.cx-front .cx-client p{color:var(--muted);margin-bottom:22px;font-size:19px;line-height:1.45}
.cx-site .cx-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px}
.cx-site .cx-client-card{padding:40px;min-height:320px;display:flex;flex-direction:column;gap:14px}
.cx-site .cx-client-card h2{font-size:clamp(30px,3vw,44px);font-weight:600;line-height:1.05;margin:0}
.cx-site .cx-client-card p{color:var(--muted);font-size:17px;margin:0}
.cx-site .cx-client-card .cx-link{margin-top:auto}
.cx-site .cx-client-card small{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cx-foot .cx-addr{margin-top:18px;font-style:normal;color:var(--muted);line-height:1.6}
.cx-foot .cx-addr a{color:rgba(245,245,247,.82);text-decoration:none}
.cx-foot .cx-addr a:hover{color:#fff}
