 .hbspt-form *,
    .hbspt-form *::before,
    .hbspt-form *::after {
        box-sizing: border-box;
    }

    .hbspt-form {
        margin: 0;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
            Helvetica, Arial, sans-serif;
        background: #fff;
        color: #333;
    }

    /* -- Wrapper ----------------------------------------------- */
    #hs-form-wrapper {
        max-width: 420px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    /* -- HubSpot form shell ------------------------------------- */
    .hs-form,
    .hs-form fieldset {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }

    /* -- Each field row ---------------------------------------- */
    .hs-form .hs-form-field {
        margin-bottom: 10px !important;
    }

    /* Hide HubSpot's default labels (placeholders carry the label) */
    .hs-form .hs-form-field>label {
        display: none !important;
    }

    /* -- Text / email inputs ----------------------------------- */
    .hs-form input[type="text"],
    .hs-form input[type="email"],
    .hs-form input[type="tel"],
    .hs-form input[type="number"],
    .hs-form textarea,
    .hs-form select {
        width: 100% !important;
        height: 48px !important;
        padding: 0 14px !important;
        font-size: 15px !important;
        font-style: italic !important;
        color: #aaa !important;
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
        background: #fff !important;
        outline: none !important;
        transition: border-color 0.2s, box-shadow 0.2s !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }

    /* Filled / focused state */
    .hs-form input[type="text"]:focus,
    .hs-form input[type="email"]:focus,
    .hs-form input[type="tel"]:focus,
    .hs-form input[type="number"]:focus,
    .hs-form textarea:focus,
    .hs-form select:focus {
        border-color: #999 !important;
        box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.07) !important;
        color: #333 !important;
        font-style: normal !important;
    }

    /* When user has typed something */
    .hs-form input:not(:placeholder-shown),
    .hs-form textarea:not(:placeholder-shown) {
        color: #333 !important;
        font-style: normal !important;
    }

    /* Textarea (Comments field) */
    .hs-form textarea {
        height: 90px !important;
        padding-top: 12px !important;
        resize: vertical !important;
    }

    /* -- Validation error state -------------------------------- */
    .hs-form .hs-input.error,
    .hs-form input.error,
    .hs-form textarea.error {
        border-color: #c0392b !important;
        color: #c0392b !important;
    }

    .hs-form .hs-error-msgs {
        list-style: none !important;
        margin: 3px 0 0 !important;
        padding: 0 !important;
    }

    .hs-form .hs-error-msgs li label {
        display: block !important;
        /* override the hide-label rule */
        font-size: 12px !important;
        color: #c0392b !important;
        font-style: italic !important;
    }

    /* -- Checkbox row (CRO Expert opt-in) --------------------- */
    .hs-form .hs-fieldtype-booleancheckbox .hs-form-booleancheckbox,
    .hs-form .hs-fieldtype-checkbox .hs-form-checkbox {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        background: #e8e8f0 !important;
        border-radius: 4px !important;
        padding: 12px !important;
        margin: 0 !important;
    }

    .hs-form .hs-fieldtype-booleancheckbox input[type="checkbox"],
    .hs-form .hs-fieldtype-checkbox input[type="checkbox"] {
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
        margin-top: 2px !important;
        border: 1px solid #999 !important;
        border-radius: 2px !important;
        appearance: auto !important;
        -webkit-appearance: auto !important;
    }

    .hs-form .hs-fieldtype-booleancheckbox label,
    .hs-form .hs-fieldtype-checkbox label {
        display: block !important;
        /* override hide */
        font-size: 13px !important;
        color: #444 !important;
        font-style: normal !important;
        line-height: 1.45 !important;
        cursor: pointer !important;
    }

    /* -- Submit button ----------------------------------------- */
    .hs-form .hs-button,
    .hs-form input[type="submit"] {
        width: 100% !important;
        height: 54px !important;
        margin-top: 8px !important;
        background: #1a2744 !important;
        /* dark navy, matches screenshot */
        color: #fff !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        border: none !important;
        border-radius: 30px !important;
        cursor: pointer !important;
        transition: background 0.2s !important;
        font-family: inherit !important;
    }

    .hs-form .hs-button:hover,
    .hs-form input[type="submit"]:hover {
        background: #243460 !important;
    }

    /* -- Privacy / trust notice -------------------------------- */
    .hs-form-privacy {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        margin-top: 10px !important;
    }

    .hs-form-privacy img {
        width: 22px !important;
        flex-shrink: 0 !important;
        margin-top: 2px !important;
        opacity: 0.65 !important;
    }

    .hs-form-privacy p {
        font-size: 12px !important;
        color: #666 !important;
        font-style: italic !important;
        line-height: 1.5 !important;
        margin: 0 !important;
    }

    .hs-form-privacy p a {
        color: #1a6fa8 !important;
        text-decoration: underline !important;
    }

    /* HubSpot sometimes renders its own GDPR / legal consent block */
    .legal-consent-container {
        margin-top: 8px !important;
    }

    .legal-consent-container .hs-richtext p {
        font-size: 12px !important;
        color: #666 !important;
        font-style: italic !important;
    }

    /* Hide HubSpot's default "Submit" label wrapper if present */
    .hs-form .hs-submit .actions {
        padding: 0 !important;
    }

    /* -- Responsive tweak --------------------------------------- */
    @media (max-width: 480px) {
        #hs-form-wrapper {
            padding: 0 16px;
        }
    }