
   /* FINAL CTA */

        .cs-future {
            --future-blue: var(--cs-c-blue, #0870af);
            --future-cyan: var(--cs-c-cyan, #159dd3);
            --future-title: var(--cs-c-title, #393939);
            --future-text: var(--cs-c-text, #73777a);

            position: relative;
            isolation: isolate;
            overflow: hidden;
            padding: var(--cs-section-y, 60px) 0;
            background: #ffffff;
            font-family: inherit;
        }

        .cs-future *,
.cs-future *::before,
.cs-future *::after {
            box-sizing: border-box;
        }

        /* ==========================================
   CONTAINER BACKGROUND
========================================== */

        .cs-future>.container {
            position: relative;
            isolation: isolate;
        }

        .cs-future>.container::before {
            content: "";
            position: absolute;
            z-index: -1;
            inset: -30px -20px;

            border: 1px solid rgba(107, 204, 244, 0.4);
            border-radius: 28px;

            background:
                radial-gradient(circle at 50% -12%,
                    rgba(19, 145, 195, 0.2),
                    transparent 32%),
                radial-gradient(circle at 0% 55%,
                    rgba(8, 105, 166, 0.09),
                    transparent 30%),
                radial-gradient(circle at 100% 55%,
                    rgba(12, 105, 152, 0.075),
                    transparent 31%),
                var(--cs-grad-dark,
                    linear-gradient(135deg, #393939, #2a2a2a 48%, #064a73));

            box-shadow:
                0 18px 40px rgba(15, 57, 82, 0.16),
                inset 0 1px 0 rgba(255, 255, 255, 0.08);

            pointer-events: none;
        }

        /* ==========================================
   THREE-COLUMN LAYOUT
========================================== */

        .cs-future-layout {
            position: relative;
            display: grid;

            grid-template-columns:
                minmax(0, 1.1fr) minmax(100px, 0.35fr) minmax(0, 1fr);

            align-items: center;
            gap: 22px;
        }

        /* ==========================================
   LEFT CONTENT
========================================== */

        .cs-future-content {
            position: relative;
            z-index: 3;
            min-width: 0;
            padding: 15px 0;
        }

        .cs-future .cs-subtext {
            max-width: 520px;
            margin: 11px 0 0;

            color: #d5e2eb;
            font-size: var(--cs-fs-subtext, 16px);
            line-height: 1.72;
        }

        /* ==========================================
   CENTER IMAGE — EXISTING POSITION
========================================== */

        .cs-future-person {
            position: relative;
            align-self: stretch;
            min-width: 0;
            z-index: 1;
            pointer-events: none;
        }

        .cs-future-person img {
            position: absolute;
            right: -124px;
            bottom: calc(-1 * var(--cs-section-y, 60px));
            display: block;
            width: 371px;
            height: calc(100% + 100px);
            max-width: none;
            object-fit: contain;
            object-position: center bottom;
            filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.2));
        }

        /* ==========================================
   FORM CARD
========================================== */

        .cs-future-form-wrap {
            position: relative;
            z-index: 2;
            min-width: 0;
            margin-top: auto;
        }

        .cs-future-form {
            margin: 0;
            padding: 16px;
            border: 1px solid #d8eaf5;
            border-radius: 22px;
            background: #ffffff;

            box-shadow: 0 18px 38px rgba(0, 0, 0, 0.2);
            scroll-margin-top: 110px;
        }

        /* Form heading */

        .cs-future-form-heading {
            display: flex;
            align-items: center;
            gap: 12px;
            padding-bottom: 15px;
        }

        .cs-future-form-icon {
            display: grid;
            place-items: center;
            flex: 0 0 45px;

            width: 45px;
            height: 45px;

            border-radius: 13px;
            background: #eaf6fd;

            color: var(--future-blue);
            font-size: 24px;
        }

        .cs-future-form-heading>div {
            min-width: 0;
        }

        .cs-future-form-heading h3 {
            margin: 0 0 2px;

            color: var(--future-title);
            font-size: var(--cs-fs-card-title, 20px);
            font-weight: 700;
            line-height: 1.35;
        }

        .cs-future-form-heading p {
            margin: 0;
            color: var(--future-text);
            font-size: 12px;
            line-height: 1.6;
        }

        /* ==========================================
   INPUTS WITH BORDER LABELS
========================================== */

        .cs-future-fields {
            display: grid;
            gap: 20px;
            padding-top: 7px;
        }

        .cs-future-field-row {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        .cs-future-field {
            position: relative;
            min-width: 0;
        }

        /* Label sits halfway over the top border */

        .cs-future-field>label {
            position: absolute;
            z-index: 2;
            top: 0;
            left: 11px;

            display: block;
            width: auto;
            max-width: calc(100% - 22px);
            margin: 0;
            padding: 0 6px;

            background: #ffffff;
            color: #536b7b;

            font-family: inherit;
            font-size: 11px;
            font-weight: 600;
            line-height: 1.4;

            transform: translateY(-50%);
            cursor: text;
        }

        .cs-future-field>label>span {
            color: var(--future-blue);
        }

        .cs-future-input {
            position: relative;
            display: block;
            min-width: 0;

            border: 1px solid #cbdce8;
            border-radius: 9px;
            background: #ffffff;

            transition:
                border-color 0.2s ease,
                box-shadow 0.2s ease;
        }

        .cs-future-input>i:first-child {
            position: absolute;
            top: 13px;
            left: 12px;

            color: var(--future-blue);
            font-size: 15px;
            line-height: 1;

            pointer-events: none;
        }

        .cs-future-input input,
.cs-future-input textarea {
            display: block;
            width: 100%;
            min-width: 0;
            margin: 0;
            padding: 10px 11px 10px 33px;

            border: 0;
            border-radius: inherit;
            background: transparent;

            color: var(--future-title);
            font-family: inherit;
            font-size: 13px;
            font-weight: 400;
            line-height: 1.5;
        }

        .cs-future-input textarea {
            min-height: 50px;
            resize: vertical;
        }

        .cs-future-input input::placeholder,
.cs-future-input textarea::placeholder {
            color: #86949e;
            opacity: 1;
        }

        .cs-future-input input:focus,
.cs-future-input textarea:focus {
            outline: none;
        }

        .cs-future-input:focus-within {
            border-color: var(--future-blue);
            box-shadow: 0 0 0 3px rgba(8, 112, 175, 0.08);
        }

        .cs-future-field:focus-within>label {
            color: var(--future-blue);
        }

        .cs-future a:focus-visible,
.cs-future button:focus-visible {
            outline: 3px solid var(--future-cyan);
            outline-offset: 4px;
        }

        /* ==========================================
   SMALLER DESKTOP
========================================== */

        @media (max-width: 1199.98px) {
            .cs-future-layout {
                grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
                gap: 35px;
            }

            .cs-future-person {
                display: none;
            }

            .cs-future-form {
                padding: 22px;
            }

            .cs-future>.container::before {
                right: -10px;
                left: -10px;
            }
        }

        /* ==========================================
   TABLET
========================================== */

        @media (max-width: 991.98px) {
            .cs-future-layout {
                grid-template-columns: minmax(0, 1fr);
                gap: 30px;
            }

            .cs-future-content {
                max-width: 720px;
                padding: 0;
            }

            .cs-future .cs-subtext {
                max-width: 100%;
            }

            .cs-future-form-wrap {
                width: 100%;
                max-width: 680px;
            }
        }

        /* ==========================================
   MOBILE
========================================== */

        @media (max-width: 767.98px) {
            .cs-future>.container::before {
                inset: -22px 3px;
                border-radius: 20px;
            }
        }

        @media (max-width: 575.98px) {

            .cs-future .cs-subtext {
                margin-top: 16px;
                font-size: 14px;
                line-height: 1.8;
            }

            .cs-future-form {
                padding: 20px 17px;
                border-radius: 17px;
            }

            .cs-future-form-heading {
                gap: 10px;
            }

            .cs-future-form-heading h3 {
                font-size: 18px;
            }

            .cs-future-form-icon {
                flex-basis: 39px;
                width: 39px;
                height: 39px;
                border-radius: 11px;
                font-size: 21px;
            }

            .cs-future-field-row {
                grid-template-columns: minmax(0, 1fr);
                gap: 20px;
            }

            /* Prevent automatic input zoom on mobile Safari */

            .cs-future-input input,
.cs-future-input textarea {
                font-size: 16px;
            }

            .cs-future-input>i:first-child {
                top: 17px;
            }
        }

        /* Reduced motion */

        @media (prefers-reduced-motion: reduce) {

            .cs-future *,
.cs-future *::before,
.cs-future *::after {
                animation: none !important;
                transition: none !important;
            }
        }

/* ---------- shared buttons inside the CTA ---------- */
.cs-future-actions {
    margin-top: 24px;
}

.cs-future-submit {
    margin-top: -5px;
}
