.lp-overlay{position:fixed;inset:0;background:rgba(16,35,31,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;opacity:0;visibility:hidden;transition:opacity .25s ease}
.lp-overlay.lp-open{opacity:1;visibility:visible}
.lp-card{background:#fff;border-radius:20px;max-width:420px;width:100%;padding:32px 28px 28px;position:relative;box-shadow:0 30px 80px rgba(16,35,31,.35);transform:translateY(12px) scale(.98);transition:transform .25s ease}
.lp-overlay.lp-open .lp-card{transform:translateY(0) scale(1)}
.lp-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:999px;border:1px solid #dbe5e2;background:#f7faf9;color:#31413c;font-size:16px;line-height:1;cursor:pointer;display:grid;place-items:center}
.lp-close:hover{background:#e9f5f0}
.lp-eyebrow{display:inline-flex;padding:5px 10px;border-radius:999px;background:#e9f5f0;color:#165744;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.lp-card h2{margin:0 0 8px;font-size:1.45rem;line-height:1.15;letter-spacing:-.02em;color:#10231f}
.lp-card p.lp-sub{margin:0 0 20px;color:#60706b;font-size:.92rem}
.lp-field{margin-bottom:12px}
.lp-field label{display:block;font-size:.8rem;font-weight:700;color:#31413c;margin-bottom:5px}
.lp-field input{width:100%;border:1px solid #dbe5e2;border-radius:10px;padding:11px 13px;font:inherit;font-size:.95rem}
.lp-field input:focus{outline:2px solid #1f7a63;outline-offset:1px}
.lp-submit{width:100%;margin-top:6px;background:#1f7a63;color:#fff;border:0;border-radius:10px;padding:13px 16px;font-weight:750;font-size:.95rem;cursor:pointer}
.lp-submit:hover{background:#165744}
.lp-submit:disabled{opacity:.6;cursor:default}
.lp-status{margin-top:12px;font-size:.85rem;min-height:1.2em}
.lp-status.lp-error{color:#b3261e}
.lp-status.lp-success{color:#165744;font-weight:600}
.lp-note{margin-top:14px;font-size:.72rem;color:#8b9994}
@media(max-width:480px){.lp-card{padding:26px 20px 22px}}

.lp-card { max-height: calc(100dvh - 40px); overflow-y: auto; }
.lp-card :focus-visible { outline: 2px solid #1f7a63; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .lp-overlay, .lp-card { transition: none; } }
