        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --color-primary: #1a365d;
            --color-white: #ffffff;
            
            /* n8n form variables */
            --font-family: 'Open Sans', sans-serif;
            --font-size-input: 14px;
            --font-size-label: 14px;
            --font-size-error: 12px;
            --color-input-border: #dbdfe7;
            --color-input-text: #71747A;
            --color-focus-border: rgb(90, 76, 194);
            --color-submit-btn-bg: #ff6d5a;
            --color-submit-btn-text: #ffffff;
            --color-error: #ea1f30;
            --color-required: #ff6d5a;
            --color-label: #555555;
            --border-radius-input: 6px;
            --padding-form-input: 12px;
            --submit-btn-height: 48px;
            --checkbox-size: 18px;
        }

        body {
            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
            line-height: 1.6;
            color: var(--color-primary);
            overflow-x: hidden;
            min-height: 100vh;
            position: relative;
        }

        /* Background */
        .page-background {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-image: url('https://memories.grammsolutions.com/assets/img/sample/010.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            z-index: 1;
        }

        .page-background::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(135deg, rgba(26, 54, 93, 0.85) 0%, rgba(49, 130, 206, 0.75) 100%);
            z-index: 2;
        }

        /* Content Container */
        .content-wrapper {
            position: relative;
            z-index: 3;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem 1rem;
        }

        .form-container {
            width: 100%;
            max-width: 600px;
        }

        /* Form Card */
        .form-card {
            background: var(--color-white);
            border-radius: 16px;
            padding: 3rem;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
        }

        /* Form Header */
        .form-header {
            text-align: center;
            margin-bottom: 2rem;
        }

        .form-header h1 {
            font-family: 'Playfair Display', Georgia, serif;
            font-size: clamp(1.5rem, 4vw, 2rem);
            font-weight: 600;
            margin-bottom: 1rem;
            color: var(--color-primary);
        }

        .form-header p {
            font-size: 1rem;
            color: #718096;
            line-height: 1.6;
            white-space: pre-line;
        }

        /* Form Styles */
        .inputs-wrapper {
            margin-top: 2rem;
        }

        .form-group {
            margin-bottom: 1.5rem;
        }

        form label {
            display: block;
            text-align: left;
            font-family: var(--font-family);
            font-size: var(--font-size-label);
            font-weight: 600;
            color: var(--color-label);
            padding-bottom: 6px;
        }

        label.form-required::after {
            content: ' *';
            color: var(--color-required);
        }

        .form-input {
            border: 1px solid var(--color-input-border);
            border-radius: var(--border-radius-input);
            width: 100%;
            font-family: var(--font-family);
            font-size: var(--font-size-input);
            color: var(--color-input-text);
            background-color: var(--color-white);
            font-weight: 400;
            padding: var(--padding-form-input);
        }

        textarea.form-input {
            max-width: 100%;
            min-height: 100px;
            resize: vertical;
        }

        .form-input:focus {
            outline: none;
            border-color: var(--color-focus-border);
        }

        ::placeholder {
            opacity: 0.5;
        }

        /* Multiselect */
        .multiselect {
            padding-left: 6px;
            padding-right: 6px;
        }

        .multiselect-option {
            padding-top: 6px;
            display: flex;
            align-items: center;
        }

        .multiselect-option label {
            padding-left: 12px;
            color: #7e8186;
            font-weight: 400;
            cursor: pointer;
        }

        .multiselect-checkbox {
            vertical-align: middle;
            min-width: var(--checkbox-size);
        }

        input[type='checkbox'] {
            appearance: none;
            width: var(--checkbox-size);
            height: var(--checkbox-size);
            border: 1px solid var(--color-input-border);
            border-radius: 3px;
            cursor: pointer;
            position: relative;
        }

        .multiselect-checkbox:checked {
            background: var(--color-focus-border);
            border-color: var(--color-focus-border);
        }

        .multiselect-checkbox:checked::after {
            content: '✔';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            font-size: 14px;
            font-weight: bold;
        }

        /* Radio style checkboxes */
        .multiselect[data-radio-select] .multiselect-checkbox {
            border-radius: 50%;
        }

        .multiselect[data-radio-select] .multiselect-checkbox:checked {
            background: white;
            border-color: var(--color-focus-border);
            border-width: 4px;
        }

        .multiselect[data-radio-select] .multiselect-checkbox:checked::after {
            content: '';
        }

        /* Submit Button */
        #submit-btn {
            width: 100%;
            height: var(--submit-btn-height);
            padding: var(--padding-form-input);
            border-radius: var(--border-radius-input);
            border: 0;
            font-size: var(--font-size-input);
            font-weight: 600;
            font-family: var(--font-family);
            background-color: var(--color-submit-btn-bg);
            color: var(--color-submit-btn-text);
            cursor: pointer;
            transition: opacity 0.3s;
        }

        #submit-btn:hover:not(:disabled) {
            opacity: 0.8;
        }

        #submit-btn:disabled {
            cursor: not-allowed;
            opacity: 0.6;
        }

        #submit-btn span {
            padding-right: 6px;
            display: none;
        }

        #submit-btn span svg {
            display: inline-block;
            vertical-align: middle;
            fill: var(--color-submit-btn-text);
            animation: spin 1.2s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* Error Messages */
        .error-hidden {
            display: block;
            position: relative;
            color: var(--color-error);
            text-align: left;
            font-size: var(--font-size-error);
            font-weight: 400;
            visibility: hidden;
            padding-top: 6px;
        }

        .error-show {
            visibility: visible;
        }

        /* Success Message */
        #submitted-form {
            display: none;
            text-align: center;
            padding: 2rem;
        }

        #submitted-form h1 {
            font-family: 'Playfair Display', Georgia, serif;
            font-size: 2rem;
            color: var(--color-primary);
            margin-bottom: 1rem;
        }

        #submitted-form p {
            font-size: 1.125rem;
            color: #555;
        }

        /* Mobile Responsive */
        @media (max-width: 768px) {
            .form-card {
                padding: 2rem 1.5rem;
            }

            .form-header h1 {
                font-size: 1.5rem;
            }
        }

        @media (max-width: 480px) {
            .content-wrapper {
                padding: 1rem;
            }

            .form-card {
                padding: 1.5rem 1rem;
            }
        }