* {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        :root {
            --font-geist-sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            --font-geist-mono: 'Geist Mono', 'Courier New', monospace;
        }

        body {
            font-family: var(--font-geist-sans);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            line-height: 1.6;
            color: #1f2937;
        }

        /* Placeholder Styles */
        .phone-placeholder, .logo-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, #10b981, #34d399);
            border-radius: 1rem;
            color: white;
            text-align: center;
            padding: 2rem;
            min-height: 300px;
        }

        .phone-mockup, .logo-mockup {
            font-size: 4rem;
            margin-bottom: 1rem;
            animation: float 3s ease-in-out infinite;
        }

        .phone-text, .logo-text {
            font-size: 1.5rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
        }

        .logo-subtitle {
            font-size: 1rem;
            opacity: 0.8;
        }

        .store-placeholder {
            display: flex;
            gap: 1rem;
            align-items: center;
        }

        .store-icon-text {
            background: #1f2937;
            color: white;
            padding: 0.5rem 1rem;
            border-radius: 0.5rem;
            font-size: 0.875rem;
            font-weight: 500;
        }

        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }

        /* Utility Classes */
        .container {
            max-width: 2000px;
            margin: 0 auto;
            width: 100%;
        }

        .bg-transparent { background-color: transparent; }
        .bg-emerald-50 { background-color: rgba(4, 147, 83, 0.1); }
        .text-emerald-700 { color: #047857; }
        .text-emerald-400 { color: #34d399; }
        .text-yellow-600 { color: #dfa344; }
        .bg-gray-900 { background-color: #111827; }
        .text-white { color: white; }
        .bg-emerald-400 { background-color: #34d399; }
        .bg-emerald-500 { background-color: #10b981; }
        .bg-emerald-600 { background-color: #059669; }

        /* Layout */
        .flex { display: flex; }
        .flex-col { flex-direction: column; }
        .flex-row { flex-direction: row; }
        .items-center { align-items: center; }
        .justify-center { justify-content: center; }
        .justify-between { justify-content: space-between; }
        .text-center { text-align: center; }
        .relative { position: relative; }
        .absolute { position: absolute; }
        .fixed { position: fixed; }
        .inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
        .z-10 { z-index: 10; }
        .z-50 { z-index: 50; }

        /* Spacing */
        .p-8 { padding: 2rem; }
        .py-20 { padding-top: 5rem; padding-bottom: 5rem; }
        .py-16 { padding-top: 4rem; padding-bottom: 4rem; }
        .px-12 { padding-left: 3rem; padding-right: 3rem; }
        .px-16 { padding-left: 4rem; padding-right: 4rem; }
        .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
        .py-8 { padding-top: 2rem; padding-bottom: 2rem; }
        .gap-4 { gap: 1rem; }
        .gap-8 { gap: 2rem; }
        .gap-12 { gap: 3rem; }
        .gap-16 { gap: 4rem; }

        /* Sizing */
        .w-1-5 { width: 20%; }
        .w-2-5 { width: 40%; }
        .w-36-percent { width: 36%; }
        .w-3-5 { width: 60%; }
        .w-4-5 { width: 80%; }
        .w-full { width: 100%; }
        .h-full { height: 100%; }
        .min-h-500 { min-height: 500px; }
        .w-300 { width: 300px; }
        .h-40 { height: 40px; }
        .h-80 { height: 80px; }

        /* Typography */
        .text-48 { font-size: 3rem; line-height: 1.2; }
        .text-36 { font-size: 2.25rem; line-height: 1.3; }
        .text-32 { font-size: 2rem; line-height: 1.3; }
        .text-24 { font-size: 1.5rem; line-height: 1.4; }
        .text-18 { font-size: 1.125rem; }
        .text-14 { font-size: 0.875rem; }
        .text-13 { font-size: 0.8125rem; }
        .font-bold { font-weight: 700; }
        .font-semibold { font-weight: 600; }
        .leading-tight { line-height: 1.25; }

        /* Borders */
        .rounded-lg { border-radius: 0.5rem; }
        .rounded-full { border-radius: 9999px; }
        .rounded-20 { border-radius: 20px; }
        .border-none { border: none; }
        .overflow-hidden { overflow: hidden; }

        /* Effects */
        .shadow-custom {
            box-shadow: 0 0px 12px 1px rgba(0,0,0,0.5), 0 4px 6px -2px rgba(0,0,0,0.05);
        }
        .opacity-50 { opacity: 0.5; }
        .cursor-pointer { cursor: pointer; }
        .transition-colors { transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out; }
        .object-cover { object-fit: cover; }

        /* Hero Banner Styles */
        .hero-banner {
            position: relative;
            min-height: 500px;
            width: 100%;
            background-color: #111827;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        .hero-bg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background-color: black;
            opacity: 0.5;
        }

        .hero-content {
            position: relative;
            width: 100%;
            z-index: 10;
            padding: 2rem;
            display: flex;
            flex-direction: row;
            justify-content: center;
            gap: 2rem;
        }

        .hero-text {
            width: 36%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 1rem;
        }

        .hero-phone {
            width: 300px;
            overflow: hidden;
            border-radius: 0.5rem;
            z-index: 50;
        }

        .hero-cta {
            width: 60%;
            position: relative;
            bottom: -45px;
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            background-color: white;
            padding: 2rem 3rem;
            border-radius: 20px;
            z-index: 10;
        }

        .cta-button {
            padding: 0.5rem 4rem;
            background-color: #34d399;
            color: white;
            font-weight: 600;
            border-radius: 9999px;
            border: none;
            cursor: pointer;
            box-shadow: 0 0px 12px 1px rgba(0,0,0,0.5), 0 4px 6px -2px rgba(0,0,0,0.05);
        }

        .cta-button:hover {
            background-color: #10b981;
        }

        .store-icons {
            width: 300px;
            height: 40px;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: 1rem;
        }

        .store-icon {
            width: 50%;
            height: 100%;
            object-fit: cover;
        }

        /* Section Styles */
        .section {
            width: 100%;
            padding: 100px 0;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: 2rem;
        }

        .section.bg-emerald {
            background-color: rgba(4, 147, 83, 0.1);
        }

        .section.bg-transparent {
            background-color: transparent;
        }

        .section-text {
            width: 36%;
            display: flex;
            flex-direction: column;
            gap: 3rem;
        }

        .section-image {
            width: 20%;
            margin: 0 4rem;
        }

        .section-image.large {
            width: 40%;
        }

        .section-video {
            width: 560px;
            height: 315px;
        }

        /* Language Switcher */
        .language-switcher {
            position: fixed;
            bottom: 1rem;
            right: 1rem;
            z-index: 9999;
            padding: 0.75rem;
            background-color: #10b981;
            border: none;
            border-radius: 0.5rem;
            color: white;
            font-weight: 600;
            font-size: 0.8125rem;
            cursor: pointer;
            transition: background-color 0.15s ease-in-out;
        }

        .language-switcher:hover {
            background-color: #059669;
        }

        .language-switcher option {
            color: black;
            background-color: white;
        }

        /* Responsive Design */
        @media (max-width: 1280px) {
            .text-48 { font-size: 2.5rem; }
            .text-36 { font-size: 2rem; }
            .section-video { width: 400px; height: 225px; }
        }

        @media (max-width: 1024px) {
            .hero-content, .section { flex-direction: column; gap: 4rem; }
            .section.reverse { flex-direction: column-reverse; }
            .hero-text, .section-text { width: 60%; text-align: center; align-items: center; gap: 1rem; }
            .section-image { width: 40%; }
            .section-image.large { width: 60%; }
            .hero-cta { width: 70%; bottom: -75px; flex-direction: column-reverse; gap: 1rem; }
            .section-video { width: 560px; height: 315px; }
        }

        @media (max-width: 768px) {
            .hero-text, .section-text { width: 90%; }
            .section-image { width: 60%; }
            .section-image.large { width: 80%; }
            .hero-cta { width: 80%; padding: 1.5rem; }
            .cta-button { padding: 0.5rem 2rem; }
        }

        @media (max-width: 640px) {
            .text-48 { font-size: 2.5rem; }
            .text-36 { font-size: 1.5rem; }
            .text-32 { font-size: 1.5rem; }
            .text-18 { font-size: 0.875rem; }
            .section { padding: 150px 0 100px 0; }
            .section-image { width: 80%; }
            .section-image.large { width: 95%; }
            .hero-cta { bottom: -100px; gap: 2rem; }
            .store-icons { flex-direction: column; height: 80px; }
            .section-video { width: 80vw; height: 45vw; }
        }

        @media (max-width: 500px) {
            .section-image { width: 80%; }
            .store-placeholder { flex-direction: column; gap: 0.5rem; }
            .phone-mockup, .logo-mockup { font-size: 3rem; }
            .phone-text, .logo-text { font-size: 1.25rem; }
        }

        /* Loading Screen */
        .loading-screen {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #10b981, #059669);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 10000;
            transition: opacity 0.5s ease-out;
        }

        .loading-content {
            text-align: center;
            color: white;
        }

        .spinner {
            width: 40px;
            height: 40px;
            border: 4px solid rgba(255,255,255,0.3);
            border-top: 4px solid white;
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin: 0 auto 20px;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .hidden {
            display: none !important;
        }