/* === Firma electrónica · hero (página nueva, no está en v5) ===
 * Lenguaje visual reutilizado: notarias-hero (fondo, badge en vivo, H1 con
 * degradado, botones, tarjeta) + scrolly (documento, firma SVG, sello ALC).
 * Ciclo de 7 s: se dibuja la firma → aparece "✓ Firmado eCert" → cae el sello.
 */
.gd-firma-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#F6F7FB,#fff)}
.gd-firma-hero__dots{position:absolute;inset:0;background-image:radial-gradient(rgba(10,15,31,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 30% 20%,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse 60% 70% at 30% 20%,#000 20%,transparent 70%)}
.gd-firma-hero__blob{position:absolute;right:4%;top:-120px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(31,59,255,.16),transparent 65%);filter:blur(20px);animation:gdDrift 20s ease-in-out infinite}
.gd-firma-hero__inner{position:relative;max-width:1240px;margin:0 auto;padding:clamp(40px,6cqw,84px) 20px clamp(36px,5cqw,64px);display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.gd-firma-hero__main{flex:1 1 520px;min-width:0}
.gd-firma-hero__crumb{font:400 13px 'Geist Mono',monospace;color:#98A2B3}
.gd-firma-hero__badge{display:inline-flex;align-items:center;gap:8px;margin-top:18px;background:#E7F8F1;color:#0E7A55;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}
.gd-firma-hero__dot{width:7px;height:7px;border-radius:50%;background:#0E9F6E;display:block;animation:gdBlink 1.4s infinite}
.gd-firma-hero__title{font-weight:600;font-size:clamp(44px,6.6cqw,96px);line-height:.95;letter-spacing:-.055em;margin:18px 0 0;text-wrap:balance}
.gd-firma-hero__grad{background:linear-gradient(90deg,#1F3BFF,#7A88FF 60%,#FF9F1C);-webkit-background-clip:text;background-clip:text;color:transparent}
.gd-firma-hero__lead{font-size:clamp(17px,1.6cqw,20px);line-height:1.5;color:#475069;margin:18px 0 0;max-width:580px}
.gd-firma-hero__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.gd-firma-hero__btn{display:inline-block;background:#1F3BFF;color:#fff;border:0;border-radius:14px;padding:16px 20px;font-size:16px;font-weight:600;line-height:normal;text-decoration:none;cursor:pointer;box-shadow:0 10px 26px -8px rgba(31,59,255,.6)}
.gd-firma-hero__btn:hover{background:#0A0F1F;color:#fff}
.gd-firma-hero__btn2{background:#fff;color:#0A0F1F;border:1px solid #E3E6EE;border-radius:14px;padding:16px 20px;font-size:16px;font-weight:500;line-height:normal;cursor:pointer}
.gd-firma-hero__btn2:hover{color:#0A0F1F;border-color:#C9D1FF}

/* Tarjeta de documento */
.gd-firma-hero__aside{flex:0 1 440px;min-width:0;width:100%;padding:0 14px 26px 0}
.gd-firma-hero__card{position:relative;background:#fff;border-radius:24px;padding:24px;box-shadow:0 40px 90px -30px rgba(10,15,31,.3),0 0 0 1px rgba(10,15,31,.05)}
.gd-firma-hero__card-top{display:flex;justify-content:space-between;gap:10px;font:500 10.5px 'Geist Mono',monospace;color:#98A2B3;letter-spacing:.1em}
.gd-firma-hero__card-type{color:#1F3BFF}
.gd-firma-hero__card-title{font-size:20px;font-weight:600;margin-top:8px;letter-spacing:-.02em}
.gd-firma-hero__lines{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.gd-firma-hero__line{height:5px;background:#EEF0F5;border-radius:3px;display:block}
.gd-firma-hero__line--94{width:94%}
.gd-firma-hero__line--72{width:72%}
.gd-firma-hero__signers{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.gd-firma-hero__signer{display:flex;align-items:center;gap:10px;background:#F6F7FB;border-radius:14px;padding:10px 12px;font-size:13.5px}
.gd-firma-hero__avatar{width:28px;height:28px;border-radius:50%;background:#E3E6EE;color:#475069;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex:none}
.gd-firma-hero__avatar.is-done{background:#1F3BFF;color:#fff}
.gd-firma-hero__signer-n{flex:1;min-width:0;color:#1B2236;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-firma-hero__ok{flex:none;font-size:12px;font-weight:600;background:#E7F8F1;color:#0E7A55;border-radius:6px;padding:3px 8px;animation:gdFirmaOk 7s ease infinite}
.gd-firma-hero__wait{flex:none;font-size:12px;font-weight:600;background:#FFF4E5;color:#9A5B00;border-radius:6px;padding:3px 8px}
.gd-firma-hero__sign{margin-top:18px;max-width:260px}
.gd-firma-hero__sign-svg{width:100%;height:46px;display:block}
.gd-firma-hero__sign-path{stroke-dasharray:320px;stroke-dashoffset:320px;animation:gdFirmaDraw 7s ease-in-out infinite}
.gd-firma-hero__sign-line{border-top:1.5px solid #0A0F1F;padding-top:6px;font-size:11px;color:#667085}
.gd-firma-hero__card-foot{border-top:1px solid #EEF0F5;margin-top:18px;padding-top:14px;font-size:13px;color:#475069}
.gd-firma-hero__stamp{position:absolute;right:-14px;bottom:-24px;width:94px;height:94px;border-radius:50%;background:#1F3BFF;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 40px rgba(31,59,255,.45);opacity:0;animation:gdFirmaStamp 7s ease infinite}
.gd-firma-hero__stamp-k{font:500 8px 'Geist Mono',monospace;letter-spacing:.14em}
.gd-firma-hero__stamp-t{font-size:23px;font-weight:700;letter-spacing:-.03em;line-height:1.05}

@keyframes gdFirmaDraw{0%{stroke-dashoffset:320px;opacity:1}38%,88%{stroke-dashoffset:0;opacity:1}96%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes gdFirmaOk{0%,36%{opacity:0;transform:translateY(4px)}42%,90%{opacity:1;transform:none}97%,100%{opacity:0;transform:none}}
@keyframes gdFirmaStamp{0%,44%{opacity:0;transform:scale(1.7) rotate(-10deg)}52%{opacity:1;transform:scale(.94) rotate(10deg)}58%,90%{opacity:1;transform:scale(1) rotate(8deg)}97%,100%{opacity:0;transform:scale(1) rotate(8deg)}}

@media (prefers-reduced-motion:reduce){
  .gd-firma-hero__sign-path{animation:none;stroke-dashoffset:0}
  .gd-firma-hero__ok{animation:none}
  .gd-firma-hero__stamp{animation:none;opacity:1;transform:rotate(8deg)}
}
