/* ConLupa PRO · página para abogados (/abogados.html). Papel y tinta, una columna, sin adornos. */
.ab-badge{font:700 .68rem var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--navy);background:var(--yellow);border-radius:999px;padding:.15rem .5rem;margin-left:.35rem;vertical-align:middle}
#main .wrap{max-width:62rem}
.ab-hero{padding:clamp(2.6rem,7vw,5rem) 0 2rem}
.ab-hero h1{font:800 clamp(2.2rem,6vw,3.6rem)/1.04 var(--display);color:var(--heading);max-width:16ch;margin:.5rem 0 1rem;letter-spacing:-.02em}
.ab-lead{font-size:clamp(1.05rem,2.2vw,1.2rem);line-height:1.55;max-width:58ch;color:var(--text);margin:0 0 1.4rem}
.ab-ctas{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 .8rem}
.ab-ctas .btn{min-height:48px}
.ab-demo{display:grid;gap:1px;margin:2.2rem 0 .4rem;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line);box-shadow:0 30px 70px -45px rgba(20,24,40,.5)}
@media (min-width:760px){.ab-demo{grid-template-columns:1fr 1fr}}
.ab-demo-col{background:var(--surface);padding:1.3rem 1.4rem;min-width:0}
.ab-k{display:block;font:500 .7rem var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}
.ab-doc{font:400 1.05rem/1.6 var(--serif,Georgia,serif);color:var(--heading);margin:0}
.ab-res{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.ab-res li{padding-left:1.1rem;position:relative}
.ab-res li::before{content:"";position:absolute;left:0;top:.6em;width:.45rem;height:.45rem;border-radius:50%;background:var(--ink)}
.ab-ej{margin:.2rem 0 0}

#main .block{padding:clamp(2.4rem,6vw,4rem) 0;border-top:1px solid var(--line)}
#main .h2{font:800 clamp(1.6rem,4vw,2.3rem)/1.1 var(--display);color:var(--heading);margin:.4rem 0 1.6rem;letter-spacing:-.01em}
.ab-grid{display:grid;gap:.8rem}
@media (min-width:640px){.ab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.ab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ab-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1.2rem 1.25rem;min-width:0}
.ab-card h3{font:700 1.08rem var(--body);color:var(--heading);margin:.3rem 0 .4rem}
.ab-card p{margin:0;color:var(--muted);line-height:1.55}
.ab-n{font:500 .78rem var(--mono);color:var(--ink)}
.ab-plano{background:transparent}

.ab-pasos{list-style:none;counter-reset:p;margin:0;padding:0;display:grid;gap:.8rem}
@media (min-width:860px){.ab-pasos{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ab-pasos li{counter-increment:p;display:grid;gap:.35rem;padding:1.2rem 1.25rem;border-left:3px solid var(--ink);background:var(--surface);border-radius:0 14px 14px 0}
.ab-pasos li::before{content:"Paso " counter(p);font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ab-pasos b{color:var(--heading);font-size:1.05rem}
.ab-pasos span{color:var(--muted);line-height:1.55}

.ab-beta{display:grid;gap:1.2rem;align-items:center;padding:clamp(1.5rem,4vw,2.4rem);border-radius:22px;background:var(--navy);color:#C9CEDC}
@media (min-width:760px){.ab-beta{grid-template-columns:1fr auto}}
.ab-beta h2{font:800 clamp(1.5rem,3.6vw,2rem)/1.1 var(--display);color:#fff;margin:.3rem 0 .6rem}
.ab-beta p{margin:0;max-width:56ch;line-height:1.55}
.ab-beta .kick{color:#FFD84D}
.ab-beta .btn{min-height:48px;background:#fff!important;color:#1E2433!important;border-color:#fff!important}
#beta.block{border-top:0}

.faq{display:grid;gap:.5rem;max-width:48rem}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 1.1rem}
.faq summary{cursor:pointer;font-weight:700;color:var(--heading);min-height:52px;display:flex;align-items:center;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";margin-left:auto;padding-left:1rem;color:var(--muted);font-weight:400;font-size:1.3rem}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 1rem;color:var(--text);line-height:1.6}
@media (max-width:600px){.top nav a:not(.btn):not(.themebtn){display:none}}
.ab-planes{margin-bottom:1rem}
@media (min-width:640px){.ab-planes{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.ab-precio{font:800 1.8rem var(--display)!important;color:var(--heading)}
.ab-precio small{font:400 .9rem var(--body);color:var(--muted)}
#planes .ab-beta{margin-top:.4rem}
