/* ================================
   StockSense Pulse Pro - High Conversion Landing Page
   Based on StoryBrand & Resonate Framework
   Mobile-First Design
   World-Class Color Scheme
================================ */

/* CSS Variables - Clean Professional Colors */
:root {
    /* Primary - Deep Navy Blue (Trust, Professional) */
    --color-primary: #0f172a;
    --color-primary-light: #1e293b;
    --color-primary-dark: #020617;
    
    /* Accent - Teal for Growth/Finance */
    --color-accent: #0d9488;
    --color-accent-light: #14b8a6;
    --color-accent-dark: #0f766e;
    
    /* CTA - Orange for Action/Urgency (High Contrast - Buy Button Only) */
    --color-cta: #f97316;
    --color-cta-light: #fb923c;
    --color-cta-dark: #ea580c;
    
    /* Success/Warning/Danger */
    --color-success: #059669;
    --color-warning: #d97706;
    --color-danger: #dc2626;
    
    /* Neutrals */
    --color-white: #ffffff;
    --color-gray-50: #f8fafc;
    --color-gray-100: #f1f5f9;
    --color-gray-200: #e2e8f0;
    --color-gray-300: #cbd5e1;
    --color-gray-400: #94a3b8;
    --color-gray-500: #64748b;
    --color-gray-600: #475569;
    --color-gray-700: #334155;
    --color-gray-800: #1e293b;
    --color-gray-900: #0f172a;
    
    /* Fonts */
    --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --font-display: 'Space Grotesk', var(--font-sans);
    
    /* Spacing */
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    
    /* Border Radius */
    --radius-sm: 0.25rem;
    --radius-md: 0.5rem;
    --radius-lg: 0.75rem;
    --radius-xl: 1rem;
    --radius-2xl: 1.5rem;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 6px rgba(0,0,0,0.07);
    --shadow-lg: 0 10px 15px rgba(0,0,0,0.1);
    --shadow-xl: 0 20px 25px rgba(0,0,0,0.1);
    
    /* Transitions */
    --transition: all 0.2s ease;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-sans); line-height: 1.6; color: var(--color-gray-800); }
h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.2; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
ul { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* Container */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }

/* ============================================ */
/* URGENCY BAR */
/* ============================================ */
.urgency-bar {
    background: linear-gradient(90deg, #fbbf24 0%, #f59e0b 100%);
    padding: 0.5rem 1rem;
    text-align: center;
}
.urgency-bar .container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.urgency-text {
    font-size: 0.875rem;
    font-weight: 500;
    color: #1f2937;
}
.urgency-cta {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1f2937;
    text-decoration: underline;
    white-space: nowrap;
}
.urgency-cta:hover {
    color: #92400e;
}

/* ============================================ */
/* NAVIGATION */
/* ============================================ */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(255,255,255,0.98);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--color-gray-200);
}
.nav-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    gap: 1rem;
}
.logo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.logo-icon { font-size: 1.5rem; }
.logo-text { display: flex; flex-direction: column; }
.logo-name { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: var(--color-gray-900); line-height: 1.2; }
.logo-tagline { font-size: 0.625rem; color: var(--color-accent); font-weight: 500; }
.nav-menu { display: none; }
@media (min-width: 768px) {
    .nav-menu { display: flex; gap: 2rem; }
    .nav-menu a { font-weight: 500; color: var(--color-gray-600); font-size: 0.9375rem; }
    .nav-menu a:hover { color: var(--color-primary); }
}
.nav-actions { display: none; }
@media (min-width: 768px) { .nav-actions { display: flex; } }
.nav-toggle {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0.5rem;
}
@media (min-width: 768px) { .nav-toggle { display: none; } }
.nav-toggle span { width: 24px; height: 2px; background: var(--color-gray-800); }

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    border-radius: var(--radius-lg);
    transition: var(--transition);
    border: 2px solid transparent;
}
.btn-primary {
    background: linear-gradient(135deg, var(--color-cta) 0%, var(--color-cta-dark) 100%);
    color: white;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.3);
}
.btn-primary:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 6px 20px rgba(249, 115, 22, 0.4); 
}
.btn-ghost { color: var(--color-gray-600); }
.btn-ghost:hover { color: var(--color-accent-dark); background: rgba(13,148,136,0.05); }
.btn-outline {
    background: transparent;
    color: var(--color-gray-700);
    border-color: var(--color-gray-300);
}
.btn-outline:hover { background: var(--color-gray-50); border-color: var(--color-gray-400); }
.btn-xl {
    flex-direction: column;
    padding: 1rem 2rem;
    font-size: 1rem;
}
.btn-xl.btn-outline { border-width: 2px; }
.btn-xl .btn-subtext { font-size: 0.75rem; font-weight: 400; opacity: 0.8; }
.btn-block { width: 100%; }
.btn-outline {
    background: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
}
.btn-outline:hover { background: var(--color-primary); color: white; }

/* ============================================ */
/* HERO SECTION - StoryBrand Framework */
/* ============================================ */
.hero {
    padding: calc(64px + 2rem) 0 3rem;
    background: linear-gradient(180deg, #f8fafc 0%, #e0f2fe 50%, #f0fdfa 100%);
    position: relative;
    overflow: hidden;
}
.hero-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
}
.hero-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(13,148,136,0.05) 0%, rgba(37,99,235,0.1) 100%);
}
.hero-grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(15,23,42,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,0.03) 1px, transparent 1px);
    background-size: 60px 60px;
}
.hero-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media (min-width: 1024px) {
    .hero-wrapper { flex-direction: row; align-items: center; }
    .hero { padding: calc(72px + 3rem) 0 4rem; }
}

/* Hero Content */
.hero-content { order: 1; }
@media (min-width: 1024px) { .hero-content { order: unset; flex: 1; } }
.hero-problem { margin-bottom: 0.5rem; }
.problem-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--color-accent-dark);
    background: rgba(13, 148, 136, 0.1);
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
}
.hero-headline {
    font-size: clamp(1.75rem, 5vw, 2.75rem);
    font-weight: 800;
    color: var(--color-gray-900);
    margin-bottom: 1rem;
    line-height: 1.1;
}
.text-accent {
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-cta) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-subheadline {
    font-size: 1.0625rem;
    color: var(--color-gray-600);
    margin-bottom: 1rem;
    line-height: 1.7;
}
.hero-promise {
    font-size: 1rem;
    color: var(--color-gray-700);
    margin-bottom: 1.5rem;
    line-height: 1.7;
}

/* Social Proof */
.hero-proof {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}
.proof-avatars { display: flex; }
.proof-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid white;
    margin-left: -8px;
}
.proof-avatar:first-child { margin-left: 0; }
.proof-stars { color: #fbbf24; font-size: 0.875rem; }
.proof-count { font-size: 0.875rem; color: var(--color-gray-600); }
.proof-count strong { color: var(--color-gray-900); }

/* Hero CTA */
.hero-cta { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 480px) { .hero-cta { flex-direction: row; align-items: center; } }
.btn-xl .btn-text { font-weight: 600; }
.btn-xl .btn-subtext { font-size: 0.75rem; opacity: 0.9; }

/* Trust Badges */
.trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--color-gray-500);
}
.trust-badge svg { color: var(--color-success); }

/* Hero Video */
.hero-visual { order: 2; }
@media (min-width: 1024px) { .hero-visual { order: unset; flex: 1; } }
.video-wrapper {
    background: var(--color-gray-900);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
}
.video-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    background: var(--color-gray-800);
}
.video-badge.live {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #10b981;
    background: rgba(16,185,129,0.1);
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
}
.video-title { font-size: 0.8125rem; color: var(--color-gray-400); }
.demo-video { width: 100%; display: block; }
.video-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 1rem;
    background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, transparent 50%);
    opacity: 0;
    transition: var(--transition);
}
.video-wrapper:hover .video-overlay { opacity: 1; }
.video-cta {
    font-size: 0.875rem;
    font-weight: 600;
    color: white;
    background: var(--color-primary);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-md);
}
.video-wrapper { position: relative; }

/* ============================================ */
/* PROBLEM SECTION - Agitate Pain */
/* ============================================ */
.problem-section {
    padding: 4rem 0;
    background: white;
}
.section-header { text-align: center; margin-bottom: 3rem; }
.section-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);
    color: white;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    border-radius: 50%;
    margin-bottom: 1rem;
}
.section-title { font-size: clamp(1.5rem, 3vw, 2rem); color: var(--color-gray-900); margin-bottom: 0.5rem; }
.section-subtitle { font-size: 1rem; color: var(--color-gray-500); max-width: 600px; margin: 0 auto; }

.problems-container { display: flex; flex-direction: column; gap: 1.5rem; }
.problem-card {
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
@media (min-width: 768px) {
    .problem-card { flex-direction: row; align-items: flex-start; }
    .problems-container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .problem-card.featured { grid-column: span 2; flex-direction: row; }
}
.problem-card.featured {
    background: linear-gradient(135deg, rgba(13, 148, 136, 0.05) 0%, rgba(13, 148, 136, 0.1) 100%);
    border-color: var(--color-accent);
}
.problem-icon { font-size: 2rem; }
.problem-content { flex: 1; }
.problem-content h3 { font-size: 1.125rem; color: var(--color-gray-900); margin-bottom: 0.5rem; }
.problem-content p { font-size: 0.9375rem; color: var(--color-gray-600); line-height: 1.7; }

/* Visual Elements */
.problem-visual { flex-shrink: 0; }
.clock-visual { display: flex; gap: 0.75rem; align-items: center; }
.clock-visual .clock-time {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-gray-900);
    background: white;
    padding: 0.5rem 1rem;
    border-radius: var(--radius-md);
}
.clock-visual .clock-time.problem { color: var(--color-danger); }
.clock-visual .clock-label { font-size: 0.75rem; color: var(--color-gray-500); }
.data-visual { display: flex; align-items: center; gap: 0.5rem; }
.data-source.scattered { display: flex; flex-wrap: wrap; gap: 0.25rem; max-width: 150px; }
.data-source span {
    font-size: 0.6875rem;
    padding: 0.25rem 0.5rem;
    background: var(--color-gray-200);
    border-radius: var(--radius-sm);
}
.data-arrow { font-size: 1.25rem; color: var(--color-gray-400); }
.data-question { font-size: 1.5rem; font-weight: 700; color: var(--color-danger); }
.entry-visual { display: flex; align-items: center; justify-content: center; }
.entry-chart { position: relative; width: 120px; height: 60px; }
.entry-line { position: absolute; height: 2px; width: 100%; background: var(--color-gray-300); }
.entry-line.up { top: 20%; }
.entry-line.down { top: 80%; }
.entry-marker.where {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-danger);
}

.problem-math { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px dashed var(--color-gray-200); }
.math-item { font-size: 0.875rem; color: var(--color-gray-600); }
.math-note { display: block; font-size: 0.8125rem; color: var(--color-gray-500); margin-top: 0.25rem; }
.problem-pain { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.75rem; }
.pain-icon { font-size: 1.25rem; }
.pain-text { font-style: italic; color: var(--color-gray-600); }
.problem-cost { margin-top: 0.75rem; padding: 0.75rem; background: rgba(239,68,68,0.1); border-radius: var(--radius-md); }
.cost-label { font-size: 0.75rem; color: var(--color-gray-600); }
.cost-amount { display: block; font-weight: 700; color: var(--color-danger); }
.problem-quote { font-size: 1rem; font-style: italic; margin-bottom: 0.75rem; }
.problem-answer { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--color-gray-200); }
.answer-label { font-size: 0.875rem; color: var(--color-gray-500); }
.answer-text { font-size: 1rem; font-weight: 600; color: var(--color-gray-900); }

/* ============================================ */
/* STORY SECTION - Transformation */
/* ============================================ */
.story-section {
    padding: 4rem 0;
    background: linear-gradient(180deg, var(--color-gray-50) 0%, white 100%);
}
.story-wrapper { max-width: 900px; margin: 0 auto; text-align: center; }
.story-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-primary);
    margin-bottom: 0.5rem;
}
.story-title { font-size: clamp(1.5rem, 3vw, 2rem); color: var(--color-gray-900); margin-bottom: 2rem; }
.story-grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .story-grid { grid-template-columns: 1fr auto 1fr; align-items: start; } }

.story-column {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    text-align: left;
}
.story-column.before { border-color: var(--color-danger); }
.story-column.after { border-color: var(--color-success); }
.story-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.story-icon { font-size: 1.5rem; }
.story-header h3 { font-size: 1rem; color: var(--color-gray-900); }
.story-list { margin-bottom: 1rem; }
.story-list li {
    font-size: 0.9375rem;
    color: var(--color-gray-600);
    padding: 0.375rem 0;
    padding-left: 1.25rem;
    position: relative;
}
.story-list li::before { content: "•"; position: absolute; left: 0; color: var(--color-gray-400); }
.story-result {
    padding: 0.75rem;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
}
.story-result.negative { background: rgba(239,68,68,0.1); }
.story-result.positive { background: rgba(16,185,129,0.1); }
.result-label { color: var(--color-gray-500); }
.result-text { display: block; font-weight: 600; }
.story-result.negative .result-text { color: var(--color-danger); }
.story-result.positive .result-text { color: var(--color-success); }

.story-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: var(--color-primary);
}
.story-arrow svg { width: 32px; height: 32px; }
.story-cta { margin-top: 2rem; }
.story-cta p { margin-bottom: 0.75rem; color: var(--color-gray-600); }

/* ============================================ */
/* SOLUTION SECTION - The Guide */
/* ============================================ */
.solution-section { padding: 4rem 0; background: white; }
.framework-container { max-width: 900px; margin: 0 auto; }
.framework-header { text-align: center; margin-bottom: 2rem; }
.framework-header h3 { font-size: 1.25rem; color: var(--color-gray-900); }

.framework-steps { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 768px) { .framework-steps { flex-direction: row; } }
.framework-step {
    flex: 1;
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    text-align: center;
    position: relative;
}
.step-number {
    position: absolute;
    top: -1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2rem;
    height: 2rem;
    background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%);
    color: white;
    font-family: var(--font-display);
    font-weight: 700;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.step-icon img { width: 60px; height: 60px; margin: 1rem auto; }
.step-content h4 { font-size: 1rem; color: var(--color-gray-900); margin-bottom: 0.5rem; }
.step-content p { font-size: 0.875rem; color: var(--color-gray-600); margin-bottom: 1rem; }
.step-features { text-align: left; }
.step-features li { font-size: 0.8125rem; color: var(--color-gray-600); padding: 0.25rem 0; }
.step-features .feature-check { color: var(--color-success); margin-right: 0.25rem; }

.differentiator {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-gray-200);
}
.differentiator h3 { text-align: center; font-size: 1.125rem; color: var(--color-gray-900); margin-bottom: 1.5rem; }
.diff-grid { display: grid; gap: 1rem; }
@media (min-width: 768px) { .diff-grid { grid-template-columns: repeat(3, 1fr); } }
.diff-item { text-align: center; padding: 1.25rem; background: var(--color-gray-50); border-radius: var(--radius-lg); }
.diff-icon { font-size: 2rem; margin-bottom: 0.75rem; }
.diff-item h4 { font-size: 1rem; color: var(--color-gray-900); margin-bottom: 0.5rem; }
.diff-item p { font-size: 0.875rem; color: var(--color-gray-600); }

/* ============================================ */
/* PROOF SECTION - Social Proof */
/* ============================================ */
.proof-section { padding: 4rem 0; background: var(--color-gray-50); }
.proof-grid { display: grid; gap: 1.5rem; }
@media (min-width: 768px) { .proof-grid { grid-template-columns: repeat(3, 1fr); } }

.proof-card {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
    position: relative;
}
.proof-card.featured { border-color: var(--color-primary); box-shadow: var(--shadow-lg); }
.proof-featured {
    position: absolute;
    top: -0.75rem;
    right: 1rem;
    background: #fbbf24;
    color: #1f2937;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.75rem;
    border-radius: var(--radius-sm);
}
.proof-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.proof-rating { color: #fbbf24; font-size: 1rem; }
.proof-badge {
    font-size: 0.6875rem;
    color: var(--color-success);
    background: rgba(16,185,129,0.1);
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
}
.proof-quote {
    font-size: 0.9375rem;
    color: var(--color-gray-700);
    line-height: 1.7;
    margin-bottom: 1rem;
}
.proof-author { display: flex; align-items: center; gap: 0.75rem; }
.author-avatar { width: 44px; height: 44px; border-radius: 50%; }
.author-info { flex: 1; }
.author-name { display: block; font-weight: 600; color: var(--color-gray-900); font-size: 0.9375rem; }
.author-role { display: block; font-size: 0.8125rem; color: var(--color-gray-500); }
.author-result { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px dashed var(--color-gray-200); }
.result-label { font-size: 0.75rem; color: var(--color-gray-500); }
.result-value { display: block; font-weight: 600; color: var(--color-success); }

.proof-numbers {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--color-gray-200);
}
@media (min-width: 768px) { .proof-numbers { grid-template-columns: repeat(4, 1fr); } }
.number-item { text-align: center; }
.number-value { display: block; font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: var(--color-gray-900); }
.number-label { display: block; font-size: 0.8125rem; color: var(--color-gray-500); }

/* ============================================ */
/* BONUS SECTION */
/* ============================================ */
.bonus-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    color: white;
}
.bonus-header {
    text-align: center;
    margin-bottom: 2rem;
}
.bonus-badge {
    display: inline-block;
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #1f2937;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.375rem 1rem;
    border-radius: var(--radius-full);
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.bonus-title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    margin-bottom: 0.5rem;
}
.bonus-subtitle {
    font-size: 1rem;
    color: rgba(255,255,255,0.8);
    margin-bottom: 0.25rem;
}
.bonus-note {
    font-size: 0.875rem;
    color: #fbbf24;
}
.bonus-note strong { color: #fbbf24; }

.bonus-content {
    display: grid;
    gap: 2rem;
}
@media (min-width: 768px) {
    .bonus-content { grid-template-columns: 1fr 1fr; align-items: start; }
}
.bonus-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-xl);
}
.bonus-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.bonus-features {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-xl);
    padding: 1.5rem;
}
.bonus-features h3 {
    font-size: 1.125rem;
    margin-bottom: 1rem;
    color: white;
}
.bonus-feature-list { display: flex; flex-direction: column; gap: 1rem; }
.bonus-feature { display: flex; gap: 1rem; align-items: flex-start; }
.bonus-feature .feature-icon { font-size: 1.5rem; flex-shrink: 0; }
.bonus-feature .feature-content h4 { font-size: 0.9375rem; color: white; margin-bottom: 0.25rem; }
.bonus-feature .feature-content p { font-size: 0.8125rem; color: rgba(255,255,255,0.7); line-height: 1.6; }
.bonus-exclusive {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px dashed rgba(255,255,255,0.2);
}
.bonus-exclusive p { font-size: 0.875rem; color: rgba(255,255,255,0.8); margin-bottom: 0.25rem; }
.bonus-exclusive strong { color: #fbbf24; }

/* ============================================ */
/* PRICING SECTION - The Offer */
/* ============================================ */
.pricing-section { padding: 4rem 0; background: white; }

.price-comparison {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    margin-bottom: 2rem;
}
@media (min-width: 480px) { .price-comparison { flex-direction: row; justify-content: center; } }
.comparison-item { text-align: center; }
.comparison-label { font-size: 0.875rem; color: var(--color-gray-500); margin-bottom: 0.25rem; }
.comparison-price { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; }
.comparison-price.bad { color: var(--color-danger); }
.comparison-price.good { color: var(--color-success); }
.comparison-note { font-size: 0.75rem; color: var(--color-gray-400); margin-top: 0.25rem; }
.comparison-vs { color: var(--color-gray-400); font-weight: 600; }

.pricing-card.main {
    max-width: 500px;
    margin: 0 auto;
    background: white;
    border: 2px solid var(--color-primary);
    border-radius: var(--radius-2xl);
    padding: 2rem;
    box-shadow: var(--shadow-xl);
}
.pricing-header { text-align: center; margin-bottom: 1rem; }
.pricing-name { font-size: 1.25rem; color: var(--color-gray-900); }
.pricing-desc { font-size: 0.875rem; color: var(--color-gray-500); }
.pricing-price {
    text-align: center;
    padding: 1.5rem 0;
    border-top: 1px solid var(--color-gray-100);
    border-bottom: 1px solid var(--color-gray-100);
    margin-bottom: 1.5rem;
}
.price-currency { font-size: 1rem; color: var(--color-gray-500); }
.price-amount { font-family: var(--font-display); font-size: 3rem; font-weight: 700; color: var(--color-gray-900); }
.price-suffix { font-size: 0.875rem; color: var(--color-gray-500); display: block; }
.pricing-features { margin-bottom: 1.5rem; }
.pricing-features li { display: flex; align-items: flex-start; gap: 0.5rem; padding: 0.5rem 0; font-size: 0.9375rem; color: var(--color-gray-700); }
.pricing-features .check { color: var(--color-success); font-weight: bold; flex-shrink: 0; }
.pricing-note {
    margin-top: 1rem;
    font-size: 0.875rem;
    color: var(--color-gray-500);
    text-align: center;
}
.pricing-note a { color: var(--color-primary); text-decoration: underline; }
.pricing-trust {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    margin-top: 2rem;
}
@media (min-width: 480px) { .pricing-trust { flex-direction: row; justify-content: center; } }
.trust-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: var(--color-gray-600); }
.trust-item svg { color: var(--color-success); }

/* ============================================ */
/* FAQ SECTION */
/* ============================================ */
.faq-section { padding: 4rem 0; background: var(--color-gray-50); }
.faq-grid { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.75rem; }
.faq-item { background: white; border: 1px solid var(--color-gray-200); border-radius: var(--radius-lg); overflow: hidden; }
.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-gray-900);
    text-align: left;
    transition: var(--transition);
}
.faq-question:hover { background: var(--color-gray-50); }
.faq-icon { width: 20px; height: 20px; color: var(--color-gray-400); transition: var(--transition); }
.faq-item.active .faq-icon { transform: rotate(180deg); }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq-item.active .faq-answer { max-height: 300px; }
.faq-answer p { padding: 0 1.5rem 1.25rem; font-size: 0.9375rem; color: var(--color-gray-600); line-height: 1.7; }

/* ============================================ */
/* FINAL CTA */
/* ============================================ */
.final-cta-section {
    padding: 4rem 0;
    background: linear-gradient(135deg, var(--color-primary) 0%, #0c4a6e 100%);
    color: white;
}
.cta-wrapper { max-width: 700px; margin: 0 auto; text-align: center; }
.cta-headline { font-size: clamp(1.5rem, 4vw, 2rem); margin-bottom: 1rem; }
.cta-subheadline { font-size: 1rem; color: rgba(255,255,255,0.8); margin-bottom: 0.75rem; line-height: 1.7; }
.cta-question { font-size: 1.125rem; color: rgba(255,255,255,0.9); margin-bottom: 2rem; }
.cta-note { font-size: 0.875rem; color: rgba(255,255,255,0.6); margin-top: 1rem; }

.cta-scarcity {
    margin-top: 2rem;
    padding: 1.5rem;
    background: rgba(255,255,255,0.1);
    border-radius: var(--radius-xl);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
@media (min-width: 480px) { .cta-scarcity { flex-direction: row; justify-content: center; } }
.scarcity-icon { font-size: 2rem; }
.scarcity-label { font-size: 0.875rem; color: rgba(255,255,255,0.7); }
.scarcity-timer { display: flex; gap: 0.5rem; }
.timer-item { text-align: center; }
.timer-value {
    display: block;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    background: rgba(255,255,255,0.1);
    padding: 0.5rem 1rem;
    border-radius: var(--radius-md);
}
.timer-label { font-size: 0.75rem; color: rgba(255,255,255,0.6); }

/* ============================================ */
/* FOOTER */
/* ============================================ */
.footer { background: var(--color-gray-900); color: rgba(255,255,255,0.7); padding: 3rem 0 1.5rem; }
.footer-grid { display: grid; gap: 2rem; margin-bottom: 2rem; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: 2fr repeat(3, 1fr); } }
.footer-brand .logo { margin-bottom: 0.75rem; }
.footer-brand .logo-name { color: white; }
.footer-desc { font-size: 0.875rem; line-height: 1.7; }
.footer-links h4 { color: white; font-size: 0.9375rem; margin-bottom: 1rem; }
.footer-links li { margin-bottom: 0.5rem; }
.footer-links a { font-size: 0.875rem; color: rgba(255,255,255,0.6); }
.footer-links a:hover { color: white; }
.footer-bottom { padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.1); text-align: center; }
.footer-bottom p { font-size: 0.875rem; margin-bottom: 0.5rem; }
.footer-disclaimer { font-size: 0.75rem; color: rgba(255,255,255,0.4); }

/* ============================================ */
/* ANIMATIONS */
/* ============================================ */
[data-animate] { opacity: 0; transform: translateY(20px); }
[data-animate="fade-up"].animated { opacity: 1; transform: translateY(0); animation: fadeInUp 0.6s ease forwards; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

/* ============================================ */
/* RESPONSIVE */
/* ============================================ */
@media (max-width: 767px) {
    .hero { padding-top: calc(64px + 1.5rem); }
    .hero-cta .btn-xl { width: 100%; }
    .problem-card { padding: 1rem; }
    .story-column { padding: 1rem; }
    .framework-step { padding: 1rem; }
    .pricing-card { padding: 1.5rem; }
    .cta-scarcity { padding: 1rem; }
}

/* ============================================ */
/* UTILITY */
/* ============================================ */
.text-center { text-align: center; }
.mb-2 { margin-bottom: 2rem; }
.mb-4 { margin-bottom: 4rem; }