:root { --accent-green: #DAB24D; --accent-glow: #dab24d23; } .process-section { position: relative; max-width: 1200px; margin: 0 auto; } /* The Vertical Line */ .line-container { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background: #1a1a1a; transform: translateX(-50%); z-index: 1; border-radius: 4px; } .line-progress { position: absolute; top: 0; left: 0; width: 100%; height: 0%; background: var(--accent-green); box-shadow: 0 0 15px var(--accent-glow); border-radius: 4px; } /* --- Steps --- */ .step { display: flex; justify-content: space-between; align-items: center; /* Vertically center content with dot */ position: relative; margin-bottom: 200px; /* Large gap for clear scrolling */ z-index: 2; } /* The Dot */ .step-dot { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 24px; height: 24px; background-color: var(--bg-color); border: 3px solid #333; border-radius: 50%; z-index: 5; transition: border-color 0.3s, background-color 0.3s, box-shadow 0.3s; } /* Active state for dot (applied via JS) */ .step-dot.active { border-color: var(--accent-green); background-color: var(--accent-green); box-shadow: 0 0 20px var(--accent-green); } /* Content Wrappers */ .step-content, .step-visual { width: 42%; opacity: 0; /* Hidden by default */ /* We don't use transform here, we let GSAP handle the slide up */ } /* Zig-Zag Layout */ .step:nth-child(odd) { flex-direction: row; } .step:nth-child(odd) .step-content { text-align: right; } .step:nth-child(even) { flex-direction: row-reverse; } .step:nth-child(even) .step-content { text-align: left; } /* Styling the Cards/Images */ .step-visual { height: 280px; border-radius: 12px; border: 1px solid #222; background: #0f0f0f; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .visual-inner { width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; } .step-badge { display: inline-block; border: 1px solid var(--accent-green); color: var(--accent-green); padding: 4px 10px; border-radius: 4px; font-size: 0.85rem; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 1px; } .step-title { font-size: 2rem; margin-bottom: 0.5rem; color: #fff; } .step-desc { color: #999; line-height: 1.6; } /* Mobile */ @media (max-width: 768px) { .line-container { left: 20px; } .step { flex-direction: column !important; align-items: flex-start; margin-left: 50px; margin-bottom: 100px; } .step-dot { left: -30px; top: 0; transform: translate(-50%, 0); } .step-content, .step-visual { width: 100%; text-align: left !important; } .step-visual { margin-top: 20px; height: 200px; } }
.jpg)
.jpg)
.jpg)
Once your payment is confirmed, you’ll receive a short onboarding form. We gather everything needed to access your Klaviyo account and get started immediately.
We analyze your brand, audience, and goals to create a clear email strategy. No generic templates, only tailored, high-converting flows.
We design and build fully custom, on-brand email flows inside Klaviyo. Everything is set up, automated, and ready to generate revenue.
Before launch, we test deliverability, subject lines, and automation logic to ensure flawless performance from day one.