.levels-hero { padding: 86px 0 44px; }
.levels-hero .section-lead { max-width: 780px; }
.comparison-wrap { overflow-x: auto; border-radius: var(--radius); border: 1px solid var(--line); box-shadow: var(--shadow-card); background: rgba(255,255,255,.82); }
.comparison-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { padding: 18px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.comparison-table th { font-size: .82rem; text-transform: uppercase; letter-spacing: .11em; color: var(--green-strong); background: rgba(94,169,119,.08); }
.comparison-table thead th { position: sticky; top: 0; z-index: 2; }
.comparison-table td:first-child { font-weight: 850; color: var(--text); width: 25%; }
.comparison-table td { color: var(--text-soft); line-height: 1.55; font-weight: 620; }
.comparison-table tr:last-child td { border-bottom: 0; }
.yes { color: var(--green-strong); font-weight: 900; }
.no { color: var(--text-muted); }
.note-box { padding: 26px; margin-top: 24px; }
.note-box h2 { font-size: 1.55rem; margin-bottom: 12px; }
.note-box p { color: var(--text-soft); line-height: 1.7; }
.scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 24px; }
.scope-card { padding: 26px; }
.scope-card h2 { font-size: 1.55rem; margin-bottom: 14px; }
.scope-card ul { display: grid; gap: 12px; }
.scope-card li { color: var(--text-soft); line-height: 1.58; position: relative; padding-left: 26px; }
.scope-card li::before { position:absolute; left:0; top:0; font-weight:900; }
.scope-card.included li::before { content:"✓"; color: var(--green-strong); }
.scope-card.excluded li::before { content:"–"; color: var(--warning); }
.recommendation-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.recommendation-card { padding:26px; }
.recommendation-card h2 { font-size:1.55rem; margin-bottom:12px; }
.recommendation-card p { color:var(--text-soft); line-height:1.65; }
@media (max-width: 980px) { .scope-grid, .recommendation-grid { grid-template-columns:1fr; } }

.intro-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.intro-grid .card {
  min-height: 300px;
  display: flex;
  flex-direction: column;
}
.intro-grid h2 {
  font-size: 1.55rem;
  line-height: 1.08;
  margin-bottom: 14px;
}
.intro-grid p {
  color: var(--text-soft);
  line-height: 1.66;
}
.intro-grid .level-price {
  margin-top: auto;
}
.aftercare-card p {
  color: var(--text-soft);
  line-height: 1.72;
  max-width: 900px;
}
@media (max-width: 980px) {
  .intro-grid { grid-template-columns: 1fr; }
}

.price-policy-card h2 { font-size: 1.65rem; margin-bottom: 12px; }
.price-policy-card p { color: var(--text-soft); line-height: 1.7; max-width: 920px; }

.scope-note-section .note-box { padding: 28px; }


/* V7 · Tablas de niveles alineadas con Landings y funnels */
.comparison-title { margin-top: 8px; }
.comparison-clean-wrap {
  margin: 12px auto 0;
  max-width: 900px;
  padding: 0;
}
.comparison-clean-wrap--wide { max-width: 1060px; }
.comparison-compact {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.comparison-compact thead th {
  padding: 14px 12px 16px;
  text-align: left;
  font-size: .92rem;
  font-weight: 800;
  color: var(--text);
  border-bottom: 1px solid rgba(17,24,39,.24);
}
.comparison-compact thead th span {
  display: inline-block;
  margin-top: 5px;
  color: var(--text-soft);
  font-size: .78rem;
  line-height: 1.25;
  font-weight: 650;
}
.comparison-compact--4col thead th:first-child { width: 34%; }
.comparison-compact--4col thead th:not(:first-child) { width: 22%; text-align: center; }
.comparison-compact tbody tr { background: transparent; }
.comparison-compact tbody td,
.comparison-compact tbody th {
  padding: 11px 10px;
  border-bottom: 1px solid rgba(17,24,39,.11);
  vertical-align: middle;
}
.comparison-compact tbody td:first-child {
  font-weight: 400;
  color: var(--text);
  line-height: 1.45;
  letter-spacing: -.01em;
}
.comparison-compact tbody td:not(:first-child) { text-align: center; }
.group-row th {
  padding: 26px 12px 10px;
  font-size: 1.04rem;
  font-weight: 800;
  color: var(--text);
  border-bottom: 1px solid rgba(17,24,39,.18);
  text-align: left;
  background: transparent;
}
.comparison-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.comparison-badge__mark {
  min-width: 96px;
  padding: 7px 12px;
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: .8rem;
  font-weight: 780;
  line-height: 1.05;
  white-space: nowrap;
}
.comparison-badge--yes .comparison-badge__mark { background: #2f4f89; color: #fff; }
.comparison-badge--optional .comparison-badge__mark { background: rgba(47,79,137,.10); color: #2f4f89; }
.comparison-badge--scope .comparison-badge__mark { background: rgba(24,200,194,.14); color: #0b7d79; }
.comparison-badge--no .comparison-badge__mark { background: rgba(17,24,39,.07); color: rgba(17,24,39,.60); }
@media (max-width: 760px) {
  .comparison-clean-wrap { padding-top: 0; }
  .comparison-compact,
  .comparison-compact thead,
  .comparison-compact tbody,
  .comparison-compact tr,
  .comparison-compact td,
  .comparison-compact th { display: block; width: 100%; }
  .comparison-compact thead { display: none; }
  .comparison-compact tbody tr:not(.group-row) {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid rgba(17,24,39,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.84);
    box-shadow: 0 12px 28px rgba(17,24,39,.04);
  }
  .comparison-compact tbody td,
  .comparison-compact tbody th { border-bottom: none; padding: 0; }
  .comparison-compact tbody td:first-child {
    width: 100%;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.42;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid rgba(17,24,39,.10);
  }
  .comparison-compact tbody td[data-label] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
  }
  .comparison-compact tbody td[data-label]::before {
    content: attr(data-label);
    font-size: .86rem;
    line-height: 1.35;
    font-weight: 760;
    color: var(--text-soft);
    text-align: left;
    flex: 1 1 auto;
  }
  .comparison-compact tbody td[data-label] .comparison-badge { flex: 0 0 auto; }
  .comparison-badge__mark { min-width: 0; white-space: normal; text-align: center; }
  .group-row { margin-top: 24px; }
  .group-row th { padding: 8px 0 0; border-bottom: none; background: transparent; }
}
