.hero { padding: 96px 0 76px; position: relative; }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background: linear-gradient(90deg, transparent, rgba(36,92,255,.22), transparent); }
.hero-grid { display:grid; grid-template-columns: 1.08fr .92fr; gap:58px; align-items:center; }
.hero .section-lead { max-width: 680px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:32px; }
.hero-signals { display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-top:38px; max-width:760px; }
.signal { display:flex; gap:12px; align-items:center; padding:14px 15px; border:1px solid rgba(17,24,39,.09); border-radius:18px; background:rgba(255,255,255,.62); color:var(--text-soft); font-size:.84rem; font-weight:760; line-height:1.35; }
.signal-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--blue),var(--cyan)); flex:0 0 auto; }
.signal-icon svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.8; }

.interface-stage { position:relative; min-height:580px; perspective:1200px; }
.browser-card {
  position:relative;
  min-height:500px;
  border-radius: 32px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(17,24,39,.08);
  box-shadow: var(--shadow-float);
  overflow:hidden;
  padding: 18px;
  transform: rotate(-1deg);
}
.browser-card::before { content:""; position:absolute; inset:54px 18px auto 18px; height:105px; border-radius:18px; background:linear-gradient(135deg,rgba(36,92,255,.12),rgba(24,200,194,.14)); }
.browser-card::after { content:""; position:absolute; right:-80px; bottom:-80px; width:200px; height:200px; border-radius:28px; background:linear-gradient(135deg, rgba(215,255,87,.55), rgba(24,200,194,.16)); filter: blur(8px); pointer-events:none; }
.browser-bar { display:flex; align-items:center; gap:8px; min-height:40px; border-radius:16px; padding:0 15px; background:#f4f6ff; color:var(--text-muted); font-size:.78rem; font-weight:800; border:1px solid rgba(17,24,39,.07); }
.browser-bar span { width:9px; height:9px; border-radius:4px; background:rgba(17,24,39,.22); }
.browser-bar strong { margin-left:8px; color:rgba(17,24,39,.58); }
.mock-hero { position:relative; z-index:2; margin-top:18px; min-height:200px; display:grid; grid-template-columns:1fr auto; gap:22px; align-items:center; border-radius:24px; padding:30px; background:linear-gradient(135deg,#245cff,#18c8c2); color:#fff; overflow:hidden; }
.mock-hero::after { content:""; position:absolute; right:-30px; top:-30px; width:130px; height:130px; border-radius:24px; background:rgba(255,255,255,.14); }
.mini-kicker { display:inline-flex; margin-bottom:12px; color:#d7ff57; font-size:.70rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.mock-hero h2 { color:#fff; font-size:clamp(2rem,3vw,3.15rem); line-height:.96; max-width:450px; }
.mock-hero p { margin-top:14px; color:rgba(255,255,255,.80); line-height:1.65; max-width:430px; }
.mock-hero button { border:0; min-height:50px; padding:0 20px; border-radius:18px; background:#fff; color:var(--blue); font-weight:900; box-shadow:0 12px 28px rgba(17,24,39,.18); }
.mock-grid { position:relative; z-index:2; margin-top:18px; display:grid; grid-template-columns:1.1fr .7fr .7fr; gap:14px; }
.mock-block { min-height:116px; border-radius:18px; background:#fff; border:1px solid rgba(17,24,39,.08); box-shadow:0 14px 34px rgba(17,24,39,.07); padding:18px; display:flex; flex-direction:column; justify-content:space-between; }
.mock-block.tall { min-height:182px; background:#111827; color:#fff; }
.mock-block span { color:var(--text-muted); font-size:.78rem; font-weight:860; }
.mock-block.tall span { color:rgba(255,255,255,.55); }
.mock-block strong { color:inherit; font-size:1.15rem; letter-spacing:-.03em; }
.logic-card { position:absolute; right:-4px; bottom:0; width:340px; padding:24px; background:rgba(255,255,255,.96); border-radius:24px; transform: rotate(1.8deg); }
.logic-title { font-weight:900; letter-spacing:-.035em; margin-bottom:18px; font-size:1.1rem; }
.logic-step { display:flex; align-items:center; gap:12px; color:var(--text-soft); font-size:.91rem; }
.logic-step span { width:32px; height:32px; border-radius:10px; display:grid; place-items:center; background:#eef4ff; color:var(--blue); font-weight:900; flex:0 0 auto; }
.logic-step.active span { background:var(--blue); color:#fff; }
.logic-step strong { font-weight:820; }
.logic-line { width:2px; height:25px; background:linear-gradient(var(--blue),transparent); margin:8px 0 8px 15px; opacity:.35; }

.value-section { padding-top:22px; }
.value-card { display:grid; grid-template-columns:.85fr 1.15fr; gap:36px; align-items:center; border-radius:28px; padding:38px; background:#111827; color:#fff; box-shadow:var(--shadow-float); }
.value-card h2, .value-card .kicker { color:#fff; }
.value-card .kicker { opacity:.8; }
.value-card .kicker::before { background:var(--lime); box-shadow:0 0 0 5px rgba(215,255,87,.15); }
.value-card h2 { max-width:560px; }
.value-card p:last-child { color:rgba(255,255,255,.75); line-height:1.78; font-weight:650; }

.config-result { margin-top:26px; padding:26px; background:linear-gradient(135deg,var(--blue),var(--blue-2)); color:#fff; border-radius:24px; box-shadow:0 20px 60px rgba(36,92,255,.20); }
.config-result span { color:var(--lime); text-transform:uppercase; letter-spacing:.14em; font-weight:900; font-size:.68rem; }
.config-result strong { display:block; margin-top:10px; font-size:2.2rem; letter-spacing:-.07em; }
.config-result p { margin-top:8px; color:rgba(255,255,255,.78); line-height:1.56; }
.section-split { display:grid; grid-template-columns:.92fr 1.08fr; gap:42px; align-items:end; margin-bottom:36px; }
.section-split p { color:var(--text-soft); line-height:1.72; max-width:660px; }
.level-card { padding:24px; min-height:410px; display:flex; flex-direction:column; position:relative; overflow:hidden; height:100%; }
.level-card::after { display:none; content:none; }
.level-card.featured { background:#111827; color:#fff; border-color:rgba(255,255,255,.12); box-shadow:0 24px 70px rgba(17,24,39,.18); }
.level-card.featured h3, .level-card.featured .level-price { color:#fff; }
.level-card.featured p, .level-card.featured li { color:rgba(255,255,255,.72); }
.level-card.featured .icon-tile { background:var(--lime); color:#162100; border-color:transparent; }
.level-tag { color:var(--blue); font-size:.68rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; margin:16px 0 10px; }
.level-card.featured .level-tag { color:var(--lime); }
.level-card p { color:var(--text-soft); line-height:1.62; margin-top:12px; }
.level-card .check-list { margin-top:16px; gap:8px; }
.level-card .check-list li { font-size:.86rem; line-height:1.48; }
.level-price { margin-top:auto; padding-top:18px; font-size:1.42rem; font-weight:900; letter-spacing:-.05em; }
.level-price span { font-size:.8rem; color:var(--text-muted); font-weight:800; }
.level-card.featured .level-price span { color:rgba(255,255,255,.56); }
.level-actions { display:flex; justify-content:center; margin-top:26px; }

.modules-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.module-card { padding:24px; min-height:220px; transition:transform .18s ease, box-shadow .18s ease; }
.module-card:hover { transform:translateY(-4px); box-shadow:0 20px 58px rgba(36,92,255,.12); }
.module-card h3 { margin-top:16px; font-size:1.08rem; }
.module-card p { margin-top:10px; color:var(--text-soft); line-height:1.62; font-size:.9rem; }

.delivery-card { border-radius:28px; background:rgba(255,255,255,.74); }
.delivery-card h2 { max-width:760px; }
.delivery-grid { margin-top:28px; display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.delivery-grid div { min-height:158px; border-radius:18px; background:#fff; border:1px solid var(--line); padding:18px; box-shadow:0 12px 30px rgba(17,24,39,.045); }
.delivery-grid strong { display:block; font-size:1.04rem; letter-spacing:-.035em; }
.delivery-grid span { display:block; margin-top:10px; color:var(--text-soft); line-height:1.55; font-size:.86rem; }

.proof-section { padding-top:24px; }
.proof-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:center; padding:40px; border-radius:28px; background:#fff; border:1px solid rgba(17,24,39,.09); box-shadow:var(--shadow-card); }
.proof-grid p { color:var(--text-soft); line-height:1.78; }

.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; }
.faq-item { padding:23px; }
.faq-item h3 { font-family:var(--font); letter-spacing:-.02em; font-size:1.02rem; margin-bottom:10px; }
.faq-item p { color:var(--text-soft); line-height:1.65; font-size:.92rem; }

.contact-section .section-lead { max-width:760px; }
.contact-panel { max-width: 1080px; }
.contact-card { margin-top:24px; border-radius:24px; padding:28px; }
.form-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px 18px; }
.form-grid .full { grid-column:1 / -1; }
.phone-field { display:grid; grid-template-columns:110px 1fr; gap:10px; }
.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; align-items:start; }
.security-note { margin-top:18px; padding:18px 20px; border-radius:16px; background:rgba(24,200,194,.08); border:1px solid rgba(24,200,194,.16); color:#075b58; line-height:1.65; font-weight:780; }
.form-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding-top:4px; }
.form-meta-note { color:var(--text-muted); font-size:.82rem; line-height:1.6; max-width:560px; }
.visually-hidden-field { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

@media (max-width:1100px) { .hero-grid, .value-card, .proof-grid, .section-split { grid-template-columns:1fr; } .interface-stage { min-height:620px; } .delivery-grid, .modules-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:980px) { .hero-signals, .grid-3, .faq-grid, .form-grid, .check-grid { grid-template-columns:1fr; } .mock-grid { grid-template-columns:1fr; } .logic-card { position:relative; right:auto; bottom:auto; width:auto; margin-top:16px; transform:none; } .interface-stage { min-height:auto; } .browser-card { transform:none; } }
@media (max-width:640px) { .hero { padding:64px 0 50px; } .hero-actions { flex-direction:column; align-items:stretch; } .button-primary, .button-secondary { width:100%; } .mock-hero { grid-template-columns:1fr; } .delivery-grid, .modules-grid { grid-template-columns:1fr; } .proof-grid, .value-card { padding:26px; } .logic-card { padding:20px; } }




.package-family { margin-top: 34px; padding-top: 14px; }
.package-family:first-of-type { margin-top: 0; padding-top: 0; }
.package-family + .package-family { border-top: 1px solid rgba(17,24,39,.08); }
.package-family-head { margin-bottom: 18px; max-width: 780px; }
.package-family-head h3 { font-size: clamp(1.7rem, 2vw, 2.25rem); letter-spacing: -0.055em; line-height: 1.02; }
.package-family-head .kicker { margin-bottom: 10px; }
.package-family-webs { margin-top: 48px; }
.packages-grid { display:grid; gap:22px; align-items:stretch; }
.packages-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.level-card h3 { font-size: clamp(1.6rem, 1.6vw, 2.05rem); line-height: 1.02; letter-spacing: -.045em; }
.level-card .icon-tile { margin-bottom: 8px; }
.level-card.featured-light { background: linear-gradient(180deg, #ffffff, rgba(215,255,87,.10)); border-color: rgba(215,255,87,.50); box-shadow: 0 22px 60px rgba(17,24,39,.08); }
.level-card.featured-light .icon-tile { background: var(--lime); color:#162100; border-color:transparent; }
@media (max-width: 880px) { .packages-grid-2 { grid-template-columns: 1fr; } .level-card { min-height: auto; } }


/* V9: prueba visual del sistema de captación inteligente */
.logic-demo-section { position: relative; padding-top: 72px; }
.logic-demo-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.08), rgba(255,255,255,.08)),
    linear-gradient(var(--bg-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--bg-grid) 1px, transparent 1px);
  background-size: auto, 32px 32px, 32px 32px;
  pointer-events: none;
}
.logic-demo-section .container { position: relative; z-index: 1; }
.logic-demo-head { align-items: start; margin-bottom: 28px; }
.logic-demo-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.logic-demo-card { padding:24px; min-height:220px; display:flex; flex-direction:column; }
.logic-demo-card span { color:var(--cyan); font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.logic-demo-card h3 { margin-top:10px; font-size:1.35rem; line-height:1.04; letter-spacing:-.045em; }
.logic-demo-card p { margin-top:14px; color:var(--text-soft); line-height:1.62; font-size:.92rem; }
.logic-demo-card::after { display:none; }

.package-card { min-height: 410px; }
.package-card .package-use { min-height: 0; font-weight: 690; }
.package-card .check-list { margin-top: 20px; }
.package-card .check-list li { font-size: .93rem; }
.package-family-head { padding-top: 4px; }
.package-family + .package-family { padding-top: 44px; }
.package-family-webs { margin-top: 58px; }


@media (max-width: 1100px) {
  .logic-demo-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 880px) {
  .package-card { min-height: auto; }
  .package-card .package-use { min-height: 0; }
}
@media (max-width: 640px) {
  .logic-demo-grid { grid-template-columns: 1fr; }
  .logic-demo-section { padding-top: 52px; }
}




/* V11: módulos agrupados, sin calculadora */
.modules-section { padding-top: 48px; }
.modules-head { align-items:start; margin-bottom:26px; }
.module-groups { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.module-group { padding:24px; min-height:250px; }
.module-group h3 { margin-top:16px; font-size:1.18rem; letter-spacing:-.035em; }
.module-group ul { display:grid; gap:10px; margin-top:16px; }
.module-group li { color:var(--text-soft); line-height:1.48; font-weight:700; font-size:.9rem; position:relative; padding-left:18px; }
.module-group li::before { content:""; width:6px; height:6px; border-radius:2px; background:var(--cyan); position:absolute; left:0; top:.68em; }
@media (max-width: 1400px) {
  .hero { padding-top: 78px; }
  .hero-grid { gap:42px; }
  .package-family-head h3 { max-width: 760px; }
  .package-family-webs { margin-top: 48px; }
}
@media (max-width: 1180px) {
  .packages-grid { gap:18px; }
  .level-card { padding:22px; }
  .level-card h3 { font-size: clamp(1.42rem, 1.45vw, 1.78rem); }
  .level-card p { font-size:.93rem; line-height:1.56; }
}
@media (max-width: 1100px) {
  .module-groups { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .module-groups { grid-template-columns: 1fr; }
  .contact-card { padding:22px; }
}

/* V15: confianza, anclaje de precio y señales de conversión */
.price-anchor {
  margin-top: 10px !important;
  color: var(--text-muted);
  font-size: .78rem;
  line-height: 1.45;
  font-weight: 680;
  letter-spacing: -.01em;
}
.level-card.featured .price-anchor {
  color: rgba(255,255,255,.64);
}

/* V17: formulario inteligente por pasos y cualificación provisional */
.smart-contact-card { overflow: hidden; }
.form-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 24px;
}
.form-progress__item {
  border: 1px solid rgba(17,24,39,.10);
  background: rgba(255,255,255,.68);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 10px 12px;
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 820;
  text-align: center;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.form-progress__item.is-active {
  background: #111827;
  border-color: #111827;
  color: #fff;
  transform: translateY(-1px);
}
.form-progress__item.is-complete {
  background: rgba(24,200,194,.12);
  border-color: rgba(24,200,194,.22);
  color: #075b58;
}
.smart-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 22px;
  align-items: stretch;
}
.smart-form-main { min-width: 0; }
.form-step {
  border: 0;
  padding: 0;
  margin: 0;
}
.js .form-step { display: none; }
.js .form-step.is-active { display: block; }
.form-step legend {
  font-family: var(--font-display);
  font-size: clamp(1.42rem, 2vw, 2rem);
  line-height: 1.04;
  letter-spacing: -.055em;
  font-weight: 900;
  color: var(--text);
  margin-bottom: 8px;
}
.step-lead {
  color: var(--text-soft);
  line-height: 1.62;
  margin-bottom: 18px;
  max-width: 680px;
}
.smart-inline-result {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(24,200,194,.18);
  background: rgba(24,200,194,.08);
  color: #075b58;
  line-height: 1.58;
  font-weight: 720;
}
.smart-inline-result strong { color: #063f3d; }
.smart-form-controls {
  display: flex;
  gap: 12px;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(17,24,39,.08);
}
.smart-form-controls [hidden] { display: none !important; }
.smart-form-summary {
  position: sticky;
  top: 94px;
  align-self: start;
  padding: 24px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 15% 0%, rgba(215,255,87,.22), transparent 36%),
    #111827;
  color: #fff;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 22px 54px rgba(17,24,39,.16);
}
.smart-form-summary .kicker { color: rgba(255,255,255,.78); }
.smart-form-summary .kicker::before { background: var(--lime); box-shadow: 0 0 0 5px rgba(215,255,87,.14); }
.smart-form-summary h3 {
  margin-top: 12px;
  font-size: 1.42rem;
  letter-spacing: -.05em;
  color: #fff;
}
.smart-form-summary p {
  margin-top: 10px;
  color: rgba(255,255,255,.70);
  line-height: 1.58;
  font-size: .9rem;
}
.smart-score {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 18px;
  color: var(--lime);
  font-weight: 950;
  letter-spacing: -.06em;
}
.smart-score span { font-size: 3rem; line-height: .92; }
.smart-score small { font-size: 1rem; color: rgba(255,255,255,.58); letter-spacing: 0; }
.smart-form-summary ul {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.smart-form-summary li {
  position: relative;
  padding-left: 18px;
  color: rgba(255,255,255,.78);
  line-height: 1.45;
  font-weight: 680;
  font-size: .9rem;
}
.smart-form-summary li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: var(--lime);
}
@media (max-width: 980px) {
  .smart-form-layout { grid-template-columns: 1fr; }
  .smart-form-summary { position: relative; top: auto; order: -1; }
  .form-progress { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .form-progress { grid-template-columns: 1fr; }
  .form-progress__item { text-align: left; }
  .smart-form-controls .button-primary,
  .smart-form-controls .button-secondary { width: 100%; }
}

/* Studio independiente V1: hero con columna de contenido más amplia */
@media (min-width: 1101px){ .hero-grid { grid-template-columns: 1.08fr .92fr; } }
