/* ── Lead form (intro + kontakt + rapport) ── */
        .lead-form {
            max-width: 400px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            text-align: left;
        }

        .lead-form input,
        .lead-form textarea {
            font-family: var(--sans);
            font-size: 1rem;
            color: var(--text);
            background: #fff;
            border: 1px solid rgba(61, 28, 42, 0.18);
            border-radius: 12px;
            padding: 0.85rem 1.1rem;
            width: 100%;
            transition: border-color 0.2s, box-shadow 0.2s;
        }

        .lead-form textarea {
            resize: vertical;
            min-height: 120px;
            line-height: 1.5;
        }

        .lead-form input::placeholder,
        .lead-form textarea::placeholder { color: var(--text-faint); }

        .lead-form input:focus,
        .lead-form textarea:focus {
            outline: none;
            border-color: var(--footer-bg);
            box-shadow: 0 0 0 3px rgba(61, 28, 42, 0.08);
        }

        /* Honeypot — skjult for mennesker, fanger bots */
        .lead-form .hp-field {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            opacity: 0;
            pointer-events: none;
        }

        /* interaction-only: widgeten er typisk usynlig (0 højde).
           Negativ margin-top annullerer formularens flex-gap, så den kollapsede
           widget ikke efterlader et tomt mellemrum under Send-knappen.
           Vises en udfordring undtagelsesvis, sidder den tæt under knappen. */
        .cf-turnstile-widget {
            margin-top: -0.75rem;
            line-height: 0;
        }

        .lead-form .cta-btn {
            display: block;
            width: fit-content;
            margin: 0.25rem auto 0;
            border: none;
            cursor: pointer;
            font-size: 0.9rem;
        }

        .lead-form .cta-btn:disabled {
            opacity: 0.55;
            cursor: default;
        }

        .lead-form-status {
            font-family: var(--sans);
            font-size: 0.92rem;
            line-height: 1.5;
            margin: 0.25rem 0 0;
            min-height: 0;
            text-align: center;
        }

        .lead-form-status:empty { margin: 0; }

        .lead-form-status.is-error { color: #b03a3a; }
        .lead-form-status.is-success { color: #4A7C59; }

        /* Succes-tilstand: skjul formularen, vis kun den centrerede bekræftelse */
        .lead-form.is-done > *:not(.lead-form-status) { display: none; }

        .lead-form.is-done .lead-form-status {
            font-size: 1.15rem;
            line-height: 1.55;
            margin: 0;
            padding: 1rem 0;
        }

        /* ── Step-formular ── */
        .lead-step { display: none; }

        .lead-step.active {
            display: block;
            animation: leadStepIn 0.3s ease;
        }

        @keyframes leadStepIn {
            from { opacity: 0; transform: translateY(8px); }
            to { opacity: 1; transform: none; }
        }

        .lead-step-label {
            display: block;
            font-family: var(--sans);
            font-size: 1rem;
            color: var(--text-light);
            margin-bottom: 0.75rem;
            text-align: center;
        }

        .lead-step-row {
            display: flex;
            gap: 0.6rem;
            align-items: stretch;
        }

        .lead-step-row input { flex: 1; }

        .lead-step-next {
            flex-shrink: 0;
            width: 3.4rem;
            border: none;
            border-radius: 12px;
            background: var(--footer-bg);
            color: #fff;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: opacity 0.2s, transform 0.2s;
        }

        .lead-step-next svg { width: 20px; height: 20px; }
        .lead-step-next:hover { opacity: 0.92; transform: translateX(2px); }

        .lead-consent {
            display: flex;
            gap: 0.7rem;
            align-items: flex-start;
            text-align: left;
            font-family: var(--sans);
            font-size: 0.92rem;
            line-height: 1.55;
            color: var(--text-light);
            margin-bottom: 1.25rem;
            cursor: pointer;
        }

        .lead-consent input[type="checkbox"] {
            width: 1.15rem;
            height: 1.15rem;
            flex-shrink: 0;
            margin-top: 0.15rem;
            accent-color: var(--footer-bg);
            cursor: pointer;
        }

        .lead-steps-progress {
            display: flex;
            justify-content: center;
            gap: 0.45rem;
            margin-top: 0.5rem;
        }

        .lead-steps-progress span {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--text-faint);
            opacity: 0.4;
            transition: opacity 0.25s, background 0.25s;
        }

        .lead-steps-progress span.active {
            opacity: 1;
            background: var(--footer-bg);
        }

        /* ── Kontakt-modal ── */
        .lead-modal {
            position: fixed;
            inset: 0;
            z-index: 1000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            background: rgba(20, 12, 16, 0.88);
            -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
        }

        .lead-modal.open { display: flex; }

        .lead-modal-card {
            background: var(--bg);
            border-radius: 20px;
            padding: 3rem 2.5rem 2.5rem;
            width: 100%;
            max-width: 460px;
            position: relative;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
        }

        .lead-modal-close {
            position: absolute;
            top: 1rem;
            right: 1.25rem;
            background: none;
            border: none;
            font-size: 1.5rem;
            line-height: 1;
            color: var(--text-faint);
            cursor: pointer;
            transition: color 0.2s;
        }

        .lead-modal-close:hover { color: var(--text); }

        .lead-modal-eyebrow {
            font-size: 0.82rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.14em;
            color: var(--text-faint);
            margin-bottom: 0.75rem;
        }

        .lead-modal-heading {
            font-family: var(--serif);
            font-size: 1.8rem;
            font-weight: 400;
            line-height: 1.25;
            letter-spacing: -0.02em;
            color: var(--text);
            margin: 0 0 0.75rem;
        }

        .lead-modal-body {
            font-family: var(--sans);
            font-size: 1rem;
            line-height: 1.6;
            color: var(--text-light);
            margin: 0 0 1.75rem;
        }

        .lead-modal .lead-form { max-width: 100%; }

        @media (max-width: 600px) {
            .lead-modal { padding: 1.25rem; }
            .lead-modal-card { padding: 2.5rem 1.5rem 2rem; }
        }

        /* Footer "skriv til mig"-link */
        .footer-contact-link {
            display: inline-block;
            margin-top: 1.25rem;
            font-family: var(--sans);
            font-size: 0.95rem;
            font-weight: 500;
            color: var(--footer-text-light);
            background: none;
            border: none;
            cursor: pointer;
            text-decoration: underline;
            text-underline-offset: 3px;
            transition: color 0.2s;
        }

        .footer-contact-link:hover { color: var(--footer-text); }
