/* ═══════════════════════════════════════════════════════════════════════════
   landing-doc.css · HOJA COMPARTIDA de TODAS las landings de documento
   Ruta pública: /documents/_assets/landing-doc.css
   ───────────────────────────────────────────────────────────────────────────
   QUÉ ES
   El diseño completo (nav, hero, secciones, planes, paywall, wizard, footer)
   de las páginas pay-per-doc. El contenido lo inyecta landing-doc.js leyendo
   el objeto window.DOC que define cada página.

   CÓMO SE CLONA UNA PÁGINA NUEVA
   NO se toca este archivo. Se copia
       /documents/power-of-attorney/index.html
   a  /documents/<nuevo-slug>/index.html, se reescribe SOLO el <head> (SEO) y
   el bloque window.DOC. La página carga esta hoja y el motor con rutas
   absolutas (/documents/_assets/…), así que sirve a cualquier profundidad.

   Si un documento necesita un estilo propio (raro), se añade AQUÍ una clase
   con prefijo del slug — nunca un <style> suelto en la página, porque cientos
   de páginas clonadas dejarían de compartir el diseño.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --pp:#5F5582; --pp-deep:#3E3757; --pp-ink:#1E1A2E;
  --lila:#EAE3F3; --lila-soft:#F5F1FA; --lila-mist:#FAF7FD;
  --amber:#F5B841; --amber-deep:#B8860B;
  --ink:#0B0B10; --text:#1F1D26; --body:#44414F; --muted:#6B6779;
  --line:#E7E4EC; --line-soft:#F0EEF4; --bg:#FFFFFF; --bg-soft:#F9F8FB;
  --ok:#22A06B;
  --sans:'Inter',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sh-sm:0 1px 2px rgba(11,11,22,.04),0 6px 16px rgba(11,11,22,.05);
  --sh-md:0 8px 24px rgba(95,85,130,.10),0 24px 48px rgba(11,11,22,.07);
  --sh-lg:0 18px 40px rgba(95,85,130,.16),0 40px 90px rgba(11,11,22,.12);
  --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--text);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--pp);text-decoration:none}
a:hover{color:var(--pp-deep)}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em;line-height:1.12;color:var(--ink);text-wrap:balance}
p{text-wrap:pretty}
em{font-style:normal}
.ld-serif{font-family:var(--serif);font-weight:400;letter-spacing:0}
.ld-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

.ld-wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,40px)}

/* ── buttons ── */
.ld-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:-.01em;min-height:50px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;white-space:nowrap}
.ld-btn .ld-ico{width:18px;height:18px;stroke-width:2}
.ld-btn--primary{background:var(--pp);color:#fff;box-shadow:var(--sh-md)}
.ld-btn--primary:hover{background:var(--pp-deep);color:#fff;transform:translateY(-2px);box-shadow:var(--sh-lg)}
.ld-btn--ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.ld-btn--ghost:hover{border-color:var(--lila);background:var(--lila-mist);color:var(--ink)}
.ld-btn--ink{background:var(--ink);color:#fff}
.ld-btn--ink:hover{background:#2a2735;color:#fff;transform:translateY(-2px)}
.ld-btn--light{background:#fff;color:var(--pp-deep)}
.ld-btn--light:hover{background:#fff;color:var(--pp);transform:translateY(-2px);box-shadow:var(--sh-lg)}
.ld-btn--outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.ld-btn--outline-light:hover{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.6)}
.ld-btn--lg{padding:17px 30px;min-height:58px;font-size:16px}

/* ── nav ── */
.ld-nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,0);transition:background .25s,border-color .25s,box-shadow .25s;border-bottom:1px solid transparent}
.ld-nav.is-scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-bottom-color:var(--line)}
.ld-nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.ld-logo{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:19px;letter-spacing:-.02em;color:var(--ink)}
.ld-logo:hover{color:var(--ink)}
.ld-logo svg{width:28px;height:28px;flex-shrink:0}
.ld-nav-links{display:flex;gap:30px;font-size:14.5px;font-weight:500}
.ld-nav-links a{color:var(--body)}
.ld-nav-links a:hover{color:var(--ink)}
.ld-nav-right{display:flex;align-items:center;gap:10px}
.ld-lang{background:transparent;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:12px;font-weight:600;color:var(--body);letter-spacing:.08em}
.ld-lang:hover{border-color:var(--lila);color:var(--pp)}
.ld-nav-login{color:var(--body);font-size:14.5px;font-weight:500}
.ld-burger{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;align-items:center;justify-content:center;background:#fff}
.ld-drawer{display:none;flex-direction:column;gap:6px;padding:12px 0 18px;border-top:1px solid var(--line)}
.ld-drawer a{padding:11px 4px;font-size:16px;color:var(--body);border-radius:10px}
.ld-drawer a:hover{color:var(--ink)}

/* ── hero ── */
.ld-hero{position:relative;padding:clamp(28px,5vw,60px) 0 clamp(40px,6vw,80px);overflow:hidden}
.ld-hero::before{content:"";position:absolute;top:-180px;right:-140px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(95,85,130,.13),transparent 62%);pointer-events:none;z-index:0}
.ld-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,64px);align-items:center}
@media(min-width:960px){.ld-hero-grid{grid-template-columns:1.05fr .95fr}}
.ld-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;color:var(--muted);margin-bottom:20px}
.ld-crumb a{color:var(--muted)}.ld-crumb a:hover{color:var(--pp)}
.ld-crumb .sep{opacity:.5}
.ld-crumb .cur{color:var(--pp-deep);font-weight:600}
.ld-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 11px;background:var(--lila-soft);color:var(--pp-deep);font-size:12.5px;font-weight:600;border-radius:999px;letter-spacing:.01em;margin-bottom:18px;white-space:nowrap}
.ld-badge .pulse{width:7px;height:7px;border-radius:50%;background:var(--pp);box-shadow:0 0 0 0 rgba(95,85,130,.6);animation:ldPulse 2.4s infinite}
@keyframes ldPulse{0%{box-shadow:0 0 0 0 rgba(95,85,130,.5)}70%{box-shadow:0 0 0 9px rgba(95,85,130,0)}100%{box-shadow:0 0 0 0 rgba(95,85,130,0)}}
.ld-h1{font-size:clamp(34px,5.4vw,58px);font-weight:800;letter-spacing:-.03em;line-height:1.04;color:var(--ink)}
.ld-h1 em{color:var(--pp)}
.ld-h1 .ld-serif{font-weight:400;letter-spacing:-.01em}
.ld-lead{margin-top:20px;font-size:clamp(16px,1.4vw,19px);color:var(--body);line-height:1.6;max-width:34ch}
.ld-lead b{color:var(--text);font-weight:600}
.ld-cta-row{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.ld-trust{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;color:var(--muted)}
.ld-trust span{display:inline-flex;align-items:center;gap:7px}
.ld-trust .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}

/* ── hero tool (NEX composer) ── */
.ld-tool{position:relative;perspective:1400px}
.ld-tool-glow{position:absolute;inset:-8% -6% -12% -6%;background:radial-gradient(120% 90% at 70% 20%,rgba(95,85,130,.16),transparent 60%);filter:blur(10px);z-index:0}
.ld-tool-win{position:relative;z-index:1;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-lg);overflow:hidden;animation:ldFloat 7s ease-in-out infinite}
@keyframes ldFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.ld-tool-bar{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-soft);background:var(--bg-soft)}
.ld-tool-dots{display:flex;gap:6px}
.ld-tool-dots i{width:9px;height:9px;border-radius:50%;background:var(--line);display:block}
.ld-tool-name{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);margin-left:2px}
.ld-tool-name .g{width:16px;height:16px}
.ld-tool-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--pp);background:var(--lila-soft);padding:4px 9px;border-radius:999px}
.ld-tool-live .d{width:6px;height:6px;border-radius:50%;background:var(--pp);animation:ldPulse 2s infinite}
.ld-tool-body{padding:18px}
.ld-tool-prompt{display:flex;align-items:flex-start;gap:11px;background:var(--lila-soft);border:1px solid var(--lila);border-radius:15px;padding:13px 15px;min-height:64px}
.ld-spark{width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid var(--lila);display:grid;place-items:center;color:var(--pp);flex-shrink:0}
.ld-spark .ld-ico{width:17px;height:17px}
.ld-typed{flex:1;font-size:14.5px;line-height:1.5;color:var(--pp-ink);padding-top:4px;font-weight:500}
.ld-typed .slot{color:var(--pp);font-weight:700}
.ld-caret{display:inline-block;width:2px;height:1.05em;background:var(--pp);vertical-align:-2px;margin-left:1px;animation:ldBlink 1s steps(1) infinite}
@keyframes ldBlink{50%{opacity:0}}
.ld-arrow-down{display:flex;justify-content:center;margin:12px 0 6px;color:var(--lila)}
.ld-arrow-down .ld-ico{width:20px;height:20px;stroke-width:2}
.ld-doc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;box-shadow:var(--sh-sm)}
.ld-doc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:14px;border-bottom:1px dashed var(--line)}
.ld-doc-title{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.ld-doc-title small{display:block;font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.ld-doc-stamp{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--lila);display:grid;place-items:center;color:var(--pp);flex-shrink:0}
.ld-doc-stamp .ld-ico{width:17px;height:17px}
.ld-doc-rows{display:flex;flex-direction:column;gap:11px}
.ld-doc-row{display:flex;flex-direction:column;gap:4px;opacity:0;transform:translateY(6px)}
.ld-doc.built .ld-doc-row{animation:ldRise .5s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--i) * .13s + .12s)}
@keyframes ldRise{to{opacity:1;transform:none}}
.ld-doc-k{font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.ld-doc-v{font-size:13.5px;color:var(--text);font-weight:500}
.ld-doc-v .fill{background:linear-gradient(var(--lila-soft),var(--lila-soft));box-shadow:0 1px 0 var(--lila)}
.ld-doc-line{height:9px;border-radius:4px;background:var(--line-soft)}
.ld-doc-line.s{width:60%}
.ld-tool-foot{display:flex;align-items:center;gap:9px;padding:14px 18px;border-top:1px solid var(--line-soft);background:var(--bg-soft)}
.ld-chip-mini{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--pp-deep);background:#fff;border:1px solid var(--lila);padding:7px 12px;border-radius:999px}
.ld-chip-mini .ld-ico{width:14px;height:14px;stroke-width:2}
.ld-chip-mini.solid{background:var(--pp);color:#fff;border-color:var(--pp);margin-left:auto}

/* ── stats strip ── */
.ld-stats{background:var(--pp-ink);color:#fff;border-radius:24px;padding:clamp(26px,4vw,44px) clamp(20px,3vw,40px);display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px;position:relative;overflow:hidden}
@media(min-width:760px){.ld-stats{grid-template-columns:repeat(4,1fr)}}
.ld-stats::after{content:"";position:absolute;top:-60px;right:-40px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.07),transparent 65%)}
.ld-stat{position:relative;z-index:1;text-align:left}
.ld-stat-num{font-size:clamp(38px,5vw,54px);font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.ld-stat-num em{color:#C9BEE4}
.ld-stat-label{margin-top:9px;font-size:13.5px;color:rgba(255,255,255,.66);line-height:1.4;max-width:20ch}

/* ── section base ── */
.ld-section{padding:clamp(52px,7.5vw,104px) 0}
.ld-section--soft{background:var(--lila-mist)}
.ld-section--ink{background:var(--ink)}
.ld-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--pp);margin-bottom:14px}
.ld-eyebrow::before{content:"";width:22px;height:1.5px;background:var(--pp);opacity:.5}
.ld-h2{font-size:clamp(27px,3.6vw,44px);font-weight:800;letter-spacing:-.025em;line-height:1.08}
.ld-h2 em{color:var(--pp)}
.ld-sub{margin-top:14px;font-size:clamp(15.5px,1.3vw,18px);color:var(--muted);max-width:62ch;line-height:1.6}
.ld-head-center{text-align:center}
.ld-head-center .ld-eyebrow{justify-content:center}
.ld-head-center .ld-h2{margin-left:auto;margin-right:auto}
.ld-head-center .ld-sub{margin-left:auto;margin-right:auto}

/* ── what is it ── */
.ld-what-grid{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);align-items:start}
@media(min-width:900px){.ld-what-grid{grid-template-columns:1.35fr .65fr}}
.ld-what-lead{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.6vw,32px);line-height:1.32;color:var(--pp-ink);letter-spacing:-.01em;margin-bottom:22px;text-wrap:pretty}
.ld-what-lead em{color:var(--pp);font-style:italic}
.ld-what-body p{color:var(--body);font-size:16.5px;line-height:1.72;margin-bottom:15px;max-width:60ch}
.ld-what-body p:last-child{margin-bottom:0}
.ld-facts{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--sh-sm)}
.ld-facts-t{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.ld-fact{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.ld-fact:last-of-type{border-bottom:0}
.ld-fact-k{font-size:13.5px;color:var(--muted);flex-shrink:0}
.ld-fact-v{font-size:13.5px;color:var(--text);font-weight:600;text-align:right}
.ld-aka{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line)}
.ld-aka-t{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:10px}
.ld-aka-chips{display:flex;flex-wrap:wrap;gap:7px}
.ld-aka-chip{font-size:12.5px;font-weight:600;color:var(--pp-deep);background:var(--lila-soft);border:1px solid var(--lila);padding:5px 11px;border-radius:999px}

/* ── card grids (uses) ── */
.ld-cards{display:grid;grid-template-columns:1fr;gap:16px;margin-top:44px}
@media(min-width:640px){.ld-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.ld-cards{grid-template-columns:repeat(3,1fr)}}
.ld-card{padding:26px 24px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ld-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--lila)}
.ld-card-ic{width:50px;height:50px;border-radius:14px;background:var(--lila-soft);display:grid;place-items:center;color:var(--pp);margin-bottom:18px}
.ld-card-ic .ld-ico{width:24px;height:24px}
.ld-card h3{font-size:17.5px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
.ld-card p{font-size:14.5px;color:var(--muted);line-height:1.58}

/* ── types ── */
.ld-types{display:grid;grid-template-columns:1fr;gap:16px;margin-top:44px}
@media(min-width:640px){.ld-types{grid-template-columns:repeat(2,1fr)}}
.ld-type{position:relative;padding:26px 24px;background:#fff;border:1px solid var(--line);border-radius:18px;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.ld-type:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--lila)}
.ld-type-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pp);background:var(--lila-soft);padding:5px 11px;border-radius:999px;margin-bottom:14px}
.ld-type h3{font-size:19px;font-weight:700;margin-bottom:9px;letter-spacing:-.015em}
.ld-type p{font-size:14.5px;color:var(--body);line-height:1.62}

/* ── steps (how NEX works) ── */
.ld-steps{display:grid;grid-template-columns:1fr;gap:18px;margin-top:48px;counter-reset:s}
@media(min-width:820px){.ld-steps{grid-template-columns:repeat(3,1fr);gap:20px}}
.ld-step{position:relative;padding:30px 26px;background:var(--bg);border:1px solid var(--line);border-radius:20px}
.ld-section--soft .ld-step{background:#fff}
.ld-step-n{font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--pp);opacity:.5;margin-bottom:16px}
.ld-step-ic{width:54px;height:54px;border-radius:15px;background:var(--pp);color:#fff;display:grid;place-items:center;margin-bottom:18px;box-shadow:0 10px 24px rgba(95,85,130,.28)}
.ld-step-ic .ld-ico{width:26px;height:26px}
.ld-step h3{font-size:18px;font-weight:700;margin-bottom:9px;letter-spacing:-.01em}
.ld-step p{font-size:14.5px;color:var(--muted);line-height:1.6}
.ld-step-line{display:none}
@media(min-width:820px){.ld-step-line{display:block;position:absolute;top:57px;right:-10px;width:20px;height:2px;background:var(--lila);z-index:2}.ld-step:last-child .ld-step-line{display:none}}

/* ── includes checklist ── */
.ld-incl{display:grid;grid-template-columns:1fr;gap:12px 28px;margin-top:40px}
@media(min-width:720px){.ld-incl{grid-template-columns:1fr 1fr}}
.ld-incl-item{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;transition:border-color .18s}
.ld-section--soft .ld-incl-item{background:#fff}
.ld-incl-item:hover{border-color:var(--lila)}
.ld-check{width:26px;height:26px;border-radius:50%;background:#DCFCE7;color:#15803D;display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.ld-check .ld-ico{width:14px;height:14px;stroke-width:3}
.ld-incl-item p{font-size:15px;color:var(--text);font-weight:500;line-height:1.45}

/* ── faq ── */
.ld-faq{margin-top:40px;max-width:820px}
.ld-faq-item{border-bottom:1px solid var(--line)}
.ld-faq-item:first-child{border-top:1px solid var(--line)}
.ld-faq-q{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;text-align:left;padding:20px 4px;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.ld-faq-chev{width:30px;height:30px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:transform .3s,background .18s,border-color .18s,color .18s;color:var(--muted)}
.ld-faq-chev .ld-ico{width:15px;height:15px;stroke-width:2}
.ld-faq-item.open .ld-faq-chev{transform:rotate(180deg);background:var(--lila-soft);border-color:var(--lila);color:var(--pp)}
.ld-faq-a{max-height:0;overflow:hidden;opacity:0;transition:max-height .38s ease,opacity .25s,padding .25s;color:var(--body);font-size:15.5px;line-height:1.7}
.ld-faq-item.open .ld-faq-a{max-height:360px;opacity:1;padding:2px 4px 22px;max-width:70ch}

/* ── related docs ── */
.ld-rel{display:grid;grid-template-columns:1fr;gap:14px;margin-top:44px}
@media(min-width:560px){.ld-rel{grid-template-columns:repeat(2,1fr)}}
@media(min-width:920px){.ld-rel{grid-template-columns:repeat(3,1fr)}}
.ld-rel-card{display:flex;align-items:center;gap:15px;padding:19px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;transition:transform .18s,box-shadow .18s,border-color .18s}
.ld-rel-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--lila)}
.ld-rel-ic{width:46px;height:46px;border-radius:12px;background:var(--lila-soft);color:var(--pp);display:grid;place-items:center;flex-shrink:0}
.ld-rel-ic .ld-ico{width:22px;height:22px}
.ld-rel-body{flex:1;min-width:0}
.ld-rel-cat{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ld-rel-title{font-size:15.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em;margin-top:2px}
.ld-rel-arrow{color:var(--lila);flex-shrink:0;transition:transform .18s,color .18s}
.ld-rel-card:hover .ld-rel-arrow{color:var(--pp);transform:translateX(3px)}

/* ── CTA band ── */
.ld-ctaband{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--pp-deep),var(--pp-ink));border-radius:28px;padding:clamp(40px,6vw,72px) clamp(26px,4vw,64px);text-align:center;color:#fff}
.ld-ctaband::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.10),transparent 60%)}
.ld-ctaband-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.ld-ctaband h2{color:#fff;font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-.025em}
.ld-ctaband h2 em{color:#C9BEE4}
.ld-ctaband p{margin-top:16px;font-size:clamp(15.5px,1.4vw,18px);color:rgba(255,255,255,.72);max-width:56ch;line-height:1.6}
.ld-ctaband-row{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ── footer ── */
.ld-foot{background:var(--ink);color:rgba(255,255,255,.5);padding:72px 0 40px}
.ld-foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.08)}
.ld-foot-brand .ld-logo{color:#fff}
.ld-foot-brand .ld-logo:hover{color:#fff}
.ld-foot-tag{font-size:14px;margin-top:16px;max-width:32ch;line-height:1.65}
.ld-foot-col-t{color:#fff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;margin-bottom:16px}
.ld-foot-col a{display:block;color:rgba(255,255,255,.55);font-size:14px;padding:5px 0}
.ld-foot-col a:hover{color:#fff}
.ld-foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:28px;font-size:13px}
.ld-foot-legal{display:flex;flex-wrap:wrap;gap:22px}
.ld-foot-legal a{color:rgba(255,255,255,.55)}
.ld-foot-legal a:hover{color:#fff}

/* ── reveal animation ── */
.ld-reveal{opacity:0;transform:translateY(20px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 70ms)}
.ld-reveal.in{opacity:1;transform:none}
.no-anim .ld-reveal{transition:none!important;opacity:1;transform:none}
.no-anim .ld-doc-row{animation:none!important;opacity:1;transform:none}

/* ── responsive nav ── */
@media(max-width:820px){
  .ld-nav-links,.ld-nav-login{display:none!important}
  .ld-burger{display:inline-flex}
}
@media(max-width:640px){
  .ld-foot-grid{grid-template-columns:1fr 1fr}
  .ld-foot-grid>.ld-foot-brand{grid-column:1/-1}
  .ld-foot-bottom{flex-direction:column;align-items:flex-start}
  .ld-btn{width:100%}
  .ld-cta-row .ld-btn,.ld-ctaband-row .ld-btn{width:auto;flex:1 1 auto}
}

/* ── fineprint (hero) ── */
.ld-fineprint{margin-top:12px;font-size:12.5px;color:var(--muted)}

/* ── gate legal (modal) ── */
.ld-modal-ov{position:fixed;inset:0;background:rgba(11,11,16,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
.ld-modal-ov.open{display:flex}
.ld-modal{background:#fff;border-radius:22px;max-width:480px;width:100%;padding:30px 28px;box-shadow:var(--sh-lg)}
.ld-modal h3{font-size:21px;margin-bottom:12px;letter-spacing:-.015em}
.ld-modal .body{font-size:14.5px;color:var(--body);line-height:1.65}
.ld-agree{display:flex;gap:11px;align-items:flex-start;margin-top:18px;padding:14px;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;font-size:13.5px;color:var(--text);line-height:1.5;cursor:pointer;user-select:none}
.ld-agree input{width:18px;height:18px;margin-top:1px;accent-color:var(--pp);flex-shrink:0;cursor:pointer}
.ld-agree a{font-weight:600;text-decoration:underline}
.ld-modal-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;justify-content:flex-end}
.ld-btn[disabled]{opacity:.45;pointer-events:none}

/* ── servicios profesionales ── */
.ld-pro{display:grid;grid-template-columns:1fr;gap:16px;margin-top:44px}
@media(min-width:820px){.ld-pro{grid-template-columns:1fr 1fr}}
.ld-pro-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 28px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.ld-pro-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--lila)}
.ld-pro-card .ld-card-ic{width:54px;height:54px;border-radius:15px}
.ld-pro-card h3{font-size:19px;font-weight:700;letter-spacing:-.015em;margin-bottom:8px}
.ld-pro-desc{font-size:14.5px;color:var(--body);line-height:1.62;flex:1}
.ld-pro-card .ld-btn{margin-top:18px}
.ld-pro-fine{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted);line-height:1.55}

/* ── planes ── */
.ld-plans{display:grid;grid-template-columns:1fr;gap:16px;margin-top:44px}
@media(min-width:880px){.ld-plans{grid-template-columns:repeat(3,1fr)}}
.ld-plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 26px}
.ld-plan--now{border:2px solid var(--pp);box-shadow:var(--sh-md)}
.ld-plan-badge{position:absolute;top:-12px;left:24px;background:var(--pp);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.ld-plan-name{font-size:15px;font-weight:700;color:var(--ink)}
.ld-plan-price{margin-top:10px;font-size:38px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1}
.ld-plan-price small{font-size:13.5px;font-weight:500;color:var(--muted);letter-spacing:0}
.ld-plan-blurb{margin-top:10px;font-size:14px;color:var(--body);line-height:1.55;flex:1}
.ld-plan .ld-btn{margin-top:20px;width:100%}

/* ── paywall visual ── */
.ld-pay{max-width:560px;margin:44px auto 0;text-align:center}
.ld-pay-doc{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 26px 0;box-shadow:var(--sh-md);overflow:hidden;max-height:440px;text-align:left}
.ld-pay-tag{position:absolute;top:14px;right:14px;z-index:3;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-deep);background:var(--lila-soft);padding:5px 10px;border-radius:999px}
.ld-pay-blur{filter:blur(5px);user-select:none;pointer-events:none}
.ld-pay-row{padding:10px 0;border-bottom:1px solid var(--line-soft)}
.ld-pay-k{font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.ld-pay-v{font-size:14px;font-weight:500;color:var(--text);margin-top:3px}
.ld-pay-line{height:9px;border-radius:4px;background:var(--line-soft);margin:12px 0}
.ld-pay-lock{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;background:linear-gradient(to bottom,rgba(255,255,255,.14),rgba(255,255,255,.78) 78%)}
.ld-lockball{width:54px;height:54px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-md);display:grid;place-items:center;color:var(--pp)}
.ld-pay-note{margin-top:16px;font-size:13.5px;color:var(--muted)}

/* ── banda App Store ── */
.ld-appband{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);border-radius:24px;padding:clamp(26px,4vw,40px) clamp(22px,4vw,44px);color:#fff}
.ld-appband h2{color:#fff;font-size:clamp(22px,2.6vw,30px);font-weight:800;letter-spacing:-.02em}
.ld-appband p{margin-top:6px;font-size:14.5px;color:rgba(255,255,255,.6)}
.ld-asbadge{display:inline-flex;align-items:center;gap:11px;background:#000;border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:9px 18px 9px 14px;color:#fff;transition:transform .18s ease}
.ld-asbadge:hover{transform:translateY(-2px);color:#fff}
.ld-asbadge svg{width:26px;height:26px;flex-shrink:0}
.ld-asbadge .col{display:flex;flex-direction:column;text-align:left}
.ld-asbadge .s{font-size:10.5px;line-height:1.2;opacity:.8}
.ld-asbadge .b{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.15}

/* ── wizard de creación ── */
.ld-wiz-ov{position:fixed;inset:0;z-index:95;background:var(--lila-mist);display:none;flex-direction:column}
.ld-wiz-ov.open{display:flex}
.ld-wiz-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px clamp(16px,3vw,28px);background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ld-wiz-top .dt{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;color:var(--ink)}
.ld-wiz-top .dt .g{display:inline-flex}
.ld-wiz-top .dt .g svg{width:26px;height:26px}
.ld-wiz-top .dt small{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ld-wiz-top .x{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--muted);background:#fff;cursor:pointer}
.ld-wiz-top .x:hover{color:var(--ink);border-color:var(--lila)}
.ld-wiz-steps{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ld-wiz-steps .st{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;color:var(--muted);font-size:12.5px;font-weight:600;font-family:inherit;padding:2px}
.ld-wiz-steps .st .n{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:700;background:#fff}
.ld-wiz-steps .st.cur{color:var(--pp-deep)}
.ld-wiz-steps .st.cur .n{background:var(--pp);border-color:var(--pp);color:#fff}
.ld-wiz-steps .st.done{color:var(--ok)}
.ld-wiz-steps .st.done .n{background:#DCFCE7;border-color:#BBE7CF;color:#15803D}
.ld-wiz-steps .ln{width:18px;height:1.5px;background:var(--line)}
.ld-wiz-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.ld-wiz-wrap{max-width:1020px;margin:0 auto;padding:clamp(18px,3vw,32px) clamp(16px,3vw,28px) 40px}
.ld-wiz-foot{display:flex;justify-content:space-between;gap:12px;padding:12px clamp(16px,3vw,28px);background:#fff;border-top:1px solid var(--line)}
.ld-wiz-foot .ld-btn{width:auto}
.ld-wiz-grid{display:grid;grid-template-columns:1fr;gap:18px;align-items:start}
@media(min-width:900px){.ld-wiz-grid{grid-template-columns:1.4fr .9fr}}
.ld-wtabs{display:none;gap:8px;margin-bottom:14px}
.ld-wtabs button{flex:1;padding:10px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-family:inherit;font-size:13px;font-weight:600;color:var(--body);cursor:pointer}
.ld-wtabs button.on{background:var(--pp);border-color:var(--pp);color:#fff}
@media(max-width:899px){
  .ld-wtabs{display:flex}
  .ld-wiz-grid[data-tab="form"] .ld-wsrc{display:none}
  .ld-wiz-grid[data-tab="src"] .ld-wform{display:none}
}
.ld-wcount{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.ld-wcount span{font-size:12.5px;font-weight:600;color:var(--pp-deep);white-space:nowrap}
.ld-wcount .bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.ld-wcount .bar i{display:block;height:100%;width:0;background:var(--pp);border-radius:3px;transition:width .35s ease}
.ld-wg{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden}
.ld-wg-h{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;font-family:inherit;font-size:15.5px;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}
.ld-wg-h .meta{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:600}
.ld-wg-h .chev{width:16px;height:16px;transition:transform .25s}
.ld-wg.open .ld-wg-h .chev{transform:rotate(180deg)}
.ld-wg-b{display:none;padding:0 18px 18px}
.ld-wg.open .ld-wg-b{display:block}
.ld-wg-b .hp{font-size:12.5px;color:var(--muted);margin-bottom:12px;line-height:1.5}
.ld-wg-fs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ld-fld.wide{grid-column:1/-1}
@media(max-width:640px){.ld-wg-fs{grid-template-columns:1fr}}
.ld-in{width:100%;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:22px 40px 8px 14px;font-family:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}
textarea.ld-in{padding-top:24px;resize:vertical;min-height:88px}
select.ld-in{appearance:none;-webkit-appearance:none;height:56px}
.ld-in:focus{border-color:var(--pp);box-shadow:0 0 0 4px rgba(95,85,130,.14)}
.ld-fld{position:relative}
.ld-fld label{position:absolute;left:15px;top:17px;right:40px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px;color:var(--muted);pointer-events:none;transition:top .15s ease,font-size .15s ease,color .15s ease}
.ld-fld.has label,.ld-fld:focus-within label{top:7px;font-size:11px;font-weight:600;color:var(--pp);letter-spacing:.02em}
.ld-fld .okk{position:absolute;right:12px;top:18px;width:20px;height:20px;border-radius:50%;background:#DCFCE7;color:#15803D;display:none;place-items:center}
.ld-fld .okk .ld-ico{width:11px;height:11px;stroke-width:3}
.ld-fld.done .okk{display:grid}
.ld-fld .src{display:none;margin-top:4px;font-size:11px;color:var(--pp);font-weight:600}
.ld-fld.ext .src{display:block}
.ld-fld.flash .ld-in{animation:wzFlash 1.3s ease}
@keyframes wzFlash{0%{background:var(--lila)}100%{background:#fff}}
.ld-wsrc{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;position:sticky;top:12px}
.ld-wsrc .tt{font-size:14.5px;font-weight:700;margin-bottom:12px;line-height:1.4;color:var(--ink)}
.ld-drop{border:2px dashed rgba(95,85,130,.45);background:var(--lila-mist);border-radius:16px;padding:22px 16px;text-align:center;transition:background .15s,border-color .15s;cursor:pointer}
.ld-drop.drag{background:var(--lila-soft);border-color:var(--pp)}
.ld-drop .up{width:26px;height:26px;color:var(--pp);margin:0 auto 8px}
.ld-drop p{font-size:13px;color:var(--text);font-weight:500;line-height:1.45}
.ld-drop .fmts{display:block;margin-top:5px;font-size:11px;color:var(--muted)}
.ld-drop .btns{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.ld-btn.sm{min-height:38px;padding:8px 14px;font-size:12.5px}
.ld-wchips{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.ld-wchip{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff}
.ld-wchip .th{width:34px;height:34px;border-radius:9px;background:var(--lila-soft);color:var(--pp);display:grid;place-items:center;overflow:hidden;flex-shrink:0}
.ld-wchip .th img{width:100%;height:100%;object-fit:cover}
.ld-wchip .th .ld-ico{width:17px;height:17px}
.ld-wchip .nm{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ld-wchip .rm{border:0;background:none;color:var(--muted);cursor:pointer;font-size:14px;padding:4px;font-family:inherit}
.ld-wchip .rm:hover{color:var(--ink)}
.ld-wread{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--pp-deep);position:relative;padding:12px;border-radius:12px;background:var(--lila-soft);overflow:hidden}
.ld-wread .sh{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);animation:wzSh 1.2s linear infinite}
@keyframes wzSh{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.ld-wsrc .or{margin:14px 0 8px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.ld-wtx{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-family:inherit;font-size:13.5px;color:var(--ink);resize:vertical;outline:none}
.ld-wtx:focus{border-color:var(--pp);box-shadow:0 0 0 4px rgba(95,85,130,.14)}
.ld-wsrc #ldWzTxGo{margin-top:8px;width:100%}
.ld-wsrc .trust{margin-top:12px;font-size:11.5px;color:var(--muted);line-height:1.5;text-align:center}
.ld-wrev{display:grid;grid-template-columns:1fr;gap:12px;max-width:720px}
.ld-wrev-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.ld-wrev-card .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.ld-wrev-card .hd b{font-size:14.5px;color:var(--ink)}
.ld-wrev-card .ed{width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--pp);cursor:pointer}
.ld-wrev-card .ed:hover{border-color:var(--lila);background:var(--lila-mist)}
.ld-wrev-card .ed .ld-ico{width:15px;height:15px}
.ld-wrev-row{display:flex;gap:14px;padding:7px 0;border-bottom:1px solid var(--line-soft);font-size:13.5px}
.ld-wrev-row:last-child{border-bottom:0}
.ld-wrev-row .k{width:44%;color:var(--muted);flex-shrink:0}
.ld-wrev-row .v{color:var(--text);font-weight:500}
.ld-wrev-row .v.empty{color:#B58A2E;font-weight:600}
.ld-wnote{margin-top:16px;max-width:720px;font-size:13px;color:var(--pp-deep);background:var(--lila-soft);border:1px solid var(--lila);border-radius:12px;padding:12px 14px;line-height:1.5}
.ld-wdone{text-align:center;padding:40px 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.ld-wdone .big{width:64px;height:64px;border-radius:50%;background:#DCFCE7;color:#15803D;display:grid;place-items:center;margin-bottom:8px}
.ld-wdone .big .ld-ico{width:30px;height:30px;stroke-width:2.5}
.ld-wdone h3{font-size:24px}
.ld-wdone p{color:var(--muted);font-size:14.5px;max-width:44ch}
.ld-wdone .row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.ld-wdone .demo{font-size:11.5px;color:var(--muted);margin-top:10px}
@media(max-width:640px){
  .ld-wiz-steps .st .l{display:none}
  .ld-wiz-steps{gap:4px}
  .ld-wiz-steps .ln{width:10px}
  .ld-wiz-foot .ld-btn{width:auto;flex:1 1 auto}
}

/* ── reduced motion ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .ld-reveal{opacity:1!important;transform:none!important}
  .ld-doc-row{opacity:1!important;transform:none!important}
  html{scroll-behavior:auto}
}

/* ═══════════════════════════════════════════════════════════════════════════
   AÑADIDOS DEL PORTE AL REPO (revisión adversarial jul-2026)
   Todo lo de arriba es el diseño original del handoff; lo de abajo es lo que
   exigieron los fixes 1, 2, 5 y 9. Se mantiene aparte para poder comparar con
   el original de Downloads\landing-poa sin ruido.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── FIX 1 · sección de servicios con UNA sola tarjeta (notarización) ──────
   Se eliminó la tarjeta de "abogado revisor" (riesgo de fee-splitting). La
   rejilla queda a dos columnas: tarjeta de notarización + bloque informativo
   NEUTRO (qué sigue después de descargar). En móvil se apilan. */
.ld-pro--duo{grid-template-columns:1fr}
@media(min-width:820px){.ld-pro--duo{grid-template-columns:1.05fr .95fr;align-items:stretch}}
.ld-pro-next{display:flex;flex-direction:column;background:var(--bg-soft);border:1px solid var(--line);border-radius:20px;padding:30px 28px}
.ld-pro-next h3{font-size:19px;font-weight:700;letter-spacing:-.015em;margin-bottom:6px}
.ld-pro-next .lead{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:18px}
.ld-pro-steps{display:flex;flex-direction:column;gap:14px;flex:1}
.ld-pro-step{display:flex;gap:13px;align-items:flex-start}
.ld-pro-step .n{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--lila);color:var(--pp);font-size:12px;font-weight:800;display:grid;place-items:center;flex-shrink:0;margin-top:1px}
.ld-pro-step p{font-size:14px;color:var(--body);line-height:1.55}
.ld-pro-next .fine{margin-top:18px;padding-top:14px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted);line-height:1.55}

/* ── FIX 5 · validación de campos requeridos ────────────────────────────── */
.ld-fld .rq{font-style:normal;color:#C2410C;font-weight:700;margin-left:2px}
.ld-fld.bad .ld-in{border-color:#DC2626;background:#FEF2F2}
.ld-fld.bad .ld-in:focus{box-shadow:0 0 0 4px rgba(220,38,38,.14)}
.ld-fld.bad label{color:#DC2626}
.ld-wg.bad{border-color:#DC2626}
.ld-wg.bad .ld-wg-h{color:#B91C1C}
.ld-wg-h .meta .miss{color:#DC2626;font-weight:700}

/* ── FIX 9 · avisos del wizard (error de red, borrador incompleto, cancelado)
   Nunca fallamos en silencio: cada fallo pinta uno de estos bloques. ────── */
.ld-wmsg{display:flex;gap:11px;align-items:flex-start;border-radius:14px;padding:13px 15px;font-size:13.5px;line-height:1.5;margin-bottom:16px;max-width:720px}
.ld-wmsg .ld-ico{width:18px;height:18px;flex-shrink:0;margin-top:1px}
.ld-wmsg b{display:block;font-weight:700;margin-bottom:2px}
.ld-wmsg .ld-btn{margin-top:10px}
.ld-wmsg--err{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B}
.ld-wmsg--warn{background:#FFFBEB;border:1px solid #FDE68A;color:#92400E}
.ld-wmsg--info{background:var(--lila-soft);border:1px solid var(--lila);color:var(--pp-deep)}
.ld-wmsg-row{display:flex;flex-direction:column;gap:0}
.ld-wmsg-retry{align-self:flex-start;min-height:38px;padding:8px 14px;font-size:12.5px}

/* ── FIX 9 · vista previa REAL devuelta por el servidor (borrosa) ────────── */
.ld-pay-real{font-size:13.5px;line-height:1.6;color:var(--text)}
.ld-pay-real h1,.ld-pay-real h2,.ld-pay-real h3{font-size:15px;margin:0 0 8px}
.ld-pay-real p{margin:0 0 8px}
.ld-pay-real table{width:100%;border-collapse:collapse}
.ld-pay-real td,.ld-pay-real th{padding:4px 0;text-align:left;vertical-align:top}
.ld-pay-doc.is-busy .ld-pay-lock{background:linear-gradient(to bottom,rgba(255,255,255,.3),rgba(255,255,255,.86) 70%)}
.ld-spin{width:34px;height:34px;border-radius:50%;border:3px solid var(--lila);border-top-color:var(--pp);animation:ldSpin .8s linear infinite}
@keyframes ldSpin{to{transform:rotate(360deg)}}
.ld-pay-busy-t{font-size:13px;font-weight:600;color:var(--pp-deep)}

/* ── FIX 2 · botón de notarización en el paso final ──────────────────────── */
.ld-wdone .fine{font-size:11.5px;color:var(--muted);margin-top:12px;max-width:46ch}
.ld-wdone .sub{margin-top:18px;font-size:13px;color:var(--muted)}

@media(prefers-reduced-motion:reduce){.ld-spin{animation-duration:1.6s!important}}

/* ═══════════════════════════════════════════════════════════════════════════
   FEATURE 1 · BARRA DE PROGRESO DE LA REDACCIÓN
   El servidor manda progress (0-100) y phase. Mientras no haya número la
   barra corre en modo INDETERMINADO (.is-indet) y el porcentaje se esconde:
   nunca se inventa un número.
   ═══════════════════════════════════════════════════════════════════════════ */
.ld-pay-lock.is-prog{gap:12px}
.ld-prog{width:min(340px,88%);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.ld-prog-pct{display:flex;align-items:baseline;gap:2px;line-height:1;font-size:clamp(32px,7vw,42px);font-weight:800;letter-spacing:-.03em;color:var(--pp-deep);font-variant-numeric:tabular-nums}
.ld-prog-pct em{font-style:normal;font-size:.5em;font-weight:700;color:var(--pp)}
.ld-prog-bar{width:100%;height:8px;border-radius:999px;background:var(--lila);overflow:hidden}
.ld-prog-bar i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--pp),var(--pp-deep));transition:width .6s cubic-bezier(.22,1,.36,1)}
.ld-prog-phase{font-size:13.5px;font-weight:700;color:var(--pp-deep)}
.ld-prog-calm{font-size:12px;line-height:1.5;color:var(--muted);max-width:36ch}
.ld-prog-net{font-size:11.5px;font-weight:700;color:#B58A2E}
.ld-prog.is-indet .ld-prog-pct{display:none}
.ld-prog.is-indet .ld-prog-bar i{width:38%;transition:none;animation:ldIndet 1.5s ease-in-out infinite}
@keyframes ldIndet{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
@media(prefers-reduced-motion:reduce){
  .ld-prog.is-indet .ld-prog-bar i{animation-duration:3s}
  .ld-prog-bar i{transition:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   FEATURE 2 · CORREO OPCIONAL
   Vive al final de la columna del formulario, fuera de los grupos: no cuenta
   para el progreso de campos y su aviso de formato NO bloquea nada.
   ═══════════════════════════════════════════════════════════════════════════ */
.ld-wmail{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-top:12px}
.ld-wmail .hint{margin-top:8px;font-size:12px;line-height:1.5;color:var(--muted)}
.ld-wmail .warn{margin-top:6px;font-size:12px;font-weight:600;line-height:1.5;color:#B58A2E}
.ld-fld--mail .ld-in{padding-right:14px}
.ld-pay-mail{margin-top:6px;text-align:center;font-size:12px;color:var(--muted)}
.ld-wdone .mail{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 14px;border-radius:999px;background:var(--lila-soft);border:1px solid var(--lila);font-size:13px;font-weight:600;color:var(--pp-deep)}
.ld-wdone .mail .ld-ico{width:15px;height:15px;stroke-width:2.6}

/* botón/enlace inhabilitado (en un <a> el atributo disabled no existe) */
.ld-btn[aria-disabled="true"]{opacity:.45;pointer-events:none}
