.elementor-1816 .elementor-element.elementor-element-cf85100{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-1816 .elementor-element.elementor-element-cf85100:not(.elementor-motion-effects-element-type-background), .elementor-1816 .elementor-element.elementor-element-cf85100 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-1816 .elementor-element.elementor-element-3c5031b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:0px 50px;--row-gap:0px;--column-gap:50px;}.elementor-1816 .elementor-element.elementor-element-7c59f0e{--display:flex;--justify-content:flex-start;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-1816 .elementor-element.elementor-element-5bbcdc3.elementor-element{--align-self:flex-start;}.elementor-1816 .elementor-element.elementor-element-5bbcdc3{text-align:start;}.elementor-1816 .elementor-element.elementor-element-5bbcdc3 img{width:100%;height:70px;object-fit:contain;object-position:center center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1816 .elementor-element.elementor-element-be53916 .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:17px;font-weight:600;line-height:1.2em;color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-6f6c89f{--grid-template-columns:repeat(0, auto);text-align:center;--icon-size:21px;--grid-column-gap:0px;--grid-row-gap:0px;}.elementor-1816 .elementor-element.elementor-element-6f6c89f.elementor-element{--align-self:flex-start;}.elementor-1816 .elementor-element.elementor-element-6f6c89f .elementor-social-icon{background-color:var( --e-global-color-secondary );--icon-padding:0.5em;border-style:none;}.elementor-1816 .elementor-element.elementor-element-6f6c89f .elementor-social-icon i{color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-6f6c89f .elementor-social-icon svg{fill:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-6f6c89f .elementor-social-icon:hover i{color:#C0CEF7;}.elementor-1816 .elementor-element.elementor-element-6f6c89f .elementor-social-icon:hover svg{fill:#C0CEF7;}.elementor-1816 .elementor-element.elementor-element-978fa03{--display:flex;--justify-content:center;}.elementor-1816 .elementor-element.elementor-element-a3e154d .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:17px;font-weight:600;line-height:1em;color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-3a9bc1c .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:17px;font-weight:600;line-height:1em;color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-ea3eec2 .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:17px;font-weight:600;line-height:1em;color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-2834ac6 .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:17px;font-weight:600;line-height:1em;color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-6796277{--display:flex;--justify-content:center;}.elementor-1816 .elementor-element.elementor-element-580ba7b .elementor-heading-title{font-family:"Nunito", Sans-serif;font-size:20px;font-weight:800;}.elementor-1816 .elementor-element.elementor-element-52813c4 .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:17px;font-weight:600;line-height:1.2em;color:var( --e-global-color-c41de68 );}.elementor-1816 .elementor-element.elementor-element-2be7f47{--display:flex;}.elementor-1816 .elementor-element.elementor-element-8823177 .elementor-heading-title{font-family:"Nunito Sans", Sans-serif;font-size:14px;font-weight:600;line-height:1em;color:#E0E8FF85;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-1816 .elementor-element.elementor-element-3c5031b{--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-1816 .elementor-element.elementor-element-5bbcdc3 img{height:60px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(min-width:768px){.elementor-1816 .elementor-element.elementor-element-7c59f0e{--width:70%;}.elementor-1816 .elementor-element.elementor-element-978fa03{--width:70%;}}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700;800&family=Nunito+Sans:wght@400;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* =================================================================
   EJECUTORA.COM — Estilos compartidos
   Para WordPress + Elementor. Pegar en:
   Elementor → Configuración del sitio → CSS personalizado
   ================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@700;800&family=Nunito+Sans:wght@400;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --ej-cyan: #00C2CB;
  --ej-cyan-dark: #00A8B0;
  --ej-cyan-light: #E8FFFE;
  --ej-cyan-mid: #B2F0F2;
  --ej-navy: #1A1F6E;
  --ej-navy-mid: #2D3399;
  --ej-navy-deep: #13174F;
  --ej-violet: #7B5CF5;
  --ej-violet-light: #EDE8FF;
  --ej-violet-deep: #5A3FD6;
  --ej-pink: #FF6B8A;
  --ej-pink-light: #FFE8EE;
  --ej-white: #FFFFFF;
  --ej-bg: #F5F9FF;
  --ej-body: #2A2A3A;
  --ej-secondary: #5A5A72;
  --ej-muted: #9898B0;
  --ej-border: #E0E8FF;

  --ej-font-display: 'Nunito', sans-serif;
  --ej-font-body: 'Nunito Sans', sans-serif;
  --ej-font-mono: 'JetBrains Mono', monospace;
}

.ej-page * { box-sizing: border-box; }
.ej-page {
  font-family: var(--ej-font-body);
  color: var(--ej-body);
  background: var(--ej-bg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}
.ej-page h1, .ej-page h2, .ej-page h3, .ej-page h4, .ej-page h5 {
  font-family: var(--ej-font-display);
  color: var(--ej-navy);
  margin: 0;
  line-height: 1.1;
  letter-spacing: -0.015em;
}
.ej-page p { margin: 0; line-height: 1.65; }
.ej-page a { color: var(--ej-cyan-dark); text-decoration: none; }
.ej-page a:hover { color: var(--ej-cyan); }
.ej-page img { display: block; max-width: 100%; }
.ej-page button { font-family: inherit; cursor: pointer; border: none; }

/* ── Layout helpers ─────────────────────────────────────────── */
.ej-section { padding: 96px 80px; }
.ej-section--tight { padding: 64px 80px; }
.ej-section--large { padding: 120px 80px; }
.ej-section-inner { max-width: 1180px; margin: 0 auto; }
.ej-section--white { background: var(--ej-white); }
.ej-section--cyan { background: var(--ej-cyan-light); }
.ej-section--navy { background: var(--ej-navy); color: #fff; }
.ej-section--bg { background: var(--ej-bg); }
.ej-section--gradient { background: radial-gradient(ellipse at 80% 20%, var(--ej-cyan-light) 0%, transparent 55%), radial-gradient(ellipse at 10% 90%, var(--ej-violet-light) 0%, transparent 55%), #FBFCFF; }

/* ── Type ──────────────────────────────────────────────────── */
.ej-display { font-family: var(--ej-font-display); font-weight: 800; font-size: clamp(40px, 5.5vw, 68px); line-height: 1.02; letter-spacing: -0.025em; color: var(--ej-navy); }
.ej-h2 { font-family: var(--ej-font-display); font-weight: 800; font-size: clamp(32px, 4vw, 44px); line-height: 1.1; letter-spacing: -0.02em; color: var(--ej-navy); }
.ej-h3 { font-family: var(--ej-font-display); font-weight: 800; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; letter-spacing: -0.015em; color: var(--ej-navy); }
.ej-lead { font-family: var(--ej-font-body); font-size: 19px; line-height: 1.65; color: var(--ej-secondary); }
.ej-kicker { font-family: var(--ej-font-mono); font-size: 12px; font-weight: 500; color: var(--ej-cyan-dark); letter-spacing: 0.14em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 8px; }
.ej-kicker::before { content: ""; width: 24px; height: 1px; background: currentColor; opacity: 0.5; }
.ej-section--navy .ej-kicker { color: var(--ej-cyan); }
.ej-section--navy h1, .ej-section--navy h2, .ej-section--navy h3 { color: #fff; }

/* ── Buttons ───────────────────────────────────────────────── */
.ej-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--ej-font-display); font-weight: 700; font-size: 15px;
  padding: 14px 30px; border-radius: 50px; border: none;
  text-decoration: none; transition: all 0.2s ease; white-space: nowrap;
  cursor: pointer;
}
.ej-btn:hover { transform: translateY(-1px); }
.ej-btn--primary { background: var(--ej-cyan); color: #fff; box-shadow: 0 4px 18px rgba(0,194,203,0.30); }
.ej-btn--primary:hover { background: var(--ej-cyan-dark); box-shadow: 0 8px 28px rgba(0,194,203,0.42); color: #fff; }
.ej-btn--secondary { background: var(--ej-pink); color: #fff; box-shadow: 0 4px 18px rgba(255,107,138,0.30); }
.ej-btn--secondary:hover { background: #e8567a; color: #fff; }
.ej-btn--violet { background: var(--ej-violet); color: #fff; box-shadow: 0 4px 18px rgba(123,92,245,0.32); }
.ej-btn--violet:hover { background: var(--ej-violet-deep); color: #fff; }
.ej-btn--navy { background: var(--ej-navy); color: #fff; }
.ej-btn--navy:hover { background: var(--ej-navy-mid); color: #fff; }
.ej-btn--white { background: #fff; color: var(--ej-navy); box-shadow: 0 4px 20px rgba(26,31,110,0.10); }
.ej-btn--white:hover { background: #f0fffe; color: var(--ej-navy); }
.ej-btn--outline { background: transparent; color: var(--ej-cyan); border: 2px solid var(--ej-cyan); }
.ej-btn--outline:hover { background: var(--ej-cyan-light); color: var(--ej-cyan); }
.ej-btn--ghost { background: transparent; color: var(--ej-navy); }
.ej-btn--ghost:hover { background: var(--ej-cyan-light); color: var(--ej-navy); }
.ej-btn--lg { font-size: 17px; padding: 18px 40px; }
.ej-btn--sm { font-size: 13px; padding: 10px 22px; }

/* ── Badge ─────────────────────────────────────────────────── */
.ej-badge { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ej-font-body); font-size: 12px; font-weight: 600; border-radius: 50px; padding: 6px 14px; background: var(--ej-cyan-light); color: var(--ej-cyan-dark); }
.ej-badge--violet { background: var(--ej-violet-light); color: var(--ej-violet); }
.ej-badge--pink { background: var(--ej-pink-light); color: var(--ej-pink); }
.ej-badge--navy { background: var(--ej-navy); color: #fff; }
.ej-badge--green { background: #E1F5EE; color: #0F6E56; }
.ej-badge--blue { background: #E6F1FB; color: #0C447C; }

/* ── Card ──────────────────────────────────────────────────── */
.ej-card { background: #fff; border-radius: 24px; box-shadow: 0 4px 24px rgba(26,31,110,0.08); padding: 28px; }

/* ── Star (SVG) — used inline as <span class="ej-star"></span> */
.ej-star { display: inline-block; width: 18px; height: 18px; vertical-align: -3px;
  background-color: var(--ej-violet);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1.5 L13.6 9.2 L21.5 10.5 L13.6 11.8 L12 19.5 L10.4 11.8 L2.5 10.5 L10.4 9.2 Z'/></svg>") no-repeat center / contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 1.5 L13.6 9.2 L21.5 10.5 L13.6 11.8 L12 19.5 L10.4 11.8 L2.5 10.5 L10.4 9.2 Z'/></svg>") no-repeat center / contain;
}
.ej-star--cyan { background-color: var(--ej-cyan); }
.ej-star--pink { background-color: var(--ej-pink); }
.ej-star--white { background-color: #fff; }

/* ── Newsletter form ───────────────────────────────────────── */
.ej-newsletter {
  display: flex; gap: 8px; padding: 6px;
  background: #fff; border: 1.5px solid var(--ej-border);
  border-radius: 50px; box-shadow: 0 4px 24px rgba(26,31,110,0.08);
  max-width: 460px; width: 100%;
}
.ej-newsletter--hero { padding: 8px; max-width: 520px; }
.ej-newsletter input { flex: 1; border: none; outline: none; background: transparent; padding: 10px 18px; font-family: var(--ej-font-body); font-size: 14px; color: var(--ej-body); }
.ej-newsletter--hero input { padding: 14px 22px; font-size: 16px; }
.ej-newsletter--navy { background: rgba(255,255,255,0.10); border: 1.5px solid rgba(255,255,255,0.18); box-shadow: none; }
.ej-newsletter--navy input { color: #fff; }
.ej-newsletter--navy input::placeholder { color: rgba(255,255,255,0.55); }

/* ── Header ────────────────────────────────────────────────── */
.ej-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.92); backdrop-filter: blur(16px); border-bottom: 1px solid var(--ej-border); height: 72px; display: flex; align-items: center; padding: 0 40px; font-family: var(--ej-font-body); }
.ej-header-inner { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1180px; margin: 0 auto; }
.ej-header-logo img { height: 30px; display: block; }
.ej-header-nav { display: flex; gap: 6px; align-items: center; }
.ej-header-nav a { padding: 8px 14px; border-radius: 50px; font-size: 14px; font-weight: 600; color: var(--ej-secondary); white-space: nowrap; transition: all 0.15s; }
.ej-header-nav a:hover { color: var(--ej-cyan-dark); background: var(--ej-cyan-light); }
.ej-header-nav a.is-active { color: var(--ej-cyan-dark); background: var(--ej-cyan-light); }
@media (max-width: 900px) {
  .ej-header-nav { display: none; }
}

/* ── Footer ────────────────────────────────────────────────── */
.ej-footer { background: var(--ej-navy); color: #fff; padding: 64px 80px 32px; font-family: var(--ej-font-body); }
.ej-footer-inner { max-width: 1180px; margin: 0 auto; }
.ej-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: 48px; margin-bottom: 48px; }
.ej-footer-brand img { height: 44px; margin-bottom: 18px; filter: brightness(1.2); }
.ej-footer-brand p { font-size: 14px; color: rgba(255,255,255,0.62); line-height: 1.75; max-width: 280px; }
.ej-socials { margin-top: 20px; display: flex; gap: 10px; }
.ej-socials a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.08); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.7); font-size: 12px; font-weight: 700; }
.ej-socials a:hover { background: var(--ej-cyan); color: var(--ej-navy); }
.ej-footer-col-title { font-family: var(--ej-font-mono); font-size: 11px; font-weight: 500; color: var(--ej-cyan); letter-spacing: 0.14em; text-transform: uppercase; margin: 0 0 18px; }
.ej-footer-col a { display: block; font-size: 14px; color: rgba(255,255,255,0.62); margin-bottom: 12px; }
.ej-footer-col a:hover { color: #fff; }
.ej-footer-bottom { border-top: 1px solid rgba(255,255,255,0.10); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; }
.ej-footer-bottom span { font-size: 12px; color: rgba(255,255,255,0.35); }
@media (max-width: 900px) {
  .ej-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .ej-footer { padding: 48px 24px 24px; }
}

/* ── Common: post cover, grid utilities, etc ───────────────── */
.ej-post-cover {
  aspect-ratio: 16 / 10; border-radius: 16px; position: relative; overflow: hidden;
  display: flex; align-items: flex-end; padding: 18px; color: #fff;
}
.ej-post-cover::before {
  content: ""; position: absolute; inset: 0; opacity: 0.4;
  background: radial-gradient(circle at 20% 30%, rgba(255,255,255,0.5) 0, transparent 35%), radial-gradient(circle at 80% 70%, rgba(255,255,255,0.5) 0, transparent 35%);
}
.ej-post-cover-label { position: absolute; top: 14px; right: 14px; font-family: var(--ej-font-mono); font-size: 10px; color: rgba(255,255,255,0.7); letter-spacing: 0.1em; }
.ej-post-cover-glyph { position: relative; font-family: var(--ej-font-display); font-weight: 800; color: rgba(255,255,255,0.95); font-size: 36px; line-height: 1; letter-spacing: -0.02em; }

/* ── Responsive baselines ─────────────────────────────────── */
@media (max-width: 980px) {
  .ej-section, .ej-section--tight, .ej-section--large { padding: 64px 24px; }
  .ej-header { padding: 0 20px; height: 64px; }
  .ej-grid-2, .ej-grid-3, .ej-grid-4, .ej-grid-5 { grid-template-columns: 1fr !important; }
}

.ej-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.ej-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ej-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ej-grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }/* End custom CSS */