  :root{--indigo:#3a2e7a;--violet:#6c2bd9;--magenta:#be00fe;--ink:#171326;--soft:#615a7c;--line:#ece7f7;--bg:#fff;--bg2:#faf8ff;--grad:linear-gradient(120deg,#6c2bd9,#be00fe)}
  *{box-sizing:border-box}html{scroll-behavior:smooth}
  body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.62;-webkit-font-smoothing:antialiased}
  a{color:var(--violet);text-decoration:none}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
  h1,h2,h3{letter-spacing:-.02em;line-height:1.1;text-wrap:balance}
  header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.82);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:66px;gap:14px}
  .brand{font-weight:900;font-size:19px;display:flex;align-items:center;gap:9px}
  .brand .m{width:26px;height:26px;border-radius:8px;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:15px;font-weight:900}
  .navlinks{display:flex;gap:22px;align-items:center;font-size:14.5px;font-weight:600;color:var(--soft)}
  .navlinks a{color:var(--soft)}.navlinks a:hover{color:var(--ink)}
  .btn{display:inline-block;font-weight:700;border-radius:11px;padding:11px 20px;font-size:14.5px;transition:.15s;cursor:pointer;border:1px solid transparent}
  .btn.p{background:var(--grad);color:#fff;box-shadow:0 6px 18px rgba(140,20,200,.28)}.btn.p:hover{transform:translateY(-1px)}
  .btn.g{background:#fff;border-color:var(--line);color:var(--ink)}.btn.g:hover{border-color:var(--violet);color:var(--violet)}
  .lang{display:flex;gap:2px;background:#f4ecff;border:1px solid #e6d9fb;border-radius:9px;padding:3px}
  .lang button{border:0;background:transparent;font:inherit;font-size:12px;font-weight:800;color:var(--soft);padding:4px 8px;border-radius:6px;cursor:pointer;text-transform:uppercase}
  .lang button.on{background:#fff;color:var(--violet);box-shadow:0 1px 3px rgba(108,43,217,.18)}
  @media(max-width:820px){.navlinks a:not(.btn){display:none}}
  .hero{padding:84px 0 70px;text-align:center;background:radial-gradient(60% 90% at 50% -10%,#f4ecff,rgba(255,255,255,0) 60%)}
  .eyebrow{display:inline-flex;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--violet);background:#f3ecff;border:1px solid #e6d9fb;padding:6px 14px;border-radius:999px}
  .hero h1{font-size:clamp(38px,6.4vw,64px);font-weight:900;margin:22px auto 18px;max-width:15ch}
  .hero h1 .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .lead{font-size:clamp(17px,2.1vw,21px);color:var(--soft);max-width:60ch;margin:0 auto 32px}
  .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.cta .btn{padding:14px 28px;font-size:15.5px}
  .note{margin-top:18px;font-size:13px;color:#948caf}
  .pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:32px}
  .pill{font-size:13px;font-weight:700;color:var(--soft);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 15px}.pill b{color:var(--violet)}
  section.s{padding:72px 0}
  .sec-h{text-align:center;max-width:62ch;margin:0 auto 44px}
  .sec-h .k{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--magenta)}
  .sec-h h2{font-size:clamp(28px,4vw,40px);font-weight:900;margin:12px 0 12px}.sec-h p{color:var(--soft);font-size:17px;margin:0}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
  .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;transition:.18s}
  .card:hover{transform:translateY(-3px);border-color:#d8c8f7;box-shadow:0 14px 34px rgba(60,30,120,.08)}
  .card .ic{width:40px;height:40px;border-radius:11px;background:#f4ecff;display:grid;place-items:center;font-size:20px;margin-bottom:14px}
  .card h3{font-size:17.5px;font-weight:800;margin:0 0 6px}.card p{font-size:14.3px;color:var(--soft);margin:0}
  .card .n{float:right;font-size:12px;font-weight:800;color:#cdbdf0}
  .triad{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .triad .tag{display:inline-block;font-weight:900;font-size:13px;padding:4px 10px;border-radius:7px;color:#fff;margin-bottom:10px}
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;counter-reset:s}
  .step{position:relative;padding:24px 20px;border:1px solid var(--line);border-radius:16px;background:#fff}
  .step::before{counter-increment:s;content:counter(s);position:absolute;top:-14px;left:20px;width:30px;height:30px;border-radius:9px;background:var(--grad);color:#fff;display:grid;place-items:center;font-weight:900}
  .step h3{font-size:16.5px;margin:10px 0 6px;font-weight:800}.step p{font-size:13.8px;color:var(--soft);margin:0}
  .why{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .why .card{display:flex;gap:14px;align-items:flex-start}.why .em{font-size:26px;line-height:1}
  .price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
  .plan{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px;display:flex;flex-direction:column}
  .plan.feat{border:2px solid var(--violet);box-shadow:0 18px 44px rgba(108,43,217,.14);position:relative}
  .plan.feat .badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;font-size:11.5px;font-weight:800;text-transform:uppercase;padding:5px 14px;border-radius:999px}
  .plan h3{font-size:19px;font-weight:900;margin:0 0 4px}.plan .desc{font-size:13.5px;color:var(--soft);min-height:38px;margin:0 0 14px}
  .plan .amt{font-size:40px;font-weight:900}.plan .amt small{font-size:15px;font-weight:700;color:var(--soft)}
  .plan ul{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:9px}
  .plan li{font-size:14px;padding-left:26px;position:relative}.plan li::before{content:"✓";position:absolute;left:0;color:var(--violet);font-weight:900}
  .plan .btn{text-align:center;margin-top:auto}.price-note{text-align:center;color:var(--soft);font-size:13.5px;margin-top:22px}
  .faq{max-width:760px;margin:0 auto;display:grid;gap:10px}
  details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 20px}
  details[open]{border-color:#d8c8f7}
  summary{cursor:pointer;font-weight:700;font-size:16px;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
  summary::-webkit-details-marker{display:none}summary::after{content:"+";color:var(--violet);font-weight:900;font-size:22px}
  details[open] summary::after{content:"–"}details p{margin:0 0 18px;color:var(--soft);font-size:14.6px}
  .band .box{background:var(--grad);border-radius:24px;padding:56px 32px;text-align:center;color:#fff}
  .band h2{font-size:clamp(26px,4vw,38px);font-weight:900;margin:0 0 12px;color:#fff}
  .band p{font-size:17.5px;opacity:.94;max-width:52ch;margin:0 auto 28px}
  .band .btn.w{background:#fff;color:var(--violet)}.band .btn.o{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
  footer{border-top:1px solid var(--line);padding:40px 0;color:var(--soft);font-size:14px}
  .foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
  .foot .links{display:flex;gap:22px;flex-wrap:wrap}.foot a{color:var(--soft)}
  @media(max-width:560px){.hero{padding:58px 0 50px}.band .box{padding:40px 22px}}

/* Franja morada (.band .box): todo el texto debe ir en blanco sobre el degradado. */
.band .box .sec-h{margin-bottom:22px}
.band .box p,.band .box li,.band .box .note{color:#fff;opacity:.94}
.band .box .sec-h .k{color:#fff;opacity:.8}
.band .box h2,.band .box h3{color:#fff}

/* Selector de idioma de Polylang: mismo aspecto que el de la landing. */
.lang a{border:0;background:transparent;font:inherit;font-size:12px;font-weight:800;color:var(--soft);padding:5px 9px;border-radius:7px;cursor:pointer;text-transform:uppercase;text-decoration:none}
.lang a.on{background:rgba(108,43,217,.12);color:var(--violet)}

/* ── LISTADO DE ARTÍCULOS EN CUADRÍCULA ───────────────────────────────────────
   La clase .grid del diseño usa auto-fit, así que en pantallas anchas se estiraba
   hasta 4-5 columnas y los artículos quedaban minúsculos. Aquí se fija el ritmo que
   pidió JC: 3 por línea en escritorio, 2 en tableta, 1 en móvil. */
.blog-grid { display: grid; gap: 22px; margin: 8px 0 34px; grid-template-columns: 1fr; }
@media (min-width: 700px)  { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .blog-grid { grid-template-columns: repeat(3, 1fr); } }

/* La paginación y el aviso de "sin artículos" ocupan la fila entera, no una celda. */
.blog-grid > .blog-pag,
.blog-grid > .wp-block-query-no-results,
.blog-grid > p { grid-column: 1 / -1; }

/* ── TARJETA DE ARTÍCULO ── */
.post-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 0 0 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: .18s;
}
.post-card:hover { transform: translateY(-3px); border-color: #d8c8f7; box-shadow: 0 14px 34px rgba(60,30,120,.08); }

.post-card .post-card-img { margin: 0 0 14px; }
.post-card .post-card-img img { width: 100%; height: 180px; object-fit: cover; display: block; }
/* Sin imagen destacada, la tarjeta no debe quedar descuadrada. */
.post-card .post-card-img:empty { display: none; }

.post-card .post-card-cat,
.post-card .post-card-title,
.post-card .post-card-exc,
.post-card .post-card-date { padding: 0 20px; }

.post-card .post-card-cat { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--magenta); margin: 0 0 8px; }
.post-card .post-card-cat a { color: inherit; text-decoration: none; }

.post-card .post-card-title { font-size: 17.5px; font-weight: 800; line-height: 1.35; margin: 0 0 8px; }
.post-card .post-card-title a { color: var(--ink); text-decoration: none; }
.post-card .post-card-title a:hover { color: var(--violet); }

.post-card .post-card-exc { font-size: 14px; color: var(--soft); line-height: 1.6; margin: 0 0 14px; flex: 1; }
.post-card .post-card-date { font-size: 12px; color: #a99fc4; margin: 0; }

/* Paginación centrada y discreta. */
.blog-pag { display: flex; gap: 10px; justify-content: center; align-items: center; margin-top: 8px; font-size: 14px; }
.blog-pag a { color: var(--violet); text-decoration: none; font-weight: 700; }
.blog-pag .page-numbers.current { color: var(--ink); font-weight: 800; }

/* CORRECCIÓN: WordPress envuelve los artículos en su propia lista (.wp-block-post-template)
   dentro del bloque de consulta, así que la rejilla debe aplicarse a ESA lista. Aplicada al
   contenedor de fuera, quedaba una sola columna con las tarjetas estrechas. */
.blog-grid .wp-block-post-template {
  display: grid;
  gap: 22px;
  margin: 8px 0 34px;
  padding: 0;
  list-style: none;
  grid-template-columns: 1fr;
}
@media (min-width: 700px)  { .blog-grid .wp-block-post-template { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .blog-grid .wp-block-post-template { grid-template-columns: repeat(3, 1fr); } }

/* Cada artículo es un elemento de lista: no debe llevar viñeta ni ancho limitado. */
.blog-grid .wp-block-post-template > li { margin: 0; max-width: none; }
.blog-grid .wp-block-post-template > li > .post-card { height: 100%; }

/* El contenedor de fuera ya no maqueta nada. */
.blog-grid { display: block; }

/* Simbolo oficial de 7 aspas (Manual v1.0). Sustituye la caja con la letra "H". */
.brand .mark{width:26px;height:26px;flex:none;display:block}
