/* Lynch Payroll V2 — mejora visual y de conversión 2026-10-15.
   Capa incremental, no cambia IDs del formulario, rutas o scripts. */
:root { --v2-soft: #f2f7f7; }
.home .hero { background: linear-gradient(117deg, #f8faf8 0%, #f1f6f7 58%, #eaf3f4 100%); }
.home .hero__copy { position:relative; }
/* Fase 1 SEO: el lema salió del <h1>. Se reproducen los márgenes que antes
   daba ".hero h1" al contenedor, y el nuevo <h1> (antetítulo) no añade margen. */
.home .hero__title--split { margin-bottom: var(--pp-4); }
.home .hero__title--split h1 { margin: 0; }
.home .hero__promise { max-width: 12ch; font-size:clamp(2.9rem, 2rem + 3.3vw, 4.8rem); line-height:1.05; }
.home .hero__lead { max-width: 49ch; color:var(--pp-ink-text); }
.home .hero__actions { flex-wrap:wrap; }
.v2-hero-proof { display:flex; align-items:flex-start; flex-wrap:wrap; gap:.65rem 1.35rem; margin:1.55rem 0 0; padding:0; }
.v2-hero-proof li { position:relative; color:#355663; font-size:.93rem; font-weight:570; padding-left:1.25rem; line-height:1.5; }
.v2-hero-proof li::before { content:'✓'; position:absolute; left:0; color:#1c6f52; font-weight:800; }
.home .proof { border-bottom:1px solid var(--pp-line); }
.home .section .head p, .home .flow .head p { font-size:clamp(1.0625rem,1.02rem + .3vw,1.22rem); }
.home .price-a { box-shadow:0 16px 48px rgba(11,43,56,.09); }
.v2-decision { margin-top:clamp(1.5rem,3vw,2.75rem); padding:clamp(1.5rem,3vw,2.4rem); display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2rem; background:var(--pp-ink); color:var(--pp-white); border-radius:12px; }
.v2-decision__eyebrow { font-family:var(--pp-font-sans); font-weight:700; letter-spacing:.09em; font-size:.77rem; text-transform:uppercase; color:#d9a447; margin:0 0 .5rem; }
.v2-decision h3 { color:var(--pp-white); font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem); margin-bottom:.6rem; }
/* Fase 1b SEO: el título del bloque ahora es un párrafo; reproduce el aspecto del h3. */
.v2-decision .v2-decision__title { margin:0 0 .6rem; max-width:none; font-weight:620; line-height:var(--pp-lh-head); letter-spacing:-0.012em; text-wrap:balance; color:var(--pp-white); font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem); }
.v2-decision__copy > p:last-child { color:#d5e2e7; font-size:1rem; max-width:68ch; line-height:1.65; }
.v2-decision .btn { max-width:100%; white-space:normal; text-align:center; border-color:transparent; background:#e6f1f4; color:#093447; }
.v2-decision .btn:hover { background:#fff; color:#093447; }
/* Larger interactive fields and predictable focus in quote flow. */
.home #form-cotizacion .input, .home #form-cotizacion .select, .home #form-cotizacion .textarea { font-size:1rem; min-height:3.15rem; }
.home #form-cotizacion label { font-size:1rem; }
.home #form-cotizacion button { min-height:3rem; }
.home #form-cotizacion :is(input,select,textarea):focus-visible { outline:2px solid var(--pp-brand); outline-offset:2px; }
@media(max-width:900px){
  .v2-decision { grid-template-columns:1fr; gap:1.1rem; }
  .v2-decision .btn { width:100%; }
}
@media(max-width:640px){
  .home .hero__copy { padding-top:2.2rem; }
  .home .hero__promise { font-size:clamp(2.65rem,10vw,3.65rem); }
  .v2-hero-proof { gap:.45rem .8rem; margin-top:1.35rem; }
  .v2-hero-proof li { font-size:.875rem; }
  .v2-decision { padding:1.35rem 1.15rem; border-radius:9px; }
  .v2-decision__copy > p:last-child { font-size:.99rem; }
}
@media(prefers-reduced-motion:reduce) {
  .home .btn { transition:none; }
}


/* Lynch Payroll 2.1 — rutas comerciales de intención diferenciada (SEO + conversión). */
.v21-paths { padding:clamp(2.5rem,5vw,4.65rem) 0; background:#f5f8f8; border-bottom:1px solid var(--pp-line); }
.v21-paths__intro { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.5rem,4vw,4rem); align-items:end; margin-bottom:1.75rem; }
.v21-paths__eyebrow { color:#3a6872; font-weight:750; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 .55rem; }
.v21-paths h2 { font-size:clamp(1.75rem,1.2rem + 1.6vw,2.55rem); max-width:21ch; line-height:1.17; color:var(--pp-ink); }
.v21-paths__intro > p { color:#445c66; font-size:1.06rem; line-height:1.72; max-width:54ch; }
.v21-paths__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; }
.v21-paths__card { background:#fff; border:1px solid #d8e4e5; border-radius:11px; padding:clamp(1.25rem,2vw,1.8rem); display:flex; flex-direction:column; box-shadow:0 6px 22px rgba(17,57,66,.035); }
.v21-paths__index { font-size:.78rem; letter-spacing:.055em; color:#32747c; font-weight:750; margin:0 0 1rem; }
.v21-paths__card h3 { font-size:clamp(1.15rem,1rem + .4vw,1.4rem); line-height:1.3; margin:0 0 .7rem; color:var(--pp-ink); }
.v21-paths__card > p:not(.v21-paths__index) { color:#49616a; font-size:.98rem; line-height:1.65; margin:0 0 1.3rem; flex:1; }
.v21-paths__card a { color:#124c5a; font-weight:750; line-height:1.45; text-decoration:underline; text-underline-offset:3px; }
.v21-paths__card a:hover { color:#046d7a; }
.v21-paths__card a:focus-visible, .v21-paths__tail a:focus-visible { outline:2px solid #14758d; outline-offset:4px; }
.v21-paths__tail { display:flex; gap:1rem 2rem; flex-wrap:wrap; align-items:center; justify-content:space-between; padding-top:1.6rem; }
.v21-paths__tail p { font-size:.97rem; line-height:1.6; color:#3b5961; max-width:65ch; }
.v21-paths__tail p a { font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.v21-paths__tail .btn { white-space:normal; text-align:center; }
@media(max-width:900px){ .v21-paths__intro { grid-template-columns:1fr; gap:.6rem; } .v21-paths__grid { grid-template-columns:1fr 1fr; } }
@media(max-width:650px){ .v21-paths__grid { grid-template-columns:1fr; } .v21-paths__card { padding:1.3rem; } .v21-paths__tail .btn { width:100%; } }
