/* Sales page — Diagnóstico StellarWP & Auditoría Enraizada
   Requires tokens.css to be loaded first (already enqueued by theme). */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 72px; }

/* ----------------- Buttons ----------------- */
.btn--sp {
  font-family: var(--font-display); font-weight: 800;
  font-size: 15px; padding: 12px 22px;
  border-radius: var(--radius-pill); border: 0; cursor: pointer;
  transition: all var(--dur) var(--ease-out);
  display: inline-flex; align-items: center; gap: 10px;
  white-space: nowrap; text-decoration: none;
}
.btn--sp:active { transform: scale(.98); }
.btn--sp-lg  { padding: 16px 30px; font-size: 17px; }
.btn--sp-xl  { padding: 20px 36px; font-size: 19px; }
.btn--sp-block { width: 100%; justify-content: center; }
.btn--sp-primary { background: var(--eln-magenta); color: #fff; box-shadow: var(--shadow-sm); }
.btn--sp-primary:hover { background: color-mix(in oklab, var(--eln-magenta) 92%, #000); box-shadow: var(--shadow-pink); transform: translateY(-1px); color: #fff; }
.btn--sp-ghost { background: transparent; color: rgba(255,255,255,.85); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.3); }
.btn--sp-ghost:hover { background: rgba(255,255,255,.08); color: #fff; }
.btn--sp .sp-arrow { transition: transform var(--dur) var(--ease-out); }
.btn--sp:hover .sp-arrow { transform: translateX(3px); }

/* ----------------- Nav ----------------- */
.sp-nav {
  position: sticky; top: 0; z-index: 20;
  background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-1);
}
.sp-nav__inner { max-width: 1200px; margin: 0 auto; padding: 14px 32px; display: flex; align-items: center; gap: 24px; }
.sp-nav__brand { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: 1; }
.sp-nav__wordmark { display: flex; flex-direction: column; line-height: 1; }
.sp-nav__word1 { font-family: var(--font-display); font-weight: 900; font-size: 15px; color: var(--eln-midnight); letter-spacing: .02em; }
.sp-nav__word2 { font-family: var(--font-script); font-size: 16px; color: var(--eln-magenta); margin-top: 3px; }
.sp-nav__back { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: var(--fg-2); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.sp-nav__back:hover { color: var(--eln-magenta); }
.sp-nav__cta { display: none; }
@media (min-width: 800px) { .sp-nav__cta { display: inline-flex; } }

/* ----------------- Hero ----------------- */
.sp-hero {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, var(--eln-paper) 0%, #fff 100%);
  padding: 80px 0 96px;
}
.sp-hero--calm {
  background: linear-gradient(180deg, var(--eln-teal-50) 0%, #fff 70%);
}
.sp-hero__rosette-a, .sp-hero__rosette-b {
  position: absolute; pointer-events: none; user-select: none;
  opacity: .12; mix-blend-mode: multiply;
}
.sp-hero__rosette-a { top: -120px; right: -120px; width: 520px; transform: rotate(8deg); }
.sp-hero__rosette-b { bottom: -180px; left: -160px; width: 480px; opacity: .08; transform: rotate(-12deg); }

.sp-hero__inner { position: relative; display: grid; grid-template-columns: 1.35fr 1fr; gap: 56px; align-items: center; }
@media (max-width: 900px) { .sp-hero__inner { grid-template-columns: 1fr; gap: 36px; } }

.sp-eyebrow {
  font-family: var(--font-display); font-weight: 800;
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--eln-cyan);
  display: inline-flex; align-items: center; gap: 10px;
}
.sp-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--eln-cyan); border-radius: 2px; }
.sp-eyebrow--magenta { color: var(--eln-magenta); }
.sp-eyebrow--magenta::before { background: var(--eln-magenta); }
.sp-eyebrow--white { color: rgba(255,255,255,.85); }
.sp-eyebrow--white::before { background: rgba(255,255,255,.5); }

.sp-hero__title {
  font-family: var(--font-display); font-weight: 900;
  font-size: clamp(40px, 5.6vw, 64px); line-height: 1.02;
  letter-spacing: -0.02em; color: var(--eln-midnight);
  margin: 18px 0 12px; text-wrap: balance;
}
.sp-hero__title .sp-accent { color: var(--eln-cyan); }
.sp-hero--calm .sp-hero__title .sp-accent { color: var(--eln-cyan); }
.sp-hero__script {
  font-family: var(--font-script); font-weight: 400;
  font-size: clamp(24px, 2.7vw, 32px); color: var(--eln-magenta);
  line-height: 1.2; margin: 0 0 22px;
}
.sp-hero__lead { font-size: 18px; line-height: 1.6; color: var(--fg-2); max-width: 560px; }
.sp-hero__lead strong { color: var(--eln-midnight); font-weight: 700; }

.sp-hero__meta { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 24px; color: var(--fg-2); font-size: 14px; }
.sp-hero__meta-item { display: inline-flex; align-items: center; gap: 8px; }
.sp-hero__meta-item img { width: 18px; height: 18px; }

/* Hero price card */
.sp-price-card {
  background: #fff; border-radius: var(--radius-xl);
  padding: 32px; box-shadow: var(--shadow-md);
  position: relative;
  border: 1px solid var(--border-1);
}
.sp-price-card::before {
  content: ""; position: absolute; inset: -1px; border-radius: inherit;
  background: var(--eln-rainbow); z-index: -1; opacity: .9;
  padding: 2px; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude; -webkit-mask-composite: xor;
}
.sp-price-card--calm::before { display: none; }
.sp-price-card--calm { border: 1px solid var(--border-1); box-shadow: var(--shadow-md); }

.sp-price-card__badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--eln-pink-50); color: var(--eln-magenta);
  font-family: var(--font-display); font-weight: 800; font-size: 11px;
  letter-spacing: .1em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 999px;
}
.sp-price-card--calm .sp-price-card__badge {
  background: var(--eln-teal-50); color: var(--eln-cyan);
}
.sp-price-card__amt {
  display: flex; align-items: baseline; gap: 8px;
  margin: 16px 0 4px;
}
.sp-price-card__num { font-family: var(--font-display); font-weight: 900; font-size: 72px; line-height: 1; color: var(--eln-midnight); letter-spacing: -0.03em; }
.sp-price-card__cur { font-family: var(--font-display); font-weight: 900; font-size: 36px; color: var(--eln-midnight); }
.sp-price-card__iva { color: var(--fg-3); font-size: 14px; }
.sp-price-card__what { color: var(--fg-2); font-size: 15px; margin: 4px 0 22px; }
.sp-price-card__what b { color: var(--eln-midnight); font-weight: 700; }
.sp-price-card__quota {
  display: flex; align-items: center; gap: 10px;
  margin-top: 18px; padding-top: 18px; border-top: 1px dashed var(--border-1);
  font-size: 13px; color: var(--fg-2);
}
.sp-dot-pulse {
  width: 8px; height: 8px; border-radius: 999px; background: var(--eln-magenta);
  box-shadow: 0 0 0 0 rgba(198,90,129,.5);
  animation: sp-dot-pulse 2.2s var(--ease-out) infinite;
  flex-shrink: 0;
}
.sp-price-card--calm .sp-dot-pulse { background: var(--eln-cyan); animation: none; box-shadow: none; }
@keyframes sp-dot-pulse {
  0%   { box-shadow: 0 0 0 0   rgba(198,90,129,.45); }
  70%  { box-shadow: 0 0 0 10px rgba(198,90,129,0); }
  100% { box-shadow: 0 0 0 0   rgba(198,90,129,0); }
}
.sp-price-card__quota b { color: var(--eln-midnight); font-weight: 700; }

/* ----------------- Generic section ----------------- */
.sp-section { padding: 96px 0; }
.sp-section--paper { background: var(--bg-paper); }
.sp-section--alt { background: var(--bg-2); }
.sp-section--ink { background: var(--eln-midnight); color: #fff; }
.sp-section--ink h2 { color: var(--eln-gold); }
.sp-section--ink h3, .sp-section--ink h4 { color: #fff; }
@media (max-width: 700px) { .sp-section { padding: 64px 0; } }

.sp-section__head { margin-bottom: 48px; text-align: center; }
.sp-section__head--left { text-align: left; }
.sp-section__head h2 { font-family: var(--font-script); font-weight: 400; color: var(--eln-magenta); font-size: clamp(26px, 2.6vw, 32px); margin: 0 0 8px; line-height: 1.1; }
.sp-section__head h3 { font-family: var(--font-display); font-weight: 900; color: var(--eln-midnight); font-size: clamp(28px, 3.2vw, 40px); margin: 0; letter-spacing: -0.01em; line-height: 1.1; text-wrap: balance; }
.sp-section__lead { max-width: 720px; margin: 16px auto 0; text-align: center; font-size: 18px; line-height: 1.65; color: var(--fg-2); }

.sp-wrap { max-width: 1120px; margin: 0 auto; padding: 0 32px; }
.sp-wrap--narrow { max-width: 760px; }
.sp-wrap--mid { max-width: 920px; }

/* ----------------- Prose section ----------------- */
.sp-prose p { font-size: 18px; line-height: 1.7; color: var(--fg-1); margin: 0 0 18px; }
.sp-prose p:last-child { margin-bottom: 0; }
.sp-prose strong { color: var(--eln-midnight); font-weight: 700; }
.sp-destacat {
  margin-top: 28px; padding: 16px 20px;
  border-left: 3px solid currentColor;
  border-radius: var(--radius-sm);
  font-size: 16px; line-height: 1.6;
}
.sp-destacat p { margin: 0 0 10px; font-size: inherit; color: inherit; }
.sp-destacat p:last-child { margin-bottom: 0; }
.sp-destacat a { font-weight: 700; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.sp-destacat--rosa { color: var(--eln-magenta); background: color-mix(in oklab, var(--eln-magenta) 8%, transparent); }
.sp-destacat--or   { color: #9a6e00; background: var(--eln-gold-100); border-color: var(--eln-gold); }
.sp-destacat--teal { color: var(--eln-cyan); background: var(--eln-teal-50); }

/* ----------------- Tag chips ----------------- */
.sp-tag-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.sp-tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: 999px;
  background: var(--eln-teal-50); color: var(--eln-cyan);
  font-family: var(--font-display); font-weight: 700; font-size: 12px;
  letter-spacing: .04em; text-transform: uppercase;
}
.sp-tag--gold { background: var(--eln-gold-100); color: color-mix(in oklab, var(--eln-gold) 65%, #000); }
.sp-tag--lavender { background: var(--eln-lavender-100); color: color-mix(in oklab, var(--eln-gray) 55%, #000); }

/* ----------------- Includes list ----------------- */
.sp-includes {
  display: grid; gap: 16px;
  max-width: 820px; margin: 0 auto;
}
.sp-include {
  display: grid; grid-template-columns: 56px 1fr; gap: 20px;
  background: #fff; border: 1px solid var(--border-1);
  border-radius: var(--radius-xl); padding: 22px 26px;
  box-shadow: var(--shadow-xs);
  transition: all var(--dur) var(--ease-out);
}
.sp-include:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); border-color: color-mix(in oklab, var(--eln-cyan) 30%, var(--border-1)); }
.sp-include__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg);
  background: var(--eln-teal-50); display: grid; place-items: center;
  position: relative; flex-shrink: 0;
}
.sp-include__icon img { width: 32px; height: 32px; object-fit: contain; }
.sp-include__check {
  position: absolute; right: -6px; bottom: -6px;
  width: 22px; height: 22px; border-radius: 999px;
  background: var(--eln-cyan); color: #fff;
  display: grid; place-items: center;
  box-shadow: 0 2px 6px rgba(27,154,163,.4);
}
.sp-include__check svg { width: 12px; height: 12px; }
.sp-include h4 { font-family: var(--font-display); font-weight: 800; font-size: 17px; color: var(--eln-midnight); margin: 4px 0 6px; }
.sp-include p { margin: 0; color: var(--fg-2); font-size: 15px; line-height: 1.55; }
.sp-include p code { font-size: 13px; background: var(--bg-2); padding: 1px 6px; border-radius: 4px; color: var(--eln-midnight); }

/* ----------------- Excludes list ----------------- */
.sp-excludes { display: grid; gap: 14px; max-width: 820px; margin: 0 auto; }
.sp-exclude {
  display: grid; grid-template-columns: 32px 1fr; gap: 18px;
  padding: 18px 24px; border-radius: var(--radius-lg);
  background: rgba(255,255,255,.55); border: 1px dashed var(--border-2);
}
.sp-exclude__x {
  width: 28px; height: 28px; border-radius: 999px;
  background: #fff; color: var(--eln-magenta);
  display: grid; place-items: center; flex-shrink: 0;
  box-shadow: inset 0 0 0 1.5px var(--eln-pink-100);
  margin-top: 2px;
}
.sp-exclude__x svg { width: 12px; height: 12px; }
.sp-exclude h4 { font-family: var(--font-display); font-weight: 800; font-size: 16px; color: var(--eln-midnight); margin: 0 0 6px; }
.sp-exclude p { margin: 0; color: var(--fg-2); font-size: 15px; line-height: 1.55; }
.sp-excludes__intro { max-width: 820px; margin: 0 auto 32px; font-size: 17px; color: var(--fg-2); text-align: center; line-height: 1.6; }

/* ----------------- Steps ----------------- */
.sp-steps { display: grid; gap: 16px; max-width: 860px; margin: 0 auto; position: relative; list-style: none; padding: 0; }
.sp-step {
  display: grid; grid-template-columns: 76px 1fr; gap: 24px; align-items: start;
  background: #fff; padding: 24px 28px; border-radius: var(--radius-xl);
  border: 1px solid var(--border-1);
  box-shadow: var(--shadow-xs);
  position: relative;
}
.sp-step__n {
  font-family: var(--font-display); font-weight: 900; font-size: 24px;
  color: #fff; background: var(--eln-cyan);
  border-radius: var(--radius-pill);
  width: 64px; height: 64px;
  display: grid; place-items: center;
  letter-spacing: -0.02em;
  box-shadow: 0 4px 14px rgba(27,154,163,.3);
}
.sp-step:nth-child(2) .sp-step__n { background: var(--eln-gray); box-shadow: 0 4px 14px rgba(138,127,173,.3); }
.sp-step:nth-child(3) .sp-step__n { background: var(--eln-gray); box-shadow: 0 4px 14px rgba(138,127,173,.3); }
.sp-step:nth-child(4) .sp-step__n { background: var(--eln-magenta); box-shadow: 0 4px 14px rgba(198,90,129,.3); }
.sp-step:nth-child(5) .sp-step__n { background: var(--eln-magenta); box-shadow: 0 4px 14px rgba(198,90,129,.3); }
.sp-step:nth-child(6) .sp-step__n { background: var(--eln-gold); box-shadow: 0 4px 14px rgba(224,166,44,.3); }
.sp-step h4 { font-family: var(--font-display); font-weight: 800; font-size: 18px; color: var(--eln-midnight); margin: 8px 0 6px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.sp-step__meta { font-family: var(--font-body); font-weight: 400; font-size: 13px; color: var(--fg-2); white-space: nowrap; }
.sp-step p { margin: 0; color: var(--fg-2); font-size: 15px; line-height: 1.55; }
.sp-steps__note { text-align: center; margin-top: 24px; color: var(--fg-3); font-size: 14px; }

/* Steps calm variant */
.sp-steps--calm .sp-step:nth-child(1) .sp-step__n { background: var(--eln-cyan);    box-shadow: 0 4px 14px rgba(27,154,163,.3); }
.sp-steps--calm .sp-step:nth-child(2) .sp-step__n { background: var(--eln-cyan);    box-shadow: 0 4px 14px rgba(27,154,163,.3); }
.sp-steps--calm .sp-step:nth-child(3) .sp-step__n { background: var(--eln-cyan);    box-shadow: 0 4px 14px rgba(27,154,163,.3); }
.sp-steps--calm .sp-step:nth-child(4) .sp-step__n { background: var(--eln-gray);    box-shadow: 0 4px 14px rgba(138,127,173,.3); }
.sp-steps--calm .sp-step:nth-child(5) .sp-step__n { background: var(--eln-gray);    box-shadow: 0 4px 14px rgba(138,127,173,.3); }
.sp-steps--calm .sp-step:nth-child(6) .sp-step__n { background: var(--eln-gold);    box-shadow: 0 4px 14px rgba(224,166,44,.3); }
.sp-steps--calm .sp-step:nth-child(7) .sp-step__n { background: var(--eln-gold);    box-shadow: 0 4px 14px rgba(224,166,44,.3); }

/* ----------------- Audience (para quién) ----------------- */
.sp-audience { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 1000px; margin: 0 auto; }
@media (max-width: 800px) { .sp-audience { grid-template-columns: 1fr; } }
.sp-audience__col {
  padding: 36px; border-radius: var(--radius-xl);
  background: #fff; border: 1px solid var(--border-1);
}
.sp-audience__col--yes { border-color: color-mix(in oklab, var(--eln-cyan) 40%, var(--border-1)); background: linear-gradient(180deg, var(--eln-teal-50) 0%, #fff 60%); }
.sp-audience__col--no  { background: var(--bg-2); }
.sp-audience__col h4 { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 900; font-size: 20px; color: var(--eln-midnight); margin: 0 0 20px; }
.sp-audience__col--yes h4 { color: var(--eln-cyan); }
.sp-audience__col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.sp-audience__col li { display: flex; gap: 12px; font-size: 16px; line-height: 1.55; color: var(--fg-1); }
.sp-audience__col--no li { color: var(--fg-2); }
.sp-audience__col li svg { width: 22px; height: 22px; margin-top: 4px; flex-shrink: 0; }
.sp-audience__col--yes li svg { color: var(--eln-cyan); }
.sp-audience__col--no li svg { color: var(--eln-gray); }

/* ----------------- Author ----------------- */
.sp-author { display: grid; grid-template-columns: 280px 1fr; gap: 56px; align-items: center; max-width: 980px; margin: 0 auto; }
@media (max-width: 800px) { .sp-author { grid-template-columns: 1fr; gap: 32px; text-align: center; } .sp-author__photo { margin: 0 auto; } }
.sp-author__photo {
  width: 280px; height: 280px; border-radius: var(--radius-2xl);
  background: var(--eln-rainbow-radial); position: relative; overflow: hidden;
  box-shadow: var(--shadow-md); flex-shrink: 0;
}
.sp-author__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sp-author__name { font-family: var(--font-display); font-weight: 900; font-size: 28px; color: var(--eln-midnight); margin: 0 0 4px; }
.sp-author__role { font-family: var(--font-script); color: var(--eln-magenta); font-size: 22px; margin: 0 0 18px; line-height: 1.2; }
.sp-author__bio p { color: var(--fg-2); line-height: 1.65; margin: 0 0 14px; }
.sp-author__bio p:last-child { margin-bottom: 0; }
.sp-author__bio strong { color: var(--eln-midnight); font-weight: 700; }
.sp-author__bio a { color: var(--eln-cyan); text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--eln-cyan) 35%, transparent); }

/* ----------------- FAQ (landing style) ----------------- */
.sp-faq { max-width: 760px; margin: 0 auto; display: grid; gap: 12px; }
.sp-faq details {
  background: #fff; border: 1px solid var(--border-1); border-radius: var(--radius-lg);
  overflow: hidden;
  transition: all var(--dur) var(--ease-out);
}
.sp-faq details[open] { box-shadow: var(--shadow-sm); border-color: color-mix(in oklab, var(--eln-cyan) 30%, var(--border-1)); }
.sp-faq summary {
  list-style: none; cursor: pointer; padding: 22px 26px;
  display: flex; align-items: flex-start; gap: 16px; justify-content: space-between;
  font-family: var(--font-display); font-weight: 700; font-size: 17px; color: var(--eln-midnight);
  line-height: 1.4;
}
.sp-faq summary::-webkit-details-marker { display: none; }
.sp-faq summary::after {
  content: ""; flex-shrink: 0; width: 28px; height: 28px;
  background: var(--eln-teal-50); border-radius: 999px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b9aa3' stroke-width='3' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat; background-position: center; background-size: 14px;
  transition: transform var(--dur) var(--ease-out);
}
.sp-faq details[open] summary::after { transform: rotate(180deg); }
.sp-faq__body { padding: 0 26px 24px; color: var(--fg-2); font-size: 16px; line-height: 1.65; }
.sp-faq__body code { font-size: 13px; background: var(--bg-2); padding: 1px 6px; border-radius: 4px; color: var(--eln-midnight); }
.sp-faq__body a { color: var(--eln-cyan); }

/* ----------------- CTA Final ----------------- */
.sp-cta-final { position: relative; overflow: hidden; }
.sp-cta-final__glow {
  position: absolute; top: -30%; right: -20%; width: 700px; height: 700px;
  background: var(--eln-rainbow); filter: blur(120px); opacity: .25;
  border-radius: 999px; pointer-events: none;
}
.sp-cta-final__glow-2 {
  position: absolute; bottom: -40%; left: -20%; width: 600px; height: 600px;
  background: radial-gradient(circle, var(--eln-magenta), transparent 70%);
  filter: blur(80px); opacity: .25; pointer-events: none;
}
.sp-cta-final--calm .sp-cta-final__glow { background: linear-gradient(135deg, var(--eln-cyan), var(--eln-gold)); opacity: .22; }
.sp-cta-final--calm .sp-cta-final__glow-2 { background: radial-gradient(circle, var(--eln-gold), transparent 70%); opacity: .2; }

.sp-cta-final__inner { position: relative; text-align: center; max-width: 800px; margin: 0 auto; }
.sp-cta-final h3 {
  font-family: var(--font-display); font-weight: 900;
  font-size: clamp(32px, 4vw, 48px); line-height: 1.1;
  color: #fff; margin: 16px 0 12px; letter-spacing: -0.01em;
}
.sp-cta-final__sub { font-family: var(--font-script); color: var(--eln-gold); font-size: 24px; line-height: 1.3; margin: 0 0 36px; }
.sp-cta-final--calm .sp-cta-final__sub { color: var(--eln-gold); }
.sp-cta-final__legal { margin-top: 28px; color: rgba(255,255,255,.65); font-size: 14px; }
.sp-cta-final__legal a { color: rgba(255,255,255,.95); text-decoration-color: rgba(255,255,255,.4); }

/* ----------------- Landing Footer ----------------- */
.sp-footer { background: var(--eln-teal-dark-900); color: rgba(255,255,255,.75); }

/* Brand block (optional, above legal bar) */
.sp-footer--brand { padding: 56px 0 40px; }
.sp-footer__top { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: start; }
@media (max-width: 700px) { .sp-footer__top { grid-template-columns: 1fr; } }
.sp-footer__brand { display: flex; align-items: center; gap: 14px; }
.sp-footer__word1 { font-family: var(--font-display); font-weight: 900; color: #fff; font-size: 16px; letter-spacing: .02em; }
.sp-footer__word2 { font-family: var(--font-script); color: var(--eln-gold); font-size: 16px; margin-top: 4px; }
.sp-footer__upsell { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius-lg); padding: 18px 22px; font-size: 14px; line-height: 1.55; max-width: 480px; }
.sp-footer__upsell a { color: var(--eln-gold); font-weight: 700; }

/* Legal bar (always present, from footer-landing.php) */
.sp-footer--bar { padding: 0; border-top: 1px solid rgba(255,255,255,.08); }
.sp-footer--bar .sp-footer__bot { padding: 18px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 13px; color: rgba(255,255,255,.5); }
.sp-footer--bar .sp-footer__legal-menu { display: flex; flex-wrap: wrap; gap: 4px 0; list-style: none; margin: 0; padding: 0; }
.sp-footer--bar .sp-footer__legal-menu li::after { content: '·'; margin: 0 10px; color: rgba(255,255,255,.25); }
.sp-footer--bar .sp-footer__legal-menu li:last-child::after { display: none; }
.sp-footer--bar .sp-footer__legal-menu a { color: rgba(255,255,255,.6); text-decoration: none; }
.sp-footer--bar .sp-footer__legal-menu a:hover { color: #fff; }
.sp-footer__copy { color: rgba(255,255,255,.4); font-size: 12px; white-space: nowrap; }
@media (max-width: 600px) { .sp-footer--bar .sp-footer__bot { flex-direction: column; align-items: flex-start; } }

/* ----------------- Qualifying list (Auditoría) ----------------- */
.sp-qual-list {
  display: grid; gap: 18px; max-width: 800px; margin: 0 auto;
}
.sp-qual-item {
  display: flex; gap: 18px;
  padding: 22px 26px;
  background: #fff;
  border: 1px solid var(--border-1);
  border-left: 3px solid var(--eln-cyan);
  border-radius: var(--radius-lg);
  font-size: 17px; line-height: 1.6;
  color: var(--fg-1);
  transition: all var(--dur) var(--ease-out);
}
.sp-qual-item:hover { box-shadow: var(--shadow-sm); transform: translateX(2px); }
.sp-qual-item__bullet {
  flex-shrink: 0;
  width: 28px; height: 28px; border-radius: 999px;
  background: var(--eln-teal-50); color: var(--eln-cyan);
  display: grid; place-items: center;
  margin-top: 2px;
}
.sp-qual-item__bullet svg { width: 14px; height: 14px; }
.sp-qual-item strong { color: var(--eln-midnight); font-weight: 700; }

/* ----------------- Audit blocks (Auditoría) ----------------- */
.sp-blocks { display: grid; gap: 28px; max-width: 1080px; margin: 0 auto; }
.sp-block {
  background: #fff;
  border-radius: var(--radius-xl);
  border: 1px solid var(--border-1);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
}
.sp-block__head {
  display: flex; align-items: center; gap: 18px;
  padding: 28px 32px;
  background: linear-gradient(135deg, var(--eln-teal-50) 0%, #fff 100%);
  border-bottom: 1px solid var(--border-1);
}
.sp-block:nth-child(2) .sp-block__head { background: linear-gradient(135deg, var(--eln-lavender-100) 0%, #fff 100%); }
.sp-block:nth-child(2) .sp-block__num    { background: var(--eln-gray); }
.sp-block:nth-child(2) .sp-block__item__check { background: var(--eln-gray); }
.sp-block:nth-child(3) .sp-block__head { background: linear-gradient(135deg, var(--eln-gold-100) 0%, #fff 100%); }
.sp-block:nth-child(3) .sp-block__num    { background: var(--eln-gold); }
.sp-block:nth-child(3) .sp-block__item__check { background: var(--eln-gold); }

.sp-block__num {
  width: 44px; height: 44px; border-radius: 999px;
  background: var(--eln-cyan); color: #fff;
  display: grid; place-items: center;
  font-family: var(--font-display); font-weight: 900; font-size: 16px;
  flex-shrink: 0;
}
.sp-block__title {
  font-family: var(--font-display); font-weight: 900; font-size: 22px;
  color: var(--eln-midnight); margin: 0; letter-spacing: -0.01em;
}
.sp-block__sub {
  font-family: var(--font-script); color: var(--eln-magenta);
  font-size: 18px; margin: 2px 0 0; line-height: 1.2;
}
.sp-block__icon {
  margin-left: auto; flex-shrink: 0;
  width: 56px; height: 56px; border-radius: var(--radius-lg);
  background: rgba(27,154,163,.15);
  display: grid; place-items: center;
}
.sp-block:nth-child(2) .sp-block__icon { background: rgba(138,127,173,.15); }
.sp-block:nth-child(3) .sp-block__icon { background: rgba(224,166,44,.18); }
.sp-block__icon img { width: 32px; height: 32px; }

.sp-block__body {
  padding: 8px 32px 28px;
  display: grid; gap: 4px;
}
.sp-block__item {
  display: grid; grid-template-columns: 28px 1fr; gap: 16px;
  padding: 18px 0;
  border-bottom: 1px dashed var(--border-1);
}
.sp-block__item:last-child { border-bottom: 0; }
.sp-block__item__check {
  width: 24px; height: 24px; border-radius: 999px;
  background: var(--eln-cyan); color: #fff;
  display: grid; place-items: center; margin-top: 4px;
  flex-shrink: 0;
}
.sp-block__item__check svg { width: 12px; height: 12px; }
.sp-block__item h4 {
  font-family: var(--font-display); font-weight: 800;
  font-size: 16px; color: var(--eln-midnight);
  margin: 0 0 4px;
}
.sp-block__item p {
  margin: 0; font-size: 15px; line-height: 1.55; color: var(--fg-2);
}

/* Deliverables strip */
.sp-deliverables__head {
  text-align: center; margin: 56px auto 24px;
  font-family: var(--font-script); color: var(--eln-magenta);
  font-size: 26px; line-height: 1.2;
}
.sp-deliverables__list {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;
  max-width: 1080px; margin: 0 auto;
}
@media (max-width: 800px) { .sp-deliverables__list { grid-template-columns: 1fr; } }
.sp-deliverable {
  display: grid; grid-template-columns: 56px 1fr; gap: 18px;
  background: var(--bg-paper);
  border: 1px solid var(--border-1);
  border-radius: var(--radius-xl);
  padding: 24px;
}
.sp-deliverable__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg);
  background: #fff;
  display: grid; place-items: center;
  box-shadow: var(--shadow-xs);
  flex-shrink: 0;
}
.sp-deliverable__icon img { width: 32px; height: 32px; }
.sp-deliverable h4 { font-family: var(--font-display); font-weight: 800; font-size: 15px; color: var(--eln-midnight); margin: 4px 0 4px; }
.sp-deliverable p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--fg-2); }
.sp-deliverable strong { color: var(--eln-midnight); font-weight: 700; }

/* ----------------- Sales diff grid (Auditoría) ----------------- */
.sp-diff-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;
  max-width: 1080px; margin: 0 auto;
}
@media (max-width: 800px) { .sp-diff-grid { grid-template-columns: 1fr; } }
.sp-diff-card {
  background: #fff;
  border: 1px solid var(--border-1);
  border-radius: var(--radius-xl);
  padding: 36px 32px;
  position: relative;
  transition: all var(--dur) var(--ease-out);
}
.sp-diff-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: color-mix(in oklab, var(--eln-cyan) 35%, var(--border-1)); }
.sp-diff-card__num {
  position: absolute; top: 28px; right: 32px;
  font-family: var(--font-script); color: var(--eln-magenta);
  font-size: 38px; line-height: 1; opacity: .5;
}
.sp-diff-card__icon {
  width: 52px; height: 52px; border-radius: var(--radius-lg);
  background: var(--eln-teal-50);
  display: grid; place-items: center;
  margin-bottom: 18px;
}
.sp-diff-card:nth-child(2) .sp-diff-card__icon { background: var(--eln-gold-100); }
.sp-diff-card:nth-child(3) .sp-diff-card__icon { background: var(--eln-lavender-100); }
.sp-diff-card:nth-child(4) .sp-diff-card__icon { background: var(--eln-pink-50); }
.sp-diff-card__icon img { width: 30px; height: 30px; }
.sp-diff-card h4 {
  font-family: var(--font-display); font-weight: 900;
  font-size: 20px; color: var(--eln-midnight);
  margin: 0 0 10px; line-height: 1.2; letter-spacing: -0.01em;
  max-width: 80%;
}
.sp-diff-card p { margin: 0; color: var(--fg-2); font-size: 15px; line-height: 1.65; }
.sp-diff-card strong { color: var(--eln-midnight); font-weight: 700; }
