Files
batida-landing/index.html
Mário Idival 361a6721c0
All checks were successful
Deploy / Build & Push (Prod) (push) Successful in 8s
Deploy / Deploy Staging (push) Successful in 4s
Deploy / Deploy Prod (push) Successful in 4s
fix: remove misleading claims, broken links and translate to PT-BR
- Remove "Open Source Core" claims (no public repo exists)
- Replace Unsplash stock image with CSS mockup dashboard
- Fix CTA buttons to link to signup ({{APP_URL}}/signup)
- Remove dead links: demo buttons, footer sections (Resources, Company, Legal), social links without URLs, newsletter form, docs link
- Translate all English terms to PT-BR (~40+ translations)
- Fix Portuguese accentuation (Começar, incluído, usuário, etc.)
2026-04-17 15:48:02 -03:00

1789 lines
107 KiB
HTML

<!DOCTYPE html>
<html lang="pt-BR" data-theme="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Batida — Gerencie Incidentes. Mantenha a Calma.</title>
<meta name="description" content="Plataforma brasileira de incident management. Alternativa inteligente ao PagerDuty. Setup em minutos. Comece grátis.">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
<!-- Tailwind -->
<script src="https://cdn.tailwindcss.com"></script>
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
'sans': ['Inter', 'system-ui', 'sans-serif'],
'mono': ['JetBrains Mono', 'monospace'],
},
colors: {
'ember': {
50: '#FFF7ED',
100: '#FFEDD5',
200: '#FED7AA',
300: '#FDBA74',
400: '#FB923C',
500: '#F97316',
600: '#EA580C',
700: '#C2410C',
800: '#9A3412',
900: '#7C2D12',
},
'frost': {
50: '#ECFEFF',
100: '#CFFAFE',
200: '#A5F3FC',
300: '#67E8F9',
400: '#22D3EE',
500: '#06B6D4',
600: '#0891B2',
700: '#0E7490',
800: '#155E75',
900: '#164E63',
}
}
}
}
}
</script>
<style>
/* ===== CSS VARIABLES PARA DARK/LIGHT ===== */
:root,
[data-theme="dark"] {
--bg-primary: #0C0C0F;
--bg-secondary: #141419;
--bg-raised: #1A1A22;
--bg-overlay: rgba(26, 26, 34, 0.8);
--border-color: #2A2A35;
--border-hover: rgba(249, 115, 22, 0.3);
--text-primary: #FAFAFA;
--text-secondary: #6B6B80;
--text-muted: #4A4A5A;
--shadow-color: rgba(0, 0, 0, 0.4);
--glow-ember: rgba(249, 115, 22, 0.15);
--glow-frost: rgba(34, 211, 238, 0.15);
--card-bg: linear-gradient(145deg, rgba(20, 20, 25, 0.8), rgba(12, 12, 15, 0.9));
--noise-opacity: 0.03;
--grid-opacity: 0.3;
}
[data-theme="light"] {
--bg-primary: #FAFAF9;
--bg-secondary: #F5F5F0;
--bg-raised: #FFFFFF;
--bg-overlay: rgba(255, 255, 255, 0.9);
--border-color: #E5E5E0;
--border-hover: rgba(249, 115, 22, 0.4);
--text-primary: #1A1A1A;
--text-secondary: #52525B;
--text-muted: #71717A;
--shadow-color: rgba(0, 0, 0, 0.08);
--glow-ember: rgba(249, 115, 22, 0.08);
--glow-frost: rgba(34, 211, 238, 0.08);
--card-bg: linear-gradient(145deg, #FFFFFF, #F8F8F5);
--noise-opacity: 0.015;
--grid-opacity: 0.15;
}
body, a, button, input, .card-surface {
font-family: 'Inter', system-ui, sans-serif;
transition: background-color 0.3s ease, border-color 0.3s ease, color 0.2s ease;
}
html {
scroll-behavior: smooth;
}
body {
background-color: var(--bg-primary);
color: var(--text-primary);
overflow-x: hidden;
}
/* ===== TEXTURAS DE FUNDO ===== */
.bg-texture {
background-image:
radial-gradient(ellipse 80% 50% at 50% -20%, var(--glow-ember), transparent);
background-color: var(--bg-primary);
}
.grid-pattern {
background-image:
linear-gradient(var(--border-color) 1px, transparent 1px),
linear-gradient(90deg, var(--border-color) 1px, transparent 1px);
background-size: 60px 60px;
opacity: 0.15;
}
/* ===== GRADIENTES ===== */
.gradient-ember {
background: linear-gradient(135deg, #F97316 0%, #FB923C 50%, #FDBA74 100%);
}
.gradient-text-ember {
background: linear-gradient(135deg, #F97316 0%, #FDBA74 50%, #FBBF24 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gradient-text-frost {
background: linear-gradient(135deg, #22D3EE 0%, #67E8F9 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gradient-text-amber {
background: linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.gradient-frost {
background: linear-gradient(135deg, #22D3EE 0%, #67E8F9 100%);
}
.glow-ember {
box-shadow: 0 0 30px var(--glow-ember);
}
/* ===== BOTÕES ===== */
.btn-ember {
background: linear-gradient(135deg, #F97316 0%, #EA580C 100%);
position: relative;
overflow: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 0 4px 20px rgba(249, 115, 22, 0.25);
color: white;
}
.btn-ember::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
transition: left 0.5s;
}
.btn-ember:hover::before {
left: 100%;
}
.btn-ember:hover {
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(249, 115, 22, 0.35);
}
.btn-ghost {
border: 1px solid var(--border-color);
background: rgba(249, 115, 22, 0.05);
backdrop-filter: blur(10px);
color: var(--text-primary);
transition: all 0.3s ease;
}
.btn-ghost:hover {
border-color: #F97316;
background: rgba(249, 115, 22, 0.1);
box-shadow: 0 0 30px var(--glow-ember);
}
/* ===== CARDS ===== */
.card-surface {
background: var(--card-bg);
border: 1px solid var(--border-color);
backdrop-filter: blur(10px);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
}
.card-surface::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
padding: 1px;
background: linear-gradient(135deg, rgba(249, 115, 22, 0.1), transparent 50%, rgba(34, 211, 238, 0.1));
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask-composite: exclude;
pointer-events: none;
}
.card-surface:hover {
transform: translateY(-4px);
border-color: var(--border-hover);
box-shadow:
0 20px 40px var(--shadow-color),
0 0 40px var(--glow-ember);
}
/* ===== BADGE PULSE ===== */
.badge-pulse {
animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes pulse-glow {
0%, 100% { opacity: 1; box-shadow: 0 0 10px currentColor; }
50% { opacity: 0.7; box-shadow: 0 0 20px currentColor; }
}
/* ===== FLOAT SUBTLE ===== */
@keyframes float-subtle {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-8px); }
}
.float-subtle {
animation: float-subtle 8s ease-in-out infinite;
}
/* ===== TIPOGRAFIA ===== */
.text-display {
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.1;
}
/* ===== TOGGLE THEME ===== */
.theme-toggle {
width: 56px;
height: 28px;
border-radius: 14px;
background: var(--bg-raised);
border: 1px solid var(--border-color);
position: relative;
cursor: pointer;
transition: all 0.3s ease;
}
.theme-toggle::after {
content: '';
position: absolute;
top: 2px;
left: 2px;
width: 22px;
height: 22px;
border-radius: 50%;
background: linear-gradient(135deg, #F97316, #FB923C);
transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
[data-theme="light"] .theme-toggle::after {
transform: translateX(28px);
background: linear-gradient(135deg, #06B6D4, #22D3EE);
}
.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 14px;
height: 14px;
transition: opacity 0.3s ease;
}
.theme-toggle .icon-sun {
left: 6px;
opacity: 1;
}
.theme-toggle .icon-moon {
right: 6px;
opacity: 0.3;
}
[data-theme="light"] .theme-toggle .icon-sun {
opacity: 0.3;
}
[data-theme="light"] .theme-toggle .icon-moon {
opacity: 1;
}
/* ===== MOBILE MENU ===== */
.mobile-menu {
position: fixed;
inset: 0;
z-index: 100;
pointer-events: none;
opacity: 0;
transition: opacity 0.3s ease;
}
.mobile-menu.active {
pointer-events: auto;
opacity: 1;
}
.mobile-menu-backdrop {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.5);
backdrop-filter: blur(4px);
}
.mobile-menu-panel {
position: absolute;
top: 0;
right: 0;
width: min(320px, 85vw);
height: 100%;
background: var(--bg-primary);
border-left: 1px solid var(--border-color);
padding: 2rem;
transform: translateX(100%);
transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);
overflow-y: auto;
}
.mobile-menu.active .mobile-menu-panel {
transform: translateX(0);
}
/* Hamburger Animation */
.hamburger {
width: 28px;
height: 20px;
position: relative;
cursor: pointer;
}
.hamburger span {
display: block;
position: absolute;
height: 2px;
width: 100%;
background: var(--text-primary);
border-radius: 2px;
transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
left: 0;
}
.hamburger span:nth-child(1) { top: 0; }
.hamburger span:nth-child(2) { top: 9px; width: 70%; }
.hamburger span:nth-child(3) { top: 18px; width: 85%; }
.hamburger.active span:nth-child(1) {
top: 9px;
transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
opacity: 0;
transform: translateX(10px);
}
.hamburger.active span:nth-child(3) {
top: 9px;
width: 100%;
transform: rotate(-45deg);
}
/* ===== PRICING FEATURED ===== */
.pricing-featured {
position: relative;
border: 2px solid #F97316;
background: linear-gradient(180deg, rgba(249, 115, 22, 0.05) 0%, var(--bg-primary) 30%);
}
.pricing-featured::before {
content: '';
position: absolute;
inset: -2px;
background: linear-gradient(135deg, #F97316, #22D3EE, #F97316);
border-radius: inherit;
z-index: -1;
opacity: 0.2;
filter: blur(20px);
}
/* ===== FAQ ACCORDION ===== */
details summary::-webkit-details-marker {
display: none;
}
details[open] summary svg:last-child {
transform: rotate(180deg);
}
details summary svg:last-child {
transition: transform 0.2s ease;
}
/* ===== SCROLLBAR ===== */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: var(--bg-primary);
}
::-webkit-scrollbar-thumb {
background: var(--border-color);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #F97316;
}
/* ===== SELECTION ===== */
::selection {
background: rgba(249, 115, 22, 0.25);
color: inherit;
}
/* ===== ASYMMETRIC LAYOUT HELPERS ===== */
.layout-asymmetric {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: center;
}
.layout-asymmetric > *:first-child {
grid-column: 1 / 2;
}
.layout-asymmetric > *:last-child {
grid-column: 2 / 3;
grid-row: 1 / 3;
}
@media (max-width: 1024px) {
.layout-asymmetric {
grid-template-columns: 1fr;
gap: 2rem;
}
.layout-asymmetric > *,
.layout-asymmetric > *:first-child,
.layout-asymmetric > *:last-child {
grid-column: 1 / -1;
grid-row: auto;
}
}
/* ===== SWIPE GESTURE HINT ===== */
.swipe-hint {
display: none;
}
@media (max-width: 768px) {
.swipe-hint {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 0.75rem;
color: var(--text-muted);
margin-top: 1rem;
animation: swipe-hint-anim 2s ease-in-out infinite;
}
@keyframes swipe-hint-anim {
0%, 100% { transform: translateX(0); opacity: 0.5; }
50% { transform: translateX(10px); opacity: 1; }
}
}
/* ===== RESPONSIVE TYPOGRAPHY ===== */
.responsive-heading {
font-size: clamp(2rem, 6vw, 4.5rem);
}
.responsive-subheading {
font-size: clamp(1.5rem, 4vw, 3rem);
}
</style>
</head>
<body class="antialiased">
<!-- NAVIGATION -->
<nav class="fixed w-full z-50 top-0 left-0 right-0 backdrop-blur-xl border-b transition-all duration-300" style="background: var(--bg-overlay); border-color: var(--border-color);">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between h-16">
<!-- Logo -->
<a href="#" class="flex items-center gap-2 group">
<div class="relative w-9 h-9 rounded-lg gradient-ember flex items-center justify-center font-bold text-lg text-white shadow-lg group-hover:scale-105 transition-transform">
B
</div>
<span class="text-xl font-bold tracking-tight">Batida</span>
</a>
<!-- Desktop Nav Links -->
<div class="hidden md:flex items-center gap-8">
<a href="#features" class="text-sm hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Features</a>
<a href="#how-it-works" class="text-sm hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Como Funciona</a>
<a href="#integrations" class="text-sm hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Integrações</a>
<a href="#pricing" class="text-sm hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Preços</a>
<a href="#faq" class="text-sm hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">FAQ</a>
</div>
<!-- Right Side Actions -->
<div class="flex items-center gap-3">
<!-- Theme Toggle -->
<button class="theme-toggle" onclick="toggleTheme()" aria-label="Toggle theme">
<svg class="icon-sun" fill="currentColor" viewBox="0 0 20 20">
<path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd"/>
</svg>
<svg class="icon-moon" fill="currentColor" viewBox="0 0 20 20">
<path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"/>
</svg>
</button>
<a href="{{APP_URL}}/login" class="hidden sm:inline-flex text-sm hover:text-white transition-colors" style="color: var(--text-secondary);">Login</a>
<a href="{{APP_URL}}/signup" class="hidden sm:inline-flex px-4 py-2 rounded-lg text-sm font-semibold text-white btn-ember">
Começar Grátis
</a>
<!-- Mobile Hamburger -->
<button class="hamburger md:hidden" onclick="toggleMobileMenu()" aria-label="Menu">
<span></span>
<span></span>
<span></span>
</button>
</div>
</div>
</div>
</nav>
<!-- MOBILE MENU -->
<div class="mobile-menu md:hidden" id="mobileMenu">
<div class="mobile-menu-backdrop" onclick="toggleMobileMenu()"></div>
<div class="mobile-menu-panel">
<div class="flex items-center justify-between mb-8">
<div class="flex items-center gap-2">
<div class="w-8 h-8 rounded-lg gradient-ember flex items-center justify-center font-bold text-white text-sm">B</div>
<span class="text-lg font-bold">Batida</span>
</div>
<button class="w-10 h-10 rounded-lg flex items-center justify-center hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors" onclick="toggleMobileMenu()" aria-label="Fechar menu">
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/>
</svg>
</button>
</div>
<nav class="space-y-1">
<a href="#features" class="block px-4 py-3 rounded-lg text-base font-medium hover:bg-ember-500/10 transition-colors" style="color: var(--text-primary);" onclick="toggleMobileMenu()">Features</a>
<a href="#how-it-works" class="block px-4 py-3 rounded-lg text-base font-medium hover:bg-ember-500/10 transition-colors" style="color: var(--text-primary);" onclick="toggleMobileMenu()">Como Funciona</a>
<a href="#integrations" class="block px-4 py-3 rounded-lg text-base font-medium hover:bg-ember-500/10 transition-colors" style="color: var(--text-primary);" onclick="toggleMobileMenu()">Integrações</a>
<a href="#pricing" class="block px-4 py-3 rounded-lg text-base font-medium hover:bg-ember-500/10 transition-colors" style="color: var(--text-primary);" onclick="toggleMobileMenu()">Preços</a>
<a href="#faq" class="block px-4 py-3 rounded-lg text-base font-medium hover:bg-ember-500/10 transition-colors" style="color: var(--text-primary);" onclick="toggleMobileMenu()">FAQ</a>
</nav>
<div class="mt-8 pt-8 border-t space-y-3" style="border-color: var(--border-color);">
<a href="{{APP_URL}}/login" class="block w-full px-4 py-3 text-center rounded-lg font-medium btn-ghost" style="color: var(--text-primary);">Login</a>
<a href="{{APP_URL}}/signup" class="w-full px-4 py-3 rounded-lg font-semibold text-white btn-ember block text-center">Começar Grátis</a>
</div>
<div class="swipe-hint mt-6 justify-center">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4"/>
</svg>
<span>Deslize para fechar →</span>
</div>
</div>
</div>
<!-- HERO SECTION - LAYOUT ASSIMÉTRICO -->
<section class="relative min-h-screen flex items-center bg-texture overflow-hidden pt-16">
<div class="absolute inset-0 grid-pattern" style="opacity: var(--grid-opacity);"></div>
<!-- Gradient Orbs -->
<div class="absolute top-1/4 -left-32 w-[500px] h-[500px] rounded-full bg-ember-500/10 blur-[120px] pointer-events-none"></div>
<div class="absolute bottom-1/4 -right-32 w-[400px] h-[400px] rounded-full bg-frost-400/8 blur-[100px] pointer-events-none"></div>
<div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 lg:py-20 w-full">
<div class="layout-asymmetric lg:gap-20">
<!-- Left Content (60%) -->
<div class="lg:pr-8">
<!-- Badge -->
<div class="inline-flex items-center gap-2 px-4 py-2 rounded-full mb-6 card-surface">
<span class="relative flex h-2 w-2">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-ember-400 opacity-75"></span>
<span class="relative inline-flex rounded-full h-2 w-2 bg-ember-500"></span>
</span>
<span class="text-sm font-medium" style="color: var(--text-secondary);">
Alternativa inteligente ao PagerDuty • Feito no 🇧🇷
</span>
</div>
<!-- Headline -->
<h1 class="responsive-heading text-display mb-6">
Gerencie Incidentes.<br>
<span class="gradient-text-ember">Mantenha a Calma.</span>
</h1>
<!-- Subheadline -->
<p class="text-lg lg:text-xl mb-8 leading-relaxed font-light max-w-xl" style="color: var(--text-secondary);">
Plataforma de <strong style="color: var(--text-primary);">incident management</strong> para times DevOps que precisam
<span class="text-ember-500 font-medium">responder rápido</span>, coordenar sem caos e aprender com cada problema.
</p>
<!-- CTAs -->
<div class="flex flex-col sm:flex-row gap-4 mb-10">
<a href="{{APP_URL}}/signup" class="btn-ember px-8 py-4 rounded-xl text-base font-bold text-white inline-flex items-center justify-center gap-2 group">
<span>Começar Grátis</span>
<svg class="w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
</svg>
</a>
</div>
<!-- Social Proof Mini -->
<div class="space-y-3">
<p class="text-xs uppercase tracking-wider font-semibold" style="color: var(--text-muted);">Construído por SREs, para SREs</p>
<div class="flex flex-wrap items-center gap-4">
<span class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full card-surface text-xs font-medium" style="color: var(--text-secondary);">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Feito no Brasil
</span>
<span class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full card-surface text-xs font-medium" style="color: var(--text-secondary);">
<svg class="w-3.5 h-3.5 text-frost-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Acesso Antecipado
</span>
<span class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full card-surface text-xs font-medium" style="color: var(--text-secondary);">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Grátis para Começar
</span>
</div>
</div>
</div>
<!-- Right Dashboard Preview (40%) -->
<div class="float-subtle order-first lg:order-last mb-10 lg:mb-0">
<div class="relative">
<!-- Glow behind dashboard -->
<div class="absolute -inset-4 bg-gradient-to-r from-ember-500/10 via-transparent to-frost-400/10 blur-3xl rounded-3xl"></div>
<!-- Dashboard Window -->
<div class="relative card-surface rounded-2xl overflow-hidden shadow-2xl">
<!-- Window Chrome -->
<div class="px-4 py-3 flex items-center gap-3 border-b" style="background: var(--bg-raised); border-color: var(--border-color);">
<div class="flex gap-2">
<div class="w-3 h-3 rounded-full bg-red-500/80"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500/80"></div>
<div class="w-3 h-3 rounded-full bg-green-500/80"></div>
</div>
<div class="flex-1 flex justify-center">
<div class="px-4 py-1 rounded-md text-xs font-mono" style="background: var(--bg-primary); color: var(--text-muted);">
app.batida.io/dashboard
</div>
</div>
</div>
<!-- Dashboard Content -->
<div class="p-4 sm:p-6 space-y-4">
<!-- Stats Row -->
<div class="grid grid-cols-3 gap-3">
<div class="card-surface rounded-lg p-3 sm:p-4">
<div class="flex items-center justify-between mb-2">
<span class="text-xs uppercase tracking-wider font-semibold" style="color: var(--text-muted);">Ativos</span>
<div class="w-2 h-2 rounded-full bg-red-500 badge-pulse" style="color: #EF4444;"></div>
</div>
<div class="text-2xl sm:text-3xl font-bold text-red-400">3</div>
<div class="text-xs" style="color: var(--text-muted);">2 críticos</div>
</div>
<div class="card-surface rounded-lg p-3 sm:p-4">
<div class="flex items-center justify-between mb-2">
<span class="text-xs uppercase tracking-wider font-semibold" style="color: var(--text-muted);">MTTR</span>
<svg class="w-4 h-4 text-frost-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 17h8m0 0V9m0 8l-8-8-4 4-6-6"/>
</svg>
</div>
<div class="text-2xl sm:text-3xl font-bold text-frost-400">23<span class="text-base">min</span></div>
<div class="text-xs text-emerald-400">↓ 40%</div>
</div>
<div class="card-surface rounded-lg p-3 sm:p-4">
<div class="flex items-center justify-between mb-2">
<span class="text-xs uppercase tracking-wider font-semibold" style="color: var(--text-muted);">On-Call</span>
<div class="w-2 h-2 rounded-full bg-ember-500 badge-pulse" style="color: #F97316;"></div>
</div>
<div class="text-xl sm:text-2xl font-bold truncate" style="color: var(--text-primary);">João S.</div>
<div class="text-xs truncate" style="color: var(--text-muted);">Platform Team</div>
</div>
</div>
<!-- Incidents List -->
<div class="card-surface rounded-lg overflow-hidden">
<div class="px-4 py-3 border-b flex items-center justify-between" style="border-color: var(--border-color);">
<span class="font-semibold text-sm" style="color: var(--text-primary);">Recentes</span>
<span class="text-xs text-ember-500 cursor-pointer font-medium">Ver todos →</span>
</div>
<div class="divide-y" style="--tw-divide-opacity: 1; --tw-divide-color: var(--border-color);">
<div class="px-4 py-3 flex items-center justify-between hover:bg-opacity-30 transition-colors cursor-pointer group" style="background: transparent;">
<div class="flex items-center gap-3 min-w-0">
<div class="w-2 h-2 rounded-full bg-red-500 flex-shrink-0"></div>
<div class="min-w-0">
<div class="font-medium text-sm truncate group-hover:text-ember-500 transition-colors" style="color: var(--text-primary);">#INC-1243 · API Timeout</div>
<div class="text-xs truncate" style="color: var(--text-muted);">Há 12 min · Production</div>
</div>
</div>
<span class="px-2 py-1 rounded-md bg-red-500/10 text-red-400 text-xs font-mono font-semibold ml-3 flex-shrink-0">P1</span>
</div>
<div class="px-4 py-3 flex items-center justify-between hover:bg-opacity-30 transition-colors cursor-pointer group" style="background: transparent;">
<div class="flex items-center gap-3 min-w-0">
<div class="w-2 h-2 rounded-full bg-orange-500 flex-shrink-0"></div>
<div class="min-w-0">
<div class="font-medium text-sm truncate group-hover:text-ember-500 transition-colors" style="color: var(--text-primary);">#INC-1242 · DB Latency</div>
<div class="text-xs truncate" style="color: var(--text-muted);">Há 45 min · Production</div>
</div>
</div>
<span class="px-2 py-1 rounded-md bg-orange-500/10 text-orange-400 text-xs font-mono font-semibold ml-3 flex-shrink-0">P2</span>
</div>
<div class="px-4 py-3 flex items-center justify-between hover:bg-opacity-30 transition-colors cursor-pointer group" style="background: transparent;">
<div class="flex items-center gap-3 min-w-0">
<div class="w-2 h-2 rounded-full bg-yellow-500 flex-shrink-0"></div>
<div class="min-w-0">
<div class="font-medium text-sm truncate group-hover:text-ember-500 transition-colors" style="color: var(--text-primary);">#INC-1241 · Memory Warning</div>
<div class="text-xs truncate" style="color: var(--text-muted);">Há 2h · Staging</div>
</div>
</div>
<span class="px-2 py-1 rounded-md bg-yellow-500/10 text-yellow-400 text-xs font-mono font-semibold ml-3 flex-shrink-0">P3</span>
</div>
</div>
</div>
</div>
</div>
<!-- Floating Badge (Desktop only) -->
<div class="absolute -bottom-4 -left-4 card-surface rounded-xl px-4 py-3 hidden lg:flex items-center gap-3 glow-ember">
<div class="w-10 h-10 rounded-lg gradient-ember flex items-center justify-center flex-shrink-0">
<svg class="w-5 h-5 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>
</svg>
</div>
<div>
<div class="text-sm font-bold" style="color: var(--text-primary);">Setup Rápido</div>
<div class="text-xs" style="color: var(--text-muted);">&lt; 15 minutos</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- PAIN POINTS SECTION -->
<section class="py-20 lg:py-28 relative" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12 lg:mb-16">
<h2 class="responsive-subheading text-display mb-4">
O caos do <span class="gradient-text-ember">incident management</span> real
</h2>
<p class="text-lg max-w-2xl mx-auto" style="color: var(--text-secondary);">
Reconhece alguma dessas situações? Você não está sozinho.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6">
<!-- Pain Point 1 -->
<div class="card-surface rounded-2xl p-6 sm:p-8 relative overflow-hidden group">
<div class="text-4xl mb-4">🚨</div>
<h3 class="text-xl font-bold mb-3 text-red-400">Alertas Infinitos</h3>
<p class="leading-relaxed mb-4" style="color: var(--text-secondary);">
Sua equipe recebe centenas de alertas por dia. <strong style="color: var(--text-primary);">Noise demais, signal de menos.</strong> Ninguém sabe o que é crítico até ser tarde demais.
</p>
<div class="pt-4 border-t text-xs font-mono uppercase tracking-wider" style="border-color: var(--border-color); color: var(--text-muted);">
Resultado: Fadiga de alertas → Incidentes perdidos
</div>
</div>
<!-- Pain Point 2 -->
<div class="card-surface rounded-2xl p-6 sm:p-8 relative overflow-hidden group">
<div class="text-4xl mb-4">💬</div>
<h3 class="text-xl font-bold mb-3 text-orange-400">Coordenação Caótica</h3>
<p class="leading-relaxed mb-4" style="color: var(--text-secondary);">
Quando um incidente acontece, vira bagunça geral. <strong style="color: var(--text-primary);">Quem está on-call? Quem já foi escalonado?</strong> Informações perdidas em threads infinitas.
</p>
<div class="pt-4 border-t text-xs font-mono uppercase tracking-wider" style="border-color: var(--border-color); color: var(--text-muted);">
Resultado: Resposta lenta → Interrupções mais longas
</div>
</div>
<!-- Pain Point 3 -->
<div class="card-surface rounded-2xl p-6 sm:p-8 relative overflow-hidden group">
<div class="text-4xl mb-4">📝</div>
<h3 class="text-xl font-bold mb-3 text-yellow-400">Postmortems Ignorados</h3>
<p class="leading-relaxed mb-4" style="color: var(--text-secondary);">
Depois do incêndio apagado, ninguém tem tempo para documentar. <strong style="color: var(--text-primary);">Mesmos erros acontecem de novo.</strong> Zero aprendizado estruturado.
</p>
<div class="pt-4 border-t text-xs font-mono uppercase tracking-wider" style="border-color: var(--border-color); color: var(--text-muted);">
Resultado: Falhas repetidas → Sem melhoria
</div>
</div>
</div>
<!-- Transition -->
<div class="mt-12 text-center">
<div class="inline-flex items-center gap-3 px-6 py-3 rounded-full card-surface">
<span style="color: var(--text-secondary);">Não precisa ser assim.</span>
<span class="font-semibold text-ember-500">O Batida transforma caos em processo.</span>
<span class="text-xl"></span>
</div>
</div>
</div>
</section>
<!-- FEATURES OVERVIEW - ASSIMÉTRICO -->
<section id="features" class="py-20 lg:py-28 relative overflow-hidden">
<div class="absolute inset-0 bg-texture"></div>
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-[800px] h-[600px] rounded-full bg-ember-500/5 blur-[150px] pointer-events-none"></div>
<div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="layout-asymmetric">
<!-- Left: Copy -->
<div>
<div class="inline-flex items-center gap-2 px-3 py-1.5 rounded-full bg-frost-500/10 border border-frost-500/20 mb-6">
<span class="w-1.5 h-1.5 rounded-full bg-frost-400"></span>
<span class="text-xs font-semibold text-frost-400 uppercase tracking-wider">Plataforma Tudo-em-Um</span>
</div>
<h2 class="responsive-subheading text-display mb-6 leading-tight">
Tudo que você precisa para<br>
<span class="gradient-text-frost">incident management</span>
</h2>
<p class="text-lg mb-8 leading-relaxed" style="color: var(--text-secondary);">
Uma plataforma completa para detectar, responder, coordenar e aprender com incidentes.
<strong style="color: var(--text-primary);">Sem complexidade. Sem preço de grande corporação.</strong>
</p>
<div class="space-y-4">
<div class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-ember-500/10 border border-ember-500/30 flex items-center justify-center flex-shrink-0 mt-0.5">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/>
</svg>
</div>
<span style="color: var(--text-secondary);"><strong style="color: var(--text-primary);">On-call inteligente</strong> com escalonamento automático</span>
</div>
<div class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-ember-500/10 border border-ember-500/30 flex items-center justify-center flex-shrink-0 mt-0.5">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/>
</svg>
</div>
<span style="color: var(--text-secondary);"><strong style="color: var(--text-primary);">Centralização de alertas</strong> de qualquer ferramenta</span>
</div>
<div class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-ember-500/10 border border-ember-500/30 flex items-center justify-center flex-shrink-0 mt-0.5">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/>
</svg>
</div>
<span style="color: var(--text-secondary);"><strong style="color: var(--text-primary);">Comunicação integrada</strong> (Slack, Teams, SMS)</span>
</div>
<div class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-ember-500/10 border border-ember-500/30 flex items-center justify-center flex-shrink-0 mt-0.5">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/>
</svg>
</div>
<span style="color: var(--text-secondary);"><strong style="color: var(--text-primary);">Runbooks automatizados</strong> & postmortems</span>
</div>
<div class="flex items-start gap-3">
<div class="w-6 h-6 rounded-full bg-ember-500/10 border border-ember-500/30 flex items-center justify-center flex-shrink-0 mt-0.5">
<svg class="w-3.5 h-3.5 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M5 13l4 4L19 7"/>
</svg>
</div>
<span style="color: var(--text-secondary);"><strong style="color: var(--text-primary);">Analytics avançados</strong> de MTTR e SLAs</span>
</div>
</div>
</div>
<!-- Right: Dashboard Mockup -->
<div class="relative order-first lg:order-last">
<div class="absolute inset-0 bg-gradient-to-br from-ember-500/20 via-transparent to-frost-500/20 rounded-3xl blur-3xl opacity-40"></div>
<div class="relative card-surface rounded-2xl overflow-hidden shadow-2xl" style="border-color: var(--border-color);">
<div class="px-4 py-3 flex items-center gap-3 border-b" style="background: var(--bg-raised); border-color: var(--border-color);">
<div class="flex gap-2">
<div class="w-3 h-3 rounded-full bg-red-500/80"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500/80"></div>
<div class="w-3 h-3 rounded-full bg-green-500/80"></div>
</div>
<div class="flex-1 flex justify-center">
<div class="px-4 py-1 rounded-md text-xs font-mono" style="background: var(--bg-primary); color: var(--text-muted);">
app.batida.io/analytics
</div>
</div>
</div>
<div class="p-4 sm:p-6 space-y-4">
<div class="grid grid-cols-2 gap-3">
<div class="card-surface rounded-lg p-3">
<div class="text-xs uppercase tracking-wider font-semibold mb-1" style="color: var(--text-muted);">MTTA</div>
<div class="text-2xl font-bold text-frost-400">2<span class="text-base">min</span></div>
<div class="text-xs text-emerald-400">↓ 60%</div>
</div>
<div class="card-surface rounded-lg p-3">
<div class="text-xs uppercase tracking-wider font-semibold mb-1" style="color: var(--text-muted);">MTTR</div>
<div class="text-2xl font-bold text-ember-400">23<span class="text-base">min</span></div>
<div class="text-xs text-emerald-400">↓ 40%</div>
</div>
</div>
<div class="card-surface rounded-lg p-3">
<div class="text-xs uppercase tracking-wider font-semibold mb-2" style="color: var(--text-muted);">Incidentes esta semana</div>
<div class="flex gap-1 items-end h-12">
<div class="flex-1 bg-ember-500/60 rounded-sm" style="height: 40%;"></div>
<div class="flex-1 bg-ember-500/60 rounded-sm" style="height: 70%;"></div>
<div class="flex-1 bg-ember-500/60 rounded-sm" style="height: 30%;"></div>
<div class="flex-1 bg-ember-500/60 rounded-sm" style="height: 55%;"></div>
<div class="flex-1 bg-ember-500/60 rounded-sm" style="height: 90%;"></div>
<div class="flex-1 bg-frost-500/60 rounded-sm" style="height: 45%;"></div>
<div class="flex-1 bg-frost-500/60 rounded-sm" style="height: 25%;"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- DETAILED FEATURES GRID -->
<section class="py-20 lg:py-28 relative" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12 lg:mb-16">
<h2 class="responsive-subheading text-display mb-4">
Recursos poderosos.<br>
<span class="gradient-text-ember">Interface simples.</span>
</h2>
<p class="text-lg max-w-2xl mx-auto" style="color: var(--text-secondary);">
Tudo que você precisa para gerenciar incidentes como empresa Fortune 500.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
<!-- Feature Cards -->
<div class="card-surface rounded-2xl p-6 sm:p-8 group">
<div class="w-14 h-14 rounded-xl bg-gradient-to-br from-ember-500/20 to-ember-600/10 border border-ember-500/20 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
<svg class="w-7 h-7 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
</svg>
</div>
<h3 class="text-xl font-bold mb-4" style="color: var(--text-primary);">Gestão de On-call Inteligente</h3>
<ul class="space-y-2.5 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Escalações automáticas configuráveis</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Calendários com múltiplas camadas</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Handoffs entre timezones</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Integração Google/Outlook</li>
</ul>
</div>
<div class="card-surface rounded-2xl p-6 sm:p-8 group">
<div class="w-14 h-14 rounded-xl bg-gradient-to-br from-frost-500/20 to-frost-600/10 border border-frost-500/20 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
<svg class="w-7 h-7 text-frost-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"/>
</svg>
</div>
<h3 class="text-xl font-bold mb-4" style="color: var(--text-primary);">Alerting & Correlação AI</h3>
<ul class="space-y-2.5 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> +200 fontes conectáveis</li>
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Redução automática de noise via ML</li>
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Deduplicação e supressão</li>
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Políticas customizáveis</li>
</ul>
</div>
<div class="card-surface rounded-2xl p-6 sm:p-8 group">
<div class="w-14 h-14 rounded-xl bg-gradient-to-br from-ember-500/20 to-ember-600/10 border border-ember-500/20 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
<svg class="w-7 h-7 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z"/>
</svg>
</div>
<h3 class="text-xl font-bold mb-4" style="color: var(--text-primary);">Resposta Orquestrada</h3>
<ul class="space-y-2.5 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Canais automáticos Slack/Teams</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Salas de crise virtuais colaborativas</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Runbooks & checklists</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Status pages públicas/privadas</li>
</ul>
</div>
<div class="card-surface rounded-2xl p-6 sm:p-8 group">
<div class="w-14 h-14 rounded-xl bg-gradient-to-br from-frost-500/20 to-frost-600/10 border border-frost-500/20 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
<svg class="w-7 h-7 text-frost-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"/>
</svg>
</div>
<h3 class="text-xl font-bold mb-4" style="color: var(--text-primary);">Pós-Incidente & Aprendizado</h3>
<ul class="space-y-2.5 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Templates de postmortems sem culpados</li>
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Análise automática MTTA/MTTR</li>
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Action items rastreáveis</li>
<li class="flex items-start gap-2"><span class="text-frost-400 mt-1"></span> Base de conhecimento evolutiva</li>
</ul>
</div>
<div class="card-surface rounded-2xl p-6 sm:p-8 group">
<div class="w-14 h-14 rounded-xl bg-gradient-to-br from-ember-500/20 to-ember-600/10 border border-ember-500/20 flex items-center justify-center mb-6 group-hover:scale-110 transition-transform">
<svg class="w-7 h-7 text-ember-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z"/>
</svg>
</div>
<h3 class="text-xl font-bold mb-4" style="color: var(--text-primary);">Analytics & Observability</h3>
<ul class="space-y-2.5 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Dashboards tempo real</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Relatórios customizáveis</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Análise de tendências e predição</li>
<li class="flex items-start gap-2"><span class="text-ember-400 mt-1"></span> Exportação para ferramentas de BI</li>
</ul>
</div>
</div>
</div>
</section>
<!-- HOW IT WORKS -->
<section id="how-it-works" class="py-20 lg:py-28 relative overflow-hidden" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="absolute bottom-0 left-0 right-0 h-96 bg-gradient-to-t from-ember-500/5 to-transparent pointer-events-none"></div>
<div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12 lg:mb-16">
<h2 class="responsive-subheading text-display mb-4">
De caos a controle em<br>
<span class="gradient-text-amber">3 passos simples</span>
</h2>
<p class="text-lg max-w-2xl mx-auto" style="color: var(--text-secondary);">
Setup em menos de 15 minutos. Sem complexidade.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8 lg:gap-12 relative">
<!-- Connection Line (desktop only) -->
<div class="hidden md:block absolute top-24 left-[calc(16.67%+2rem)] right-[calc(16.67%+2rem)] h-px bg-gradient-to-r from-ember-500/50 via-frost-400/50 to-ember-500/50"></div>
<!-- Steps -->
<div class="text-center relative">
<div class="relative inline-flex mb-6">
<div class="w-20 h-20 rounded-2xl gradient-ember flex items-center justify-center text-3xl font-bold text-white shadow-lg relative z-10">1</div>
<div class="absolute inset-0 rounded-2xl bg-ember-500/20 blur-xl"></div>
</div>
<div class="text-5xl mb-4"></div>
<h3 class="text-2xl font-bold mb-3" style="color: var(--text-primary);">Conecte suas ferramentas</h3>
<p class="leading-relaxed mb-4" style="color: var(--text-secondary);">
Integre Datadog, Prometheus, CloudWatch, ou qualquer ferramenta via webhook/API.
</p>
<div class="inline-block px-3 py-1 rounded-full card-surface text-xs font-mono" style="color: var(--text-muted);">~5 min de setup</div>
</div>
<div class="text-center relative">
<div class="relative inline-flex mb-6">
<div class="w-20 h-20 rounded-2xl gradient-ember flex items-center justify-center text-3xl font-bold text-white shadow-lg relative z-10">2</div>
<div class="absolute inset-0 rounded-2xl bg-ember-500/20 blur-xl"></div>
</div>
<div class="text-5xl mb-4">🎯</div>
<h3 class="text-2xl font-bold mb-3" style="color: var(--text-primary);">Configure workflows</h3>
<p class="leading-relaxed mb-4" style="color: var(--text-secondary);">
Defina políticas de escalonamento, runbooks, canais de comunicação. Ou use templates prontos.
</p>
<div class="inline-block px-3 py-1 rounded-full card-surface text-xs font-mono" style="color: var(--text-muted);">Templates incluídos</div>
</div>
<div class="text-center relative">
<div class="relative inline-flex mb-6">
<div class="w-20 h-20 rounded-2xl gradient-ember flex items-center justify-center text-3xl font-bold text-white shadow-lg relative z-10">3</div>
<div class="absolute inset-0 rounded-2xl bg-ember-500/20 blur-xl"></div>
</div>
<div class="text-5xl mb-4">🚀</div>
<h3 class="text-2xl font-bold mb-3" style="color: var(--text-primary);">Responda & aprenda</h3>
<p class="leading-relaxed mb-4" style="color: var(--text-secondary);">
Receba alerts inteligentes, coordene equipe, resolva mais rápido, construa knowledge base.
</p>
<div class="inline-block px-3 py-1 rounded-full card-surface text-xs font-mono" style="color: var(--text-muted);">Melhoria contínua</div>
</div>
</div>
<!-- CTA -->
<div class="text-center mt-12 lg:mt-16">
<a href="{{APP_URL}}/signup" class="btn-ember px-10 py-4 rounded-xl text-lg font-bold text-white inline-flex items-center gap-2 group">
<span>Começar Gratuitamente</span>
<svg class="w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
</svg>
</a>
<p class="text-sm mt-4" style="color: var(--text-muted);">Setup em &lt; 15 min • Sem cartão • Suporte PT-BR</p>
</div>
</div>
</section>
<!-- INTEGRATIONS -->
<section id="integrations" class="py-20 lg:py-28 relative" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="responsive-subheading text-display mb-4">
Conecte com tudo que você<br>
<span class="gradient-text-frost">já usa</span>
</h2>
<p class="text-lg max-w-2xl mx-auto" style="color: var(--text-secondary);">
Integrações nativas com o stack moderno. +200 conectores disponíveis.
</p>
</div>
<div class="grid grid-cols-3 sm:grid-cols-4 md:grid-cols-6 gap-4 mb-8">
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Datadog</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Slack</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Prometheus</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Jira</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Grafana</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Teams</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Sentry</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">CloudWatch</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">New Relic</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">GitHub</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer">
<span class="text-sm font-bold group-hover:text-ember-500 transition-colors" style="color: var(--text-muted);">Linear</span>
</div>
<div class="card-surface rounded-xl p-4 flex items-center justify-center h-20 group cursor-pointer bg-ember-500/5 border-ember-500/20">
<span class="text-sm font-bold text-ember-400">+190 mais</span>
</div>
</div>
</div>
</section>
<!-- EARLY ACCESS -->
<section class="py-20 lg:py-28 relative overflow-hidden" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] rounded-full bg-frost-400/5 blur-[150px] pointer-events-none"></div>
<div class="relative z-10 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<div class="text-center mb-12">
<div class="inline-flex items-center gap-2 px-4 py-2 rounded-full mb-6 card-surface">
<span class="relative flex h-2 w-2">
<span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-ember-400 opacity-75"></span>
<span class="relative inline-flex rounded-full h-2 w-2 bg-ember-500"></span>
</span>
<span class="text-sm font-medium" style="color: var(--text-secondary);">Acesso Antecipado Aberto</span>
</div>
<h2 class="responsive-subheading text-display mb-4">
Construido por SREs,<br>
<span class="gradient-text-ember">para SREs</span>
</h2>
<p class="text-lg max-w-2xl mx-auto" style="color: var(--text-secondary);">
Nascemos da frustração real com ferramentas caras e complexas. O Batida oferece recursos avançados sem preço de grande corporação.
</p>
</div>
<!-- Platform Highlights -->
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 lg:gap-6 mb-12">
<div class="text-center card-surface rounded-2xl p-6">
<div class="text-3xl sm:text-4xl lg:text-5xl font-bold gradient-text-ember mb-2">200+</div>
<div class="text-sm" style="color: var(--text-secondary);">Integrações disponíveis</div>
</div>
<div class="text-center card-surface rounded-2xl p-6">
<div class="text-3xl sm:text-4xl lg:text-5xl font-bold gradient-text-frost mb-2">&lt;15min</div>
<div class="text-sm" style="color: var(--text-secondary);">Tempo de setup</div>
</div>
<div class="text-center card-surface rounded-2xl p-6">
<div class="text-3xl sm:text-4xl lg:text-5xl font-bold gradient-text-ember mb-2">🇧🇷</div>
<div class="text-sm" style="color: var(--text-secondary);">Feito no Brasil</div>
</div>
<div class="text-center card-surface rounded-2xl p-6">
<div class="text-3xl sm:text-4xl lg:text-5xl font-bold gradient-text-frost mb-2">$0</div>
<div class="text-sm" style="color: var(--text-secondary);">Para começar</div>
</div>
</div>
<div class="card-surface rounded-2xl p-6 sm:p-8 border-ember-500/20">
<p class="text-lg" style="color: var(--text-secondary);">
<strong style="color: var(--text-primary);">Filosofia:</strong> Gerenciamento de incidentes não deveria custar o salário de um engenheiro.
On-call, alertas, IA Scribe e status pages &mdash; tudo incluído por
<span class="text-ember-400 font-semibold">$12/user/mês</span>.
</p>
</div>
</div>
</section>
<!-- COMPARISON TABLE -->
<section class="py-20 lg:py-28 relative" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="relative z-10 max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="responsive-subheading text-display mb-4">
Por que <span class="gradient-text-ember">Batida</span>?
</h2>
<p class="text-lg" style="color: var(--text-secondary);">Comparação honesta. Sem marketing enganoso.</p>
</div>
<div class="overflow-x-auto rounded-2xl border card-surface">
<table class="w-full min-w-[700px]">
<thead>
<tr class="border-b" style="border-color: var(--border-color);">
<th class="px-6 py-4 text-left text-sm font-semibold uppercase tracking-wider" style="color: var(--text-muted);">Recurso</th>
<th class="px-6 py-4 text-left text-sm font-semibold uppercase tracking-wider text-ember-400">Batida ✨</th>
<th class="px-6 py-4 text-left text-sm font-semibold uppercase tracking-wider" style="color: var(--text-muted);">PagerDuty</th>
<th class="px-6 py-4 text-left text-sm font-semibold uppercase tracking-wider" style="color: var(--text-muted);">incident.io</th>
<th class="px-6 py-4 text-left text-sm font-semibold uppercase tracking-wider" style="color: var(--text-muted);">OpsGenie</th>
</tr>
</thead>
<tbody class="divide-y" style="--tw-divide-opacity: 1; --tw-divide-color: var(--border-color);">
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">Preço</td>
<td class="px-6 py-4 text-sm font-semibold text-ember-400">$12/user</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">$21/user</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">$25/user (efetivo)</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">$20/user</td>
</tr>
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">Tempo de Setup</td>
<td class="px-6 py-4 text-sm font-semibold text-frost-400">&lt; 15 min ⚡</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Dias/Semanas</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Horas</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Horas</td>
</tr>
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">UI/UX</td>
<td class="px-6 py-4 text-sm font-semibold text-ember-400">Moderna & Intuitiva</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Complexa</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Boa</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Datada</td>
</tr>
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">On-call</td>
<td class="px-6 py-4 text-sm font-semibold text-ember-400">Incluído</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Incluído</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">+ $10/user</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Incluído</td>
</tr>
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">IA Scribe</td>
<td class="px-6 py-4 text-sm font-semibold text-ember-400">Incluído</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Não disponível</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Pro only ($25)</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Não disponível</td>
</tr>
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">Roteamento de Chamadas</td>
<td class="px-6 py-4 text-sm font-semibold text-ember-400">1 número incluído</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Incluído</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Pro only</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Não disponível</td>
</tr>
<tr class="transition-colors hover:bg-ember-500/5">
<td class="px-6 py-4 font-medium text-sm" style="color: var(--text-primary);">Status Pages</td>
<td class="px-6 py-4 text-sm font-semibold text-ember-400">5 incluídas</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Não disponível</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">1 incluída</td>
<td class="px-6 py-4 text-sm" style="color: var(--text-secondary);">Não disponível</td>
</tr>
</tbody>
</table>
</div>
<div class="mt-8 text-center card-surface rounded-2xl p-6 sm:p-8 border-ember-500/20">
<p class="text-lg" style="color: var(--text-secondary);">
<strong style="color: var(--text-primary);">Nossa Promessa:</strong> On-call, IA Scribe, roteamento de chamadas e status pages &mdash; tudo incluído por
<span class="text-ember-400 font-semibold">$12/user/mês</span>. Sem surpresas.
</p>
</div>
</div>
</section>
<!-- PRICING -->
<section id="pricing" class="py-20 lg:py-28 relative overflow-hidden" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="absolute top-0 left-1/2 -translate-x-1/2 w-[1000px] h-[500px] rounded-full bg-ember-500/5 blur-[150px] pointer-events-none"></div>
<div class="relative z-10 max-w-6xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="responsive-subheading text-display mb-4">
Preços simples &<br>
<span class="gradient-text-amber">transparentes</span>
</h2>
<p class="text-lg max-w-2xl mx-auto" style="color: var(--text-secondary);">
Escolha o plano ideal. Comece grátis, escale quando precisar.
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-3 gap-6 lg:gap-8">
<!-- Free -->
<div class="card-surface rounded-2xl p-6 sm:p-8">
<div class="mb-6">
<div class="text-xs font-bold uppercase tracking-widest mb-2" style="color: var(--text-muted);">FREE</div>
<div class="flex items-baseline gap-1">
<span class="text-4xl sm:text-5xl font-bold" style="color: var(--text-primary);">$0</span>
</div>
<div class="text-sm mt-1" style="color: var(--text-muted);">Plano gratuito permanente</div>
</div>
<ul class="space-y-3 mb-8 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Até <strong style="color: var(--text-primary);">5 usuários</strong>
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Incidentes ilimitados
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
1 schedule + 1 escalation policy
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
1 status page
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
IA Scribe (5/mês)
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Slack + 3 webhooks
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Suporte comunitário
</li>
</ul>
<a href="{{APP_URL}}/signup" class="block w-full btn-ghost px-6 py-3 rounded-xl text-sm font-semibold text-center">Começar Grátis</a>
</div>
<!-- Pro (Featured) -->
<div class="pricing-featured rounded-2xl p-6 sm:p-8 relative">
<div class="absolute -top-3 left-1/2 -translate-x-1/2 px-4 py-1 gradient-ember rounded-full text-xs font-bold text-white shadow-lg">
POPULAR
</div>
<div class="mb-6">
<div class="text-xs font-bold uppercase tracking-widest mb-2 text-ember-400">PRO</div>
<div class="flex items-baseline gap-1">
<span class="text-4xl sm:text-5xl font-bold" style="color: var(--text-primary);">$12</span>
<span class="text-lg" style="color: var(--text-muted);">/user/mês</span>
</div>
<div class="text-sm mt-1" style="color: var(--text-muted);">cobrado anualmente ($15/mês mensal)</div>
</div>
<ul class="space-y-3 mb-8 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
<strong style="color: var(--text-primary);">Usuários ilimitados</strong>
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
<strong style="color: var(--text-primary);">On-call completo</strong> (schedules + escalations)
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
<strong style="color: var(--text-primary);">Roteamento de chamadas</strong> (1 número/tenant)
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
<strong style="color: var(--text-primary);">IA Scribe ilimitado</strong> + postmortems com IA
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
5 status pages
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Todas as integrações (+200)
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
SLA tracking + analytics
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Email support (48h SLA)
</li>
</ul>
<a href="{{APP_URL}}/signup?plan=pro" class="block w-full btn-ember px-6 py-3 rounded-xl text-sm font-bold text-white text-center">Começar com Pro</a>
</div>
<!-- Enterprise -->
<div class="card-surface rounded-2xl p-6 sm:p-8">
<div class="mb-6">
<div class="text-xs font-bold uppercase tracking-widest mb-2" style="color: var(--text-muted);">ENTERPRISE</div>
<div class="flex items-baseline gap-1">
<span class="text-4xl sm:text-5xl font-bold" style="color: var(--text-primary);">Custom</span>
</div>
<div class="text-sm mt-1" style="color: var(--text-muted);">Sob medida</div>
</div>
<ul class="space-y-3 mb-8 text-sm" style="color: var(--text-secondary);">
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Tudo do Pro +
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
SSO/SAML/SCIM (Okta, Azure AD)
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
RBAC personalizado + logs de auditoria
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
SLA garantido 99.99%
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Gerente de sucesso dedicado
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
Residência de dados personalizada
</li>
<li class="flex items-start gap-2">
<svg class="w-5 h-5 text-ember-400 flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"/></svg>
SOC 2 + compliance
</li>
</ul>
<a href="mailto:contato@batida.io" class="block w-full btn-ghost px-6 py-3 rounded-xl text-sm font-semibold text-center">Falar com Vendas</a>
</div>
</div>
<p class="text-center text-sm mt-8" style="color: var(--text-muted);">
Plano gratuito permanente. Sem cartão de crédito. Upgrade quando quiser.
</p>
</div>
</section>
<!-- FAQ -->
<section id="faq" class="py-20 lg:py-28 relative" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="relative z-10 max-w-3xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="responsive-subheading text-display mb-4">
Perguntas <span class="gradient-text-ember">frequentes</span>
</h2>
<p class="text-lg" style="color: var(--text-secondary);">Tire suas dúvidas antes de começar</p>
</div>
<div class="space-y-4">
<details class="group card-surface rounded-xl overflow-hidden">
<summary class="flex items-center justify-between cursor-pointer px-6 py-5 font-semibold hover:text-ember-500 transition-colors" style="color: var(--text-primary);">
<span>O Batida substitui completamente o PagerDuty/OpsGenie?</span>
<svg class="w-5 h-5 flex-shrink-0 ml-4 transition-transform duration-200" style="color: var(--text-muted);" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
</svg>
</summary>
<div class="px-6 pb-5 leading-relaxed" style="color: var(--text-secondary);">
Sim! Cobrimos 100% dos casos de uso core: alerting, on-call, escalation, incident coordination, postmortems, e analytics. Migração guiada disponível.
</div>
</details>
<details class="group card-surface rounded-xl overflow-hidden">
<summary class="flex items-center justify-between cursor-pointer px-6 py-5 font-semibold hover:text-ember-500 transition-colors" style="color: var(--text-primary);">
<span>Quanto tempo leva para configurar?</span>
<svg class="w-5 h-5 flex-shrink-0 ml-4 transition-transform duration-200" style="color: var(--text-muted);" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
</svg>
</summary>
<div class="px-6 pb-5 leading-relaxed" style="color: var(--text-secondary);">
A maioria começa a receber alertas em menos de 15 minutos. Integrações complexas podem levar algumas horas. Temos templates prontos.
</div>
</details>
<details class="group card-surface rounded-xl overflow-hidden">
<summary class="flex items-center justify-between cursor-pointer px-6 py-5 font-semibold hover:text-ember-500 transition-colors" style="color: var(--text-primary);">
<span>Meus dados ficam onde?</span>
<svg class="w-5 h-5 flex-shrink-0 ml-4 transition-transform duration-200" style="color: var(--text-muted);" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
</svg>
</summary>
<div class="px-6 pb-5 leading-relaxed" style="color: var(--text-secondary);">
Oferecemos opcao de servidores em US-East para compliance GDPR e baixa latencia global. Mais regioes em breve.
</div>
</details>
<details class="group card-surface rounded-xl overflow-hidden">
<summary class="flex items-center justify-between cursor-pointer px-6 py-5 font-semibold hover:text-ember-500 transition-colors" style="color: var(--text-primary);">
<span>Em qual moeda sao cobrados os planos?</span>
<svg class="w-5 h-5 flex-shrink-0 ml-4 transition-transform duration-200" style="color: var(--text-muted);" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
</svg>
</summary>
<div class="px-6 pb-5 leading-relaxed" style="color: var(--text-secondary);">
Todos os planos são cobrados em USD ($12/user/mês no plano Pro anual). Aceitamos cartão de crédito via Stripe.
</div>
</details>
<details class="group card-surface rounded-xl overflow-hidden">
<summary class="flex items-center justify-between cursor-pointer px-6 py-5 font-semibold hover:text-ember-500 transition-colors" style="color: var(--text-primary);">
<span>Posso cancelar a qualquer momento?</span>
<svg class="w-5 h-5 flex-shrink-0 ml-4 transition-transform duration-200" style="color: var(--text-muted);" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
</svg>
</summary>
<div class="px-6 pb-5 leading-relaxed" style="color: var(--text-secondary);">
Claro. Sem contratos anuais forçados (exceto plano Corporativo). Cancele com um clique. Dados disponíveis por 30 dias pós-cancelamento.
</div>
</details>
<details class="group card-surface rounded-xl overflow-hidden">
<summary class="flex items-center justify-between cursor-pointer px-6 py-5 font-semibold hover:text-ember-500 transition-colors" style="color: var(--text-primary);">
<span>É seguro? LGPD/GDPR compliant?</span>
<svg class="w-5 h-5 flex-shrink-0 ml-4 transition-transform duration-200" style="color: var(--text-muted);" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"/>
</svg>
</summary>
<div class="px-6 pb-5 leading-relaxed" style="color: var(--text-secondary);">
Sim. Criptografia AES-256, backups diários. LGPD/GDPR compliant. Auditoria SOC 2 em andamento.
</div>
</details>
</div>
</div>
</section>
<!-- FINAL CTA -->
<section class="py-20 lg:py-28 relative overflow-hidden" style="background: var(--bg-primary);">
<div class="absolute inset-0 bg-texture"></div>
<div class="absolute inset-0 bg-gradient-to-b from-ember-500/5 via-transparent to-frost-400/5 pointer-events-none"></div>
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[400px] rounded-full bg-ember-500/10 blur-[150px] pointer-events-none"></div>
<div class="relative z-10 max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<h2 class="responsive-heading text-display mb-6 leading-tight">
Pronto para acabar com o<br>
<span class="gradient-text-ember">caos de incidentes?</span>
</h2>
<p class="text-xl mb-10 max-w-2xl mx-auto" style="color: var(--text-secondary);">
Junte-se aos times que estão <strong style="color: var(--text-primary);">transformando sua resposta a incidentes</strong>.
</p>
<div class="flex flex-col sm:flex-row gap-4 justify-center mb-12">
<a href="{{APP_URL}}/signup" class="btn-ember px-10 py-5 rounded-xl text-lg font-bold text-white inline-flex items-center justify-center gap-2 group">
<span>Criar Conta Grátis</span>
<svg class="w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"/>
</svg>
</a>
</div>
<p class="text-sm mb-12" style="color: var(--text-muted);">
Setup em &lt; 15 min • Sem cartão • Suporte PT-BR nativo
</p>
<div class="pt-8 border-t inline-block w-full" style="border-color: var(--border-color);">
<p class="text-sm mb-4" style="color: var(--text-secondary);">Ainda tem dúvidas? Fale conosco:</p>
<div class="flex flex-wrap justify-center gap-6 text-sm" style="color: var(--text-muted);">
<a href="mailto:contato@batida.io" class="hover:text-ember-500 transition-colors flex items-center gap-2">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/></svg>
contato@batida.io
</a>
</div>
</div>
</div>
</section>
<!-- FOOTER -->
<footer class="border-t py-12 lg:py-16" style="background: var(--bg-primary); border-color: var(--border-color);">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-2 md:grid-cols-3 gap-8 mb-12">
<!-- Brand -->
<div class="col-span-2 md:col-span-1">
<div class="flex items-center gap-2 mb-4">
<div class="w-8 h-8 rounded-lg gradient-ember flex items-center justify-center font-bold text-white text-sm">B</div>
<span class="text-lg font-bold" style="color: var(--text-primary);">Batida</span>
</div>
<p class="text-xs leading-relaxed mb-4" style="color: var(--text-muted);">
Plataforma brasileira de gerenciamento de incidentes. Construída com ❤️ no Brasil.
</p>
<div class="flex gap-3">
<a href="mailto:contato@batida.io" class="w-8 h-8 rounded-lg flex items-center justify-center transition-colors card-surface hover:text-ember-500" style="color: var(--text-muted);">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"/></svg>
</a>
</div>
</div>
<!-- Links -->
<div>
<h4 class="text-xs font-bold uppercase tracking-wider mb-4" style="color: var(--text-muted);">Produto</h4>
<ul class="space-y-2.5 text-sm">
<li><a href="#features" class="hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Features</a></li>
<li><a href="#integrations" class="hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Integrações</a></li>
<li><a href="#pricing" class="hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">Preços</a></li>
</ul>
</div>
<div>
<h4 class="text-xs font-bold uppercase tracking-wider mb-4" style="color: var(--text-muted);">Contato</h4>
<ul class="space-y-2.5 text-sm">
<li><a href="mailto:contato@batida.io" class="hover:text-ember-500 transition-colors" style="color: var(--text-secondary);">contato@batida.io</a></li>
</ul>
</div>
</div>
<!-- Copyright -->
<div class="border-t pt-8 flex flex-col md:flex-row justify-between items-center gap-4 text-xs" style="border-color: var(--border-color); color: var(--text-muted);">
<p>&copy; 2026 Batida IO Ltda.</p>
</div>
</div>
</footer>
<!-- JAVASCRIPT -->
<script>
// ===== THEME TOGGLE =====
function toggleTheme() {
const html = document.documentElement;
const currentTheme = html.getAttribute('data-theme');
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
html.setAttribute('data-theme', newTheme);
localStorage.setItem('batida-theme', newTheme);
}
// Load saved theme
(function() {
const saved = localStorage.getItem('batida-theme');
if (saved) {
document.documentElement.setAttribute('data-theme', saved);
} else if (window.matchMedia('(prefers-color-scheme: light)').matches) {
document.documentElement.setAttribute('data-theme', 'light');
}
})();
// ===== MOBILE MENU =====
function toggleMobileMenu() {
const menu = document.getElementById('mobileMenu');
const hamburger = document.querySelector('.hamburger');
const body = document.body;
menu.classList.toggle('active');
hamburger.classList.toggle('active');
body.style.overflow = menu.classList.contains('active') ? 'hidden' : '';
}
// Close menu on escape key
document.addEventListener('keydown', function(e) {
if (e.key === 'Escape') {
const menu = document.getElementById('mobileMenu');
if (menu && menu.classList.contains('active')) {
toggleMobileMenu();
}
}
});
// Close menu when clicking links inside it
document.querySelectorAll('#mobileMenu a').forEach(function(link) {
link.addEventListener('click', function() {
// Small delay to allow navigation first
setTimeout(toggleMobileMenu, 100);
});
});
// ===== SWIPE GESTURE FOR MOBILE MENU (Touch Devices) =====
let touchStartX = 0;
let touchEndX = 0;
const mobilePanel = document.querySelector('.mobile-menu-panel');
if (mobilePanel) {
mobilePanel.addEventListener('touchstart', function(e) {
touchStartX = e.changedTouches[0].screenX;
}, false);
mobilePanel.addEventListener('touchend', function(e) {
touchEndX = e.changedTouches[0].screenX;
handleSwipe();
}, false);
}
function handleSwipe() {
// Swipe right to close (positive difference means finger moved right)
if (touchEndX - touchStartX > 100) {
const menu = document.getElementById('mobileMenu');
if (menu && menu.classList.contains('active')) {
toggleMobileMenu();
}
}
}
// ===== SMOOTH SCROLL FOR ANCHOR LINKS =====
document.querySelectorAll('a[href^="#"]').forEach(function(anchor) {
anchor.addEventListener('click', function(e) {
const targetId = this.getAttribute('href');
if (targetId === '#') return;
const targetElement = document.querySelector(targetId);
if (targetElement) {
e.preventDefault();
targetElement.scrollIntoView({
behavior: 'smooth',
block: 'start'
});
}
});
});
// ===== NAVBAR BACKGROUND ON SCROLL =====
let lastScroll = 0;
const nav = document.querySelector('nav');
window.addEventListener('scroll', function() {
const currentScroll = window.pageYOffset;
if (currentScroll > 50) {
nav.style.boxShadow = '0 4px 20px var(--shadow-color)';
} else {
nav.style.boxShadow = 'none';
}
lastScroll = currentScroll;
});
</script>
</body>
</html>