/* ===========================================================
   VELYO SIMULATEUR — styles (extracted verbatim from index.html)
   Paste into Webflow: Page Settings > Custom code > Inside <head>,
   wrapped in <style>...</style>  (or an Embed at the top of the section).
   Global *, body, html resets are intentionally omitted so this
   cannot override the rest of the Webflow page.
   =========================================================== */

        :root {
            /* Surfaces — inspired by velyo.fr (#F9FAFB / #FFFFFF) */
            --bg: #F9FAFB;
            --bg-soft: #F2F4F7;
            --surface: #FFFFFF;
            --surface-2: #F9FAFB;
            --surface-dark: #101828;
            --surface-darker: #0C111D;

            --border: #E4E7EC;
            --border-hover: #D0D5DD;
            --border-dark: rgba(255, 255, 255, 0.12);

            /* Text — velyo.fr palette */
            --text: #1D2939;
            --text-body: #344054;
            --text-muted: #667085;
            --text-dim: #98A2B3;
            --text-light: #FFFFFF;
            --text-on-dark: #F9FAFB;
            --text-on-dark-muted: #98A2B3;

            /* Accent — lime green (like velyo CTA "Découvrir") */
            --accent: #B7F33A;
            --accent-hover: #A4DE2E;
            --accent-dark: #4D6E0F;
            --accent-deep: #2D4A0A;
            --accent-soft: rgba(183, 243, 58, 0.18);
            --accent-tint: rgba(183, 243, 58, 0.08);

            /* Dark CTA tones */
            --dark: #101828;
            --dark-soft: #1D2939;

            --warning: #F59E0B;
            --danger: #D92D20;

            --font-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, sans-serif;
            /* Single typeface across the simulator. --font-mono kept as a token so the
               many caption/label rules using var(--font-mono) all resolve to Google Sans Flex. */
            --font-mono: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, sans-serif;

            --ease: cubic-bezier(0.19, 1, 0.22, 1);
        }

/* box-sizing only inside the simulator, not the whole page */
.simu-form, .simu-form *, .simu-form *::before, .simu-form *::after { box-sizing: border-box; }
.simu-form { font-family: var(--font-sans); color: var(--text-body); line-height: 1.6; }

/* ---- BUTTONS ---- */
        /* ============== BUTTONS ============== */
        .btn {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 12px 22px;
            border-radius: 8px;
            font-weight: 600;
            font-size: 0.93rem;
            text-decoration: none;
            transition: all 0.2s var(--ease);
            border: 1.5px solid transparent;
            cursor: pointer;
            font-family: inherit;
        }

        .btn-primary {
            background: var(--accent);
            color: var(--dark);
            border-color: var(--accent);
        }

        .btn-primary:hover {
            background: var(--accent-hover);
            border-color: var(--accent-hover);
            transform: translateY(-1px);
        }

        .btn-primary .icon {
            width: 16px;
            height: 16px;
            transition: transform 0.2s var(--ease);
        }

        .btn-primary:hover .icon { transform: translateX(3px); }

        .btn-dark {
            background: var(--dark);
            color: var(--text-light);
            border-color: var(--dark);
        }

        .btn-dark:hover {
            background: var(--dark-soft);
            border-color: var(--dark-soft);
            transform: translateY(-1px);
        }

        .btn-dark .icon { width: 16px; height: 16px; transition: transform 0.2s var(--ease); }
        .btn-dark:hover .icon { transform: translateX(3px); }

        .btn-ghost {
            color: var(--text);
            border-color: var(--border-hover);
            background: var(--surface);
        }

        .btn-ghost:hover {
            border-color: var(--text);
            background: var(--surface-2);
        }


/* ---- OFFRE / SIMULATEUR ---- */
        /* ============== OFFRE / SIMULATEUR ============== */
        .offer-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px;
            max-width: 1100px;
            margin: 0 auto;
        }

        @media (max-width: 900px) {
            .offer-grid { grid-template-columns: 1fr; }
        }

        .offer-card {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 16px;
            padding: 36px;
            position: relative;
            transition: border-color 0.25s var(--ease), transform 0.25s var(--ease);
        }

        .offer-card:hover {
            border-color: var(--border-hover);
            transform: translateY(-4px);
        }

        .offer-card.featured {
            border-color: var(--accent);
            background: linear-gradient(135deg, var(--surface) 0%, rgba(0, 229, 153, 0.06) 100%);
            box-shadow: 0 8px 32px rgba(0, 229, 153, 0.08);
        }

        .featured-badge {
            position: absolute;
            top: -12px;
            right: 24px;
            background: var(--accent);
            color: var(--bg);
            padding: 5px 12px;
            border-radius: 999px;
            font-size: 0.74rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .offer-card h3 {
            font-size: 1.45rem;
            font-weight: 700;
            margin-bottom: 6px;
            letter-spacing: -0.01em;
        }

        .offer-tagline {
            color: var(--text-muted);
            margin-bottom: 24px;
            font-size: 0.96rem;
        }

        .offer-divider {
            height: 1px;
            background: var(--border);
            margin: 24px 0;
        }

        .offer-features {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-bottom: 28px;
        }

        .offer-features li {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            font-size: 0.95rem;
            color: var(--text);
        }

        .offer-features li .icon {
            color: var(--accent);
            flex-shrink: 0;
            margin-top: 2px;
            width: 17px;
            height: 17px;
        }

        .simu-block {
            margin-top: 60px;
            max-width: 1100px;
            margin-left: auto;
            margin-right: auto;
            padding: 48px;
            background: linear-gradient(135deg, var(--surface-2) 0%, var(--surface) 100%);
            border: 1px solid var(--border-hover);
            border-radius: 20px;
            display: grid;
            grid-template-columns: 1.2fr 1fr;
            gap: 40px;
            align-items: center;
            position: relative;
            overflow: hidden;
        }

        .simu-block::before {
            content: '';
            position: absolute;
            top: -100px;
            right: -100px;
            width: 400px;
            height: 400px;
            background: radial-gradient(circle, var(--accent-soft) 0%, transparent 70%);
            filter: blur(40px);
            pointer-events: none;
        }

        .simu-block > * { position: relative; z-index: 1; }

        .simu-block h3 {
            font-size: 1.8rem;
            font-weight: 700;
            line-height: 1.15;
            margin-bottom: 14px;
            letter-spacing: -0.02em;
        }

        .simu-block p {
            color: var(--text-muted);
            margin-bottom: 28px;
            font-size: 1rem;
        }

        .simu-features {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px;
            margin-bottom: 28px;
        }

        .simu-features div {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.88rem;
            color: var(--text-muted);
        }

        .simu-features .icon {
            color: var(--accent);
            width: 15px;
            height: 15px;
        }

        .simu-visual {
            background: var(--bg-soft);
            border: 1px solid var(--border);
            border-radius: 14px;
            padding: 24px;
        }

        .simu-step {
            display: flex;
            gap: 14px;
            padding: 14px 0;
            border-bottom: 1px solid var(--border);
        }

        .simu-step:last-child { border-bottom: none; }

        .simu-step-num {
            width: 28px;
            height: 28px;
            background: var(--accent-soft);
            color: var(--accent);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 0.85rem;
            flex-shrink: 0;
            font-family: var(--font-mono);
        }

        .simu-step-text strong {
            display: block;
            font-size: 0.92rem;
            font-weight: 600;
            margin-bottom: 2px;
        }

        .simu-step-text span {
            color: var(--text-muted);
            font-size: 0.84rem;
        }

        @media (max-width: 900px) {
            .simu-block { grid-template-columns: 1fr; padding: 32px; }
            .simu-features { grid-template-columns: 1fr; }
        }


/* ---- MULTI-STEP FORM ---- */
        /* ============== MULTI-STEP FORM ============== */
        .simu-form {
            margin-top: 60px;
            max-width: 980px;
            margin-left: auto;
            margin-right: auto;
            padding: 48px;
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 20px;
            position: relative;
        }

        .simu-form > * { position: relative; z-index: 1; }

        @media (max-width: 700px) {
            .simu-form { padding: 28px 22px; }
        }

        .simu-progress {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            justify-content: center;
            gap: 16px 24px;
            margin-bottom: 40px;
        }

        .simu-progress-step {
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .simu-progress-step .num {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            border: 1px solid var(--border-hover);
            background: var(--surface);
            color: var(--text);
            font-size: 0.8rem;
            font-weight: 600;
            flex-shrink: 0;
            transition: all 0.3s var(--ease);
        }

        .simu-progress-step .step-title {
            font-size: 0.875rem;
            color: var(--text-body);
            white-space: nowrap;
        }

        .simu-progress-step.active .num {
            background: var(--dark);
            border-color: var(--dark);
            color: var(--text-light);
        }

        .simu-progress-step.active .step-title {
            font-weight: 600;
            color: var(--text);
        }

        .simu-progress-step.done .num {
            background: var(--accent);
            border-color: var(--accent);
            color: var(--dark);
        }

        .simu-step-panel {
            display: none;
            animation: fadeUp 0.45s var(--ease);
        }

        .simu-step-panel.active { display: block; }

        .simu-step-overline {
            font-family: var(--font-mono);
            font-size: 0.75rem;
            color: var(--accent-deep);
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            margin-bottom: 10px;
            display: block;
            text-align: center;
        }

        .simu-step-title {
            font-size: 1.85rem;
            font-weight: 800;
            line-height: 1.3;
            letter-spacing: -0.02em;
            margin-bottom: 12px;
            color: var(--text);
            text-align: center;
        }

        .simu-step-subtitle {
            color: var(--text-muted);
            font-size: 1.02rem;
            margin-bottom: 32px;
            text-align: center;
            max-width: 560px;
            margin-left: auto;
            margin-right: auto;
        }

        /* Choice cards (Oui/Non) */
        .choice-group {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 16px;
            margin-bottom: 32px;
        }

        @media (max-width: 600px) {
            .choice-group { grid-template-columns: 1fr; }
        }

        .choice-card {
            background: var(--surface);
            border: 1.5px solid var(--border);
            border-radius: 14px;
            padding: 24px;
            cursor: pointer;
            transition: all 0.2s var(--ease);
            text-align: left;
            font-family: inherit;
            color: var(--text);
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .choice-card:hover {
            border-color: var(--text);
            transform: translateY(-2px);
        }

        .choice-card.selected {
            border-color: var(--accent-dark);
            background: var(--accent-soft);
        }

        .choice-card-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .choice-card strong {
            font-size: 1.15rem;
            font-weight: 700;
            letter-spacing: -0.01em;
        }

        .choice-card .check-circle {
            width: 22px;
            height: 22px;
            border-radius: 50%;
            border: 1.5px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: center;
            color: transparent;
            transition: all 0.2s var(--ease);
            flex-shrink: 0;
        }

        .choice-card.selected .check-circle {
            border-color: var(--accent-dark);
            background: var(--accent);
            color: var(--dark);
        }

        .choice-card .check-circle .icon { width: 13px; height: 13px; }

        .choice-card span.desc {
            color: var(--text-muted);
            font-size: 0.92rem;
        }

        /* Checkbox options */
        .option-group {
            display: flex;
            flex-direction: column;
            gap: 10px;
            margin-bottom: 36px;
            padding-top: 28px;
            border-top: 1px solid var(--border);
        }

        .option-group-label {
            font-family: var(--font-mono);
            font-size: 0.74rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 4px;
        }

        .option-check {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 14px 18px;
            background: var(--bg-soft);
            border: 1px solid var(--border);
            border-radius: 10px;
            cursor: pointer;
            transition: all 0.2s var(--ease);
            user-select: none;
            position: relative;
        }

        .option-check:hover {
            border-color: var(--border-hover);
        }

        .option-check input { display: none; }

        .option-check .box {
            width: 20px;
            height: 20px;
            border: 1.5px solid var(--border-hover);
            border-radius: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: transparent;
            transition: all 0.2s var(--ease);
            flex-shrink: 0;
            background: var(--surface);
        }

        .option-check .box .icon { width: 13px; height: 13px; }

        .option-check input:checked ~ .box {
            border-color: var(--accent-dark);
            background: var(--accent);
            color: var(--dark);
        }

        .option-check input:checked ~ .label {
            color: var(--text);
        }

        .option-check .label {
            color: var(--text-body);
            font-size: 0.96rem;
            font-weight: 500;
        }

        .option-check:has(input:checked) {
            border-color: var(--accent-dark);
            background: var(--accent-soft);
        }

        /* Disabled state */
        .option-check.disabled {
            opacity: 0.45;
            cursor: not-allowed;
            background: var(--bg-soft);
        }

        .option-check.disabled .label {
            color: var(--text-muted);
        }

        .option-check.disabled:hover {
            border-color: var(--border);
        }

        .option-locked-note {
            font-family: var(--font-mono);
            font-size: 0.7rem;
            color: var(--text-dim);
            text-transform: uppercase;
            letter-spacing: 0.08em;
            margin-left: auto;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        .option-locked-note .icon { width: 12px; height: 12px; }

        .db-available-banner {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 14px 18px;
            background: var(--accent-tint);
            border: 1px solid rgba(183, 243, 58, 0.4);
            border-radius: 10px;
            margin-bottom: 16px;
        }

        .db-available-banner .icon {
            width: 20px;
            height: 20px;
            color: var(--accent-deep);
            flex-shrink: 0;
        }

        .db-available-banner strong {
            color: var(--text);
            font-weight: 600;
            font-size: 0.93rem;
            display: block;
            margin-bottom: 2px;
        }

        .db-available-banner span {
            color: var(--text-muted);
            font-size: 0.85rem;
        }

        .simu-actions {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            margin-top: 12px;
        }

        .btn-back {
            background: transparent;
            border: 1px solid var(--border);
            color: var(--text-body);
            padding: 11px 18px;
            border-radius: 8px;
            font-family: inherit;
            font-size: 0.9rem;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: all 0.2s var(--ease);
        }

        .btn-back:hover {
            color: var(--text);
            border-color: var(--text);
        }

        .btn-back .icon { width: 14px; height: 14px; }

        /* Offer card inside the form */
        .form-offer {
            background: #FBF8F2;
            border: 1.5px solid #E8E3D7;
            border-radius: 18px;
            overflow: hidden;
            margin-bottom: 28px;
        }

        .form-offer-head {
            background: var(--dark);
            padding: 32px 32px 36px;
            text-align: center;
        }

        .form-offer-overline {
            display: inline-block;
            font-family: var(--font-mono);
            font-size: 0.72rem;
            color: var(--accent);
            font-weight: 600;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            margin-bottom: 12px;
        }

        .form-offer-title {
            font-size: 1.85rem;
            font-weight: 800;
            letter-spacing: 0.02em;
            text-transform: uppercase;
            color: var(--text-light);
            line-height: 1.1;
        }

        .form-offer-body {
            padding: 36px 32px;
        }

        .form-offer-price {
            text-align: center;
            margin-bottom: 28px;
        }

        .form-offer-price strong {
            font-size: 2.4rem;
            font-weight: 800;
            color: var(--text);
            letter-spacing: -0.03em;
            font-feature-settings: 'tnum';
            line-height: 1;
        }

        .form-offer-price sup {
            font-size: 1.4rem;
            font-weight: 600;
            vertical-align: super;
            margin-left: 2px;
        }

        .form-offer-price span {
            display: block;
            color: var(--text-body);
            font-size: 0.95rem;
            margin-top: 8px;
            font-weight: 600;
        }

        .form-offer-features {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 24px;
        }

        .form-offer-features li {
            display: flex;
            align-items: flex-start;
            gap: 12px;
            padding: 14px 0;
            border-bottom: 1px solid #E8E3D7;
            font-size: 0.95rem;
            color: var(--text);
        }

        .form-offer-features li:last-child { border-bottom: none; }

        .form-offer-features li .icon {
            color: var(--text);
            flex-shrink: 0;
            margin-top: 2px;
            width: 19px;
            height: 19px;
        }

        .form-offer-cta-row {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 14px;
            padding-top: 8px;
        }

        .form-offer-ideal {
            text-align: center;
            font-size: 0.88rem;
            color: var(--text-muted);
        }

        .form-offer-ideal strong {
            color: var(--text);
        }

        .selected-options {
            background: var(--accent-tint);
            border: 1px solid rgba(183, 243, 58, 0.45);
            border-radius: 10px;
            padding: 14px 18px;
            margin-bottom: 24px;
            display: none;
        }

        .selected-options.shown { display: block; }

        .selected-options-label {
            font-family: var(--font-mono);
            font-size: 0.72rem;
            color: var(--accent-deep);
            font-weight: 600;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            margin-bottom: 8px;
        }

        .selected-options ul {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .selected-options li {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.9rem;
            color: var(--text);
        }

        .selected-options li .icon { width: 14px; height: 14px; color: var(--accent-deep); }

        /* Calculator */
        .calc-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px;
        }

        @media (max-width: 800px) {
            .calc-grid { grid-template-columns: 1fr; }
        }

        .calc-col {
            background: var(--bg-soft);
            border: 1px solid var(--border);
            border-radius: 14px;
            padding: 24px;
        }

        .calc-col-label {
            font-family: var(--font-mono);
            font-size: 0.72rem;
            color: var(--accent-deep);
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            margin-bottom: 18px;
            display: block;
        }

        .calc-field {
            margin-bottom: 18px;
        }

        .calc-field:last-child { margin-bottom: 0; }

        .calc-field label {
            display: block;
            font-size: 0.88rem;
            color: var(--text-body);
            margin-bottom: 8px;
            font-weight: 500;
        }

        .calc-field label .value {
            float: right;
            color: var(--text);
            font-weight: 700;
            font-family: var(--font-mono);
        }

        .calc-field input[type="number"],
        .calc-field input[type="email"],
        .calc-field input[type="text"],
        .calc-field select {
            width: 100%;
            background: var(--surface);
            border: 1px solid var(--border-hover);
            color: var(--text);
            padding: 11px 14px;
            border-radius: 8px;
            font-family: inherit;
            font-size: 0.95rem;
            transition: border-color 0.2s var(--ease);
        }

        .calc-field input[type="number"]:focus,
        .calc-field input[type="email"]:focus,
        .calc-field input[type="text"]:focus,
        .calc-field select:focus {
            outline: none;
            border-color: var(--text);
        }

        .calc-field input[type="range"] {
            width: 100%;
            -webkit-appearance: none;
            appearance: none;
            background: var(--border-hover);
            height: 5px;
            border-radius: 999px;
            outline: none;
        }

        .calc-field input[type="range"]::-webkit-slider-thumb {
            -webkit-appearance: none;
            appearance: none;
            width: 18px;
            height: 18px;
            background: var(--accent);
            border: 2px solid var(--dark);
            border-radius: 50%;
            cursor: pointer;
        }

        .calc-field input[type="range"]::-moz-range-thumb {
            width: 18px;
            height: 18px;
            background: var(--accent);
            border: 2px solid var(--dark);
            border-radius: 50%;
            cursor: pointer;
        }

        .calc-metrics {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-bottom: 20px;
        }

        .calc-metric {
            background: var(--surface);
            border: 1px solid var(--border);
            border-radius: 10px;
            padding: 16px 14px;
            text-align: center;
            transition: all 0.3s var(--ease);
        }

        .calc-metric.highlight {
            border-color: var(--accent-dark);
            background: var(--accent-soft);
        }

        .calc-metric strong {
            display: block;
            font-size: 1.85rem;
            font-weight: 800;
            color: var(--text);
            line-height: 1;
            letter-spacing: -0.02em;
            margin-bottom: 6px;
            font-feature-settings: 'tnum';
        }

        .calc-metric.highlight strong { color: var(--text); }

        .calc-metric span {
            font-size: 0.72rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            font-weight: 500;
        }

        .calc-funnel {
            display: flex;
            flex-direction: column;
            gap: 6px;
            margin-top: 6px;
        }

        .calc-funnel-bar {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .calc-funnel-bar .bar {
            flex: 1;
            background: var(--accent);
            color: var(--dark);
            padding: 10px 14px;
            border-radius: 6px;
            font-size: 0.88rem;
            font-weight: 700;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-feature-settings: 'tnum';
        }

        .calc-funnel-bar:nth-child(3) .bar {
            background: var(--accent-hover);
            max-width: 70%;
        }

        .calc-funnel-bar:nth-child(5) .bar {
            background: var(--dark);
            color: var(--text-light);
            max-width: 28%;
        }

        .calc-funnel-bar span.label {
            color: var(--text-muted);
            font-size: 0.85rem;
            white-space: nowrap;
        }

        .calc-funnel-arrow {
            font-family: var(--font-mono);
            font-size: 0.78rem;
            color: var(--text-dim);
            padding-left: 18px;
        }


/* ---- EMAIL / LEAD CAPTURE ---- */
        /* ============== EMAIL CAPTURE ============== */
        .email-capture {
            background: var(--bg-soft);
            border: 1.5px solid var(--border-hover);
            border-radius: 14px;
            padding: 26px 28px;
            margin: 28px 0;
        }

        .email-capture-title {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 6px;
        }

        .email-capture-title strong {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--text);
            letter-spacing: -0.01em;
        }

        .email-capture-title .icon {
            width: 20px;
            height: 20px;
            color: var(--accent-deep);
        }

        .email-capture p {
            color: var(--text-muted);
            font-size: 0.92rem;
            margin-bottom: 18px;
        }

        .email-row {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 10px;
        }

        @media (max-width: 600px) {
            .email-row { grid-template-columns: 1fr; }
        }

        .email-row input[type="email"] {
            background: var(--surface);
            border: 1px solid var(--border-hover);
            color: var(--text);
            padding: 13px 16px;
            border-radius: 8px;
            font-family: inherit;
            font-size: 0.95rem;
            transition: border-color 0.2s var(--ease);
        }

        .email-row input[type="email"]:focus {
            outline: none;
            border-color: var(--text);
        }

        .email-row .btn {
            padding: 13px 22px;
            white-space: nowrap;
        }

        .email-trust {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.78rem;
            color: var(--text-dim);
            margin-top: 12px;
        }

        .email-trust .icon { width: 13px; height: 13px; }

        .email-success {
            background: var(--accent-soft);
            border: 1.5px solid var(--accent-dark);
            border-radius: 10px;
            padding: 14px 18px;
            margin-top: 12px;
            display: none;
            align-items: center;
            gap: 10px;
            color: var(--text);
            font-size: 0.93rem;
            font-weight: 500;
        }

        .email-success.shown { display: flex; }
        .email-success .icon { color: var(--accent-deep); width: 18px; height: 18px; flex-shrink: 0; }


/* ---- LEAD FORM (added fields for native Webflow form) ---- */
.lead-form { display: block; }
.lead-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 14px;
}
.lead-grid input {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--text);
    background: var(--surface);
    transition: border-color 0.2s var(--ease);
}
.lead-grid input:focus { outline: none; border-color: var(--accent-dark); }
.simu-field { margin: 20px 0 4px; display: flex; flex-direction: column; gap: 8px; }
.simu-field textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-family: var(--font-sans);
    font-size: 0.95rem;
    color: var(--text);
    background: var(--surface);
    resize: vertical;
    min-height: 84px;
    transition: border-color 0.2s var(--ease);
}
.simu-field textarea:focus { outline: none; border-color: var(--accent-dark); }
.simu-field textarea::placeholder { color: var(--text-dim); }
.lead-form .btn-dark { width: 100%; justify-content: center; }
@media (max-width: 560px) { .lead-grid { grid-template-columns: 1fr; } }
