
        * {
            font-family: 'DM Sans', 'system-ui', sans-serif;
        }

        .font-heading {
            font-family: 'Space Grotesk', 'system-ui', sans-serif;
        }

        body {
            background-color: white;
            color: #7a8494;
            line-height: 1.625;
        }

        .text-primary {
            color: var(--bs-primary) !important;
        }

        .bg-primary {
            background-color: var(--bs-primary) !important;
        }

        .text-secondary {
            color: var(--bs-secondary) !important;
        }

        .bg-secondary {
            background-color: var(--bs-secondary) !important;
        }

        .bg-primary-bg {
            background-color: var(--primary-bg) !important;
        }

        .bg-secondary-bg {
            background-color: var(--secondary-bg) !important;
        }

        .text-gray-custom {
            color: var(--gray-custom) !important;
        }

        .text-gray-900 {
            color: #1f2937 !important;
        }

        .text-gray-600 {
            color: #4b5563 !important;
        }

        .text-gray-500 {
            color: #6b7280 !important;
        }

        .text-gray-400 {
            color: #9ca3af !important;
        }

        .text-slate-900 {
            color: #0f172a !important;
        }

        .text-slate-600 {
            color: #475569 !important;
        }

        .bg-gray-50 {
            background-color: #f9fafb !important;
        }

        .bg-gray-100 {
            background-color: #f3f4f6 !important;
        }

        .bg-gray-900 {
            background-color: #111827 !important;
        }

        .bg-light-gray {
            background-color: var(--light-gray) !important;
        }

        .border-gray-100 {
            border-color: #f3f4f6 !important;
        }

        .border-gray-200 {
            border-color: #e5e7eb !important;
        }

        .border-gray-300 {
            border-color: #d1d5db !important;
        }

        .border-gray-800 {
            border-color: #1f2937 !important;
        }

        .bg-emerald-50 {
            background-color: #f0fdf4 !important;
        }

        .text-emerald-800 {
            color: #166534 !important;
        }

        /* Utility classes */
        .rounded-pill {
            border-radius: 50rem !important;
        }

        .rounded-xl {
            border-radius: 0.75rem !important;
        }

        .rounded-3 {
            border-radius: 0.75rem !important;
        }

        .max-w-7xl {
            max-width: 80rem !important;
        }

        .max-w-4xl {
            max-width: 56rem !important;
        }

        .max-w-3xl {
            max-width: 48rem !important;
        }

        .max-w-2xl {
            max-width: 42rem !important;
        }

        .max-w-md {
            max-width: 28rem !important;
        }

        .transform {
            transform: translateZ(0);
        }

        .scale-105 {
            transform: scale(1.05);
        }

        .-translate-y-2 {
            transform: translateY(-0.5rem);
        }

        .transition-all {
            transition-property: all;
            transition-duration: 300ms;
        }

        .transition-colors {
            transition-property: color, background-color;
            transition-duration: 200ms;
        }

        .transition-transform {
            transition-property: transform;
            transition-duration: 500ms;
        }

        .group:hover .group-hover\:scale-105 {
            transform: scale(1.05);
        }

        .group:hover .group-hover\:-translate-y-2 {
            transform: translateY(-0.5rem);
        }

        .line-clamp-2 {
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .line-clamp-3 {
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .text-balance {
            text-wrap: balance;
        }

        .text-pretty {
            text-wrap: pretty;
        }

        .prose {
            color: #374151;
        }

        .prose h1 {
            font-size: 2.25rem;
            font-weight: 700;
            margin-top: 2rem;
            margin-bottom: 1rem;
            color: #1f2937;
        }

        .prose h2 {
            font-size: 1.875rem;
            font-weight: 600;
            margin-top: 1.5rem;
            margin-bottom: 0.75rem;
            color: #1f2937;
        }

        .prose h3 {
            font-size: 1.5rem;
            font-weight: 600;
            margin-top: 1rem;
            margin-bottom: 0.5rem;
            color: #1f1f1f;
        }

        .prose p {
            font-size: 1rem;
            line-height: 1.625;
            margin-bottom: 1rem;
            color: #4b5563;
        }

        .prose ul {
            list-style: disc inside;
            margin-bottom: 1rem;
        }

        .prose ol {
            list-style: decimal inside;
            margin-bottom: 1rem;
        }

        .prose a {
            color: #2563eb;
            text-decoration: underline;
        }

        .prose a:hover {
            color: #1d4ed8;
        }

        .prose img {
            margin: 1.5rem 0;
            border-radius: 0.5rem;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .prose blockquote {
            border-left: 4px solid #d1d5db;
            padding-left: 1rem;
            font-style: italic;
            color: #4b5563;
        }

        .bg-white\/95 {
            background-color: rgba(255, 255, 255, 0.95);
        }

        .backdrop-blur-sm {
            backdrop-filter: blur(4px);
        }

        .space-x-4 > * + * {
            margin-left: 1rem;
        }

        .space-y-2 > * + * {
            margin-top: 0.5rem;
        }

        .space-y-1 > * + * {
            margin-top: 0.25rem;
        }

        .space-x-8 > * + * {
            margin-left: 2rem;
        }

        .space-y-4 > * + * {
            margin-top: 1rem;
        }

        .space-y-6 > * + * {
            margin-top: 1.5rem;
        }

        .h-16 {
            height: 4rem;
        }

        .h-12 {
            height: 3rem;
        }

        .h-6 {
            height: 1.5rem;
        }

        .h-5 {
            height: 1.25rem;
        }

        .h-4 {
            height: 1rem;
        }

        .w-6 {
            width: 1.5rem;
        }

        .w-5 {
            width: 1.25rem;
        }

        .w-4 {
            width: 1rem;
        }

        .w-full {
            width: 100% !important;
        }

        .relative {
            position: relative;
        }

        .absolute {
            position: absolute;
        }

        .right-2 {
            right: 0.5rem;
        }

        .right-10 {
            right: 2.5rem;
        }

        .top-1\/2 {
            top: 50%;
        }

        .hover\:text-primary:hover {
            color: var(--bs-primary);
        }

        .hover\:bg-secondary:hover {
            background-color: var(--bs-secondary);
        }

        .hover\:text-white:hover {
            color: white;
        }

        .hover\:shadow-md:hover {
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
        }

        .hover\:shadow-lg:hover {
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .focus\:ring-primary:focus {
            outline: 2px solid var(--bs-primary);
            outline-offset: 2px;
        }

        .focus\:border-primary:focus {
            border-color: var(--bs-primary) !important;
        }

        .outline-none {
            outline: none;
        }

        .hidden {
            display: none !important;
        }

        .flex {
            display: flex;
        }

        .inline-flex {
            display: inline-flex;
        }

        .inline-block {
            display: inline-block;
        }

        .flex-wrap {
            flex-wrap: wrap;
        }

        .flex-col {
            flex-direction: column;
        }

        .flex-1 {
            flex: 1;
        }

        .gap-2 {
            gap: 0.5rem;
        }

        .gap-3 {
            gap: 0.75rem;
        }

        .gap-4 {
            gap: 1rem;
        }

        .gap-6 {
            gap: 1.5rem;
        }

        .gap-8 {
            gap: 2rem;
        }

        .gap-10 {
            gap: 2.5rem;
        }

        .justify-center {
            justify-content: center;
        }

        .justify-between {
            justify-content: space-between;
        }

        .align-items-center {
            align-items: center;
        }

        .overflow-hidden {
            overflow: hidden;
        }

        .object-cover {
            object-fit: cover;
        }

        .mx-auto {
            margin-left: auto;
            margin-right: auto;
        }

        .mb-2 {
            margin-bottom: 0.5rem;
        }

        .mb-3 {
            margin-bottom: 0.75rem;
        }

        .mb-4 {
            margin-bottom: 1rem;
        }

        .mb-6 {
            margin-bottom: 1.5rem;
        }

        .mb-8 {
            margin-bottom: 2rem;
        }

        .mt-1 {
            margin-top: 0.25rem;
        }

        .mt-2 {
            margin-top: 0.5rem;
        }

        .mt-4 {
            margin-top: 1rem;
        }

        .mt-5 {
            margin-top: 1.25rem;
        }

        .mt-6 {
            margin-top: 1.5rem;
        }

        .mt-8 {
            margin-top: 2rem;
        }

        .mt-12 {
            margin-top: 3rem;
        }

        .mt-16 {
            margin-top: 4rem;
        }

        .pt-2 {
            padding-top: 0.5rem;
        }

        .pt-8 {
            padding-top: 2rem;
        }

        .px-2 {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }

        .px-3 {
            padding-left: 0.75rem;
            padding-right: 0.75rem;
        }

        .px-4 {
            padding-left: 1rem;
            padding-right: 1rem;
        }

        .px-6 {
            padding-left: 1.5rem;
            padding-right: 1.5rem;
        }

        .py-2 {
            padding-top: 0.5rem;
            padding-bottom: 0.5rem;
        }

        .py-3 {
            padding-top: 0.75rem;
            padding-bottom: 0.75rem;
        }

        .py-4 {
            padding-top: 1rem;
            padding-bottom: 1rem;
        }

        .py-6 {
            padding-top: 1.5rem;
            padding-bottom: 1.5rem;
        }

        .py-8 {
            padding-top: 2rem;
            padding-bottom: 2rem;
        }

        .pb-3 {
            padding-bottom: 0.75rem;
        }

        .pb-6 {
            padding-bottom: 1.5rem;
        }

        .pb-2 {
            padding-bottom: 0.5rem;
        }

        /* Responsive utilities */
        @media (max-width: 768px) {
            .md\:block {
                display: none !important;
            }

            .md\:hidden {
                display: block !important;
            }

            .sm\:px-3 {
                padding-left: 0.75rem !important;
                padding-right: 0.75rem !important;
            }

            .sm\:py-3 {
                padding-top: 0.75rem !important;
                padding-bottom: 0.75rem !important;
            }

            .sm\:flex {
                display: flex !important;
            }

            .sm\:flex-row {
                flex-direction: row;
            }

            .text-sm {
                font-size: 0.875rem;
            }

            .text-lg {
                font-size: 1.125rem;
            }
        }

        @media (min-width: 768px) {
            .md\:block {
                display: block !important;
            }

            .md\:hidden {
                display: none !important;
            }

            .md\:flex {
                display: flex !important;
            }

            .md\:col-span-2 {
                grid-column: span 2;
            }

            .md\:justify-between {
                justify-content: space-between;
            }

            .sm\:px-6 {
                padding-left: 1.5rem !important;
                padding-right: 1.5rem !important;
            }

            .sm\:text-lg {
                font-size: 1.125rem;
            }

            .sm\:text-xl {
                font-size: 1.25rem;
            }
        }

        @media (min-width: 1024px) {
            .lg\:px-8 {
                padding-left: 2rem !important;
                padding-right: 2rem !important;
            }

            .lg\:grid-cols-3 {
                display: grid;
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }

            .lg\:grid-cols-4 {
                display: grid;
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }

            .lg\:text-5xl {
                font-size: 3rem;
            }

            .lg\:text-4xl {
                font-size: 2.25rem;
            }

            .lg\:text-2xl {
                font-size: 1.5rem;
            }
        }

        .text-xs {
            font-size: 0.75rem;
        }

        .text-sm {
            font-size: 0.875rem;
        }

        .text-base {
            font-size: 1rem;
        }

        .text-lg {
            font-size: 1.125rem;
        }

        .text-xl {
            font-size: 1.25rem;
        }

        .text-2xl {
            font-size: 1.5rem;
        }

        .text-3xl {
            font-size: 1.875rem;
        }

        .text-4xl {
            font-size: 2.25rem;
        }

        .text-5xl {
            font-size: 3rem;
        }

        .text-6xl {
            font-size: 3.75rem;
        }

        .font-medium {
            font-weight: 500;
        }

        .font-semibold {
            font-weight: 600;
        }

        .font-bold {
            font-weight: 700;
        }

        .italic {
            font-style: italic;
        }

        .underline {
            text-decoration: underline;
        }

        .leading-tight {
            line-height: 1.25;
        }

        .leading-snug {
            line-height: 1.375;
        }

        .leading-relaxed {
            line-height: 1.625;
        }

        .shadow-sm {
            box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
        }

        .shadow {
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
        }

        .shadow-md {
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
        }

        .shadow-lg {
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }

        .sticky {
            position: sticky;
        }

        .top-0 {
            top: 0;
        }

        .z-50 {
            z-index: 50;
        }

        .border {
            border: 1px solid #d1d5db;
        }

        .border-2 {
            border-width: 2px;
        }

        .border-t {
            border-top: 1px solid;
        }

        .border-b {
            border-bottom: 1px solid;
        }

        .border-l-4 {
            border-left-width: 4px;
        }