        /* ==========================================================================
           1. CSS VARIABLES & DESIGN TOKENS
           ========================================================================== */
        :root {
            /* Colors */
            --bg-base: #030303;
            --bg-surface: #0a0a0a;
            --bg-surface-elevated: #111111;
            --border-color: rgba(255, 255, 255, 0.08);
            --border-glow: rgba(255, 255, 255, 0.15);
            
            --text-primary: #ffffff;
            --text-secondary: #888888;
            --text-muted: #666666;
            
            --accent-primary: #3b82f6; /* Action Blue */
            --accent-purple: #8b5cf6;
            --accent-glow: rgba(59, 130, 246, 0.5);
            
            --success: #10b981;
            --warning: #f59e0b;
            --danger: #ef4444;

            /* Gradients */
            --brand-gradient: linear-gradient(135deg, #ffffff 0%, #a1a1aa 100%);
            --accent-gradient: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-purple) 100%);
            --mesh-gradient: radial-gradient(circle at 50% 0%, rgba(59,130,246,0.15), transparent 60%),
                             radial-gradient(circle at 80% 20%, rgba(139,92,246,0.15), transparent 50%);

            /* Typography */
            --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
            --font-display: 'Plus Jakarta Sans', var(--font-sans);
            
            /* Spacing & Layout */
            --max-width: 1280px;
            --section-padding: 120px;
            --radius-sm: 8px;
            --radius-md: 16px;
            --radius-lg: 24px;
            --radius-xl: 32px;
            
            /* Transitions */
            --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
            --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
            --transition-fast: 0.2s var(--ease-out-expo);
            --transition-slow: 0.6s var(--ease-out-expo);
        }

        /* ==========================================================================
           2. RESET & BASE STYLES
           ========================================================================== */
        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
            background-color: var(--bg-base);
            color: var(--text-primary);
            font-family: var(--font-sans);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
        }

        body {
            line-height: 1.6;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            overflow-x: hidden;
            background-image: 
                linear-gradient(to right, rgba(255,255,255,0.02) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(255,255,255,0.02) 1px, transparent 1px);
            background-size: 40px 40px;
            background-position: center top;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 10px; }
        ::-webkit-scrollbar-track { background: var(--bg-base); }
        ::-webkit-scrollbar-thumb { background: #333; border-radius: 5px; }
        ::-webkit-scrollbar-thumb:hover { background: #555; }

        ::selection { background: var(--accent-primary); color: #fff; }

        /* Typography */
        h1, h2, h3, h4, h5, h6 {
            font-family: var(--font-display);
            line-height: 1.1;
            font-weight: 700;
            letter-spacing: -0.02em;
        }

        a { text-decoration: none; color: inherit; }
        ul { list-style: none; }
        img, svg { max-width: 100%; display: block; }

        .container {
            width: 100%;
            max-width: var(--max-width);
            margin: 0 auto;
            padding: 0 24px;
            position: relative;
            z-index: 2;
        }

        /* ==========================================================================
           3. UTILITIES & ANIMATIONS
           ========================================================================== */
        .text-gradient {
            background: var(--brand-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .text-accent {
            background: var(--accent-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .glass-panel {
            background: rgba(10, 10, 10, 0.6);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-md);
        }

        /* Keyframes */
        @keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-20px); }
        }

        @keyframes pulse-glow {
            0%, 100% { opacity: 0.5; transform: scale(1); }
            50% { opacity: 0.8; transform: scale(1.05); }
        }

        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-10%); }
        }

        @keyframes shimmer {
            0% { background-position: 200% center; }
            100% { background-position: -200% center; }
        }

        @keyframes revealUp {
            from { opacity: 0; transform: translateY(40px) scale(0.95); filter: blur(5px); }
            to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
        }

        .reveal {
            opacity: 0;
            visibility: hidden;
            will-change: transform, opacity, filter;
        }

        .reveal.active {
            animation: revealUp 0.8s var(--ease-out-expo) forwards;
            visibility: visible;
        }

        .delay-100 { animation-delay: 100ms; }
        .delay-200 { animation-delay: 200ms; }
        .delay-300 { animation-delay: 300ms; }
        .delay-400 { animation-delay: 400ms; }

        /* ==========================================================================
           4. COMPONENTS
           ========================================================================== */
        /* Primary Button with glowing border effect */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 14px 28px;
            border-radius: 999px;
            font-family: var(--font-display);
            font-weight: 600;
            font-size: 15px;
            transition: all var(--transition-fast);
            cursor: pointer;
            position: relative;
            overflow: hidden;
        }

        .btn-primary {
            background: #ffffff;
            color: #000000;
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
        }

        .hero-btn-primary { padding: 18px 36px; font-size: 16px; }

        .btn-glow {
            background: var(--bg-surface);
            color: var(--text-primary);
            border: 1px solid var(--border-color);
        }

        .btn-glow::before {
            content: '';
            position: absolute;
            top: -2px; left: -2px; right: -2px; bottom: -2px;
            background: var(--accent-gradient);
            z-index: -1;
            opacity: 0;
            transition: opacity var(--transition-fast);
            border-radius: 999px;
        }

        .btn-glow:hover {
            border-color: transparent;
            color: #fff;
            transform: translateY(-2px);
        }

        .btn-glow:hover::before { opacity: 1; }

        .btn-secondary {
            background: transparent;
            color: var(--text-primary);
            border: 1px solid var(--border-color);
        }
        .btn-secondary:hover { border-color: var(--border-glow); color: #fff; }

        /* Badge */
        .badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px 14px;
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 999px;
            font-size: 13px;
            font-weight: 500;
            color: var(--text-secondary);
            margin-bottom: 32px;
        }

        .badge-dot {
            width: 6px; height: 6px;
            background: var(--accent-primary);
            border-radius: 50%;
            box-shadow: 0 0 10px var(--accent-primary);
            animation: pulse-glow 2s infinite;
        }

        /* ==========================================================================
           5. NAVIGATION
           ========================================================================== */
        .navbar {
            position: fixed;
            top: 0; left: 0; right: 0;
            height: 80px;
            z-index: 1000;
            transition: all var(--transition-fast);
            border-bottom: 1px solid transparent;
        }

        .navbar.scrolled {
            background: rgba(3, 3, 3, 0.7);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            border-bottom: 1px solid var(--border-color);
        }

        .nav-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 100%;
        }

        .brand {
            display: flex;
            align-items: center;
            gap: 12px;
            font-family: var(--font-display);
            flex-shrink: 0;
            min-width: 0;
        }

        /* Custom Logo SVG */
        .brand-logo {
            width: 32px; height: 32px;
            fill: none;
        }

        .brand-text {
            font-size: 20px;
            font-weight: 700;
            letter-spacing: -0.5px;
        }

        .brand-text span {
            color: var(--text-secondary);
            font-weight: 400;
            font-size: 14px;
            margin-left: 4px;
        }

        .nav-links {
            display: flex;
            gap: 32px;
        }

        .nav-link {
            font-size: 14px;
            font-weight: 500;
            color: var(--text-secondary);
            transition: color var(--transition-fast);
            position: relative;
        }

        .nav-link:hover { color: var(--text-primary); }

        .nav-actions { display: flex; gap: 16px; align-items: center; flex-shrink: 0; }

        /* ==========================================================================
           6. HERO SECTION
           ========================================================================== */
        .hero {
            position: relative;
            padding: 200px 0 160px;
            text-align: center;
            overflow: hidden;
            background: var(--mesh-gradient);
        }

        .hero-bg-glow {
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%);
            width: 1000px; height: 1000px;
            background: radial-gradient(circle, rgba(59,130,246,0.1) 0%, transparent 60%);
            filter: blur(60px);
            z-index: 0;
            pointer-events: none;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 900px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .hero h1 {
            font-size: clamp(48px, 6vw, 84px);
            letter-spacing: -0.03em;
            margin-bottom: 24px;
        }

        .hero p {
            font-size: clamp(18px, 2vw, 22px);
            color: var(--text-secondary);
            max-width: 650px;
            margin: 0 auto 48px;
            font-weight: 400;
        }

        .hero-ctas {
            display: flex;
            gap: 16px;
            justify-content: center;
            align-items: center;
        }

        /* Hero Dashboard Mockup (CSS Art) */
        .hero-visual {
            margin-top: 80px;
            position: relative;
            width: 100%;
            max-width: 1000px;
            height: 500px;
            perspective: 2000px;
            z-index: 1;
        }

        .dashboard-mockup {
            width: 100%; height: 100%;
            background: var(--bg-surface-elevated);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            box-shadow: 0 40px 100px rgba(0,0,0,0.8), 0 0 0 1px rgba(255,255,255,0.05) inset;
            transform: rotateX(15deg) translateY(0);
            transform-style: preserve-3d;
            animation: float 8s ease-in-out infinite;
            overflow: hidden;
            display: flex;
            flex-direction: column;
        }

        .dash-header {
            height: 60px;
            border-bottom: 1px solid var(--border-color);
            display: flex;
            align-items: center;
            padding: 0 24px;
            gap: 8px;
            background: rgba(255,255,255,0.02);
        }

        .dash-dot { width: 12px; height: 12px; border-radius: 50%; background: #333; }
        .dash-dot:nth-child(1) { background: #ff5f56; }
        .dash-dot:nth-child(2) { background: #ffbd2e; }
        .dash-dot:nth-child(3) { background: #27c93f; }

        .dash-body {
            display: grid;
            grid-template-columns: 250px 1fr;
            flex: 1;
        }

        .dash-sidebar { border-right: 1px solid var(--border-color); padding: 24px; }
        .dash-line { height: 12px; background: rgba(255,255,255,0.05); border-radius: 6px; margin-bottom: 16px; }
        .dash-line.active { background: rgba(59,130,246,0.2); width: 80%; }
        
        .dash-main { padding: 32px; display: grid; gap: 24px; }
        .dash-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
        .dash-card { background: rgba(255,255,255,0.02); border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 24px; }
        .dash-chart { height: 150px; background: linear-gradient(180deg, rgba(139,92,246,0.2) 0%, transparent 100%); border-radius: 8px; margin-top: 24px; border-bottom: 2px solid var(--accent-purple); }

        /* Floating UI Elements */
        .float-el {
            position: absolute;
            background: var(--bg-surface);
            border: 1px solid var(--border-glow);
            padding: 16px 24px;
            border-radius: var(--radius-md);
            box-shadow: 0 20px 40px rgba(0,0,0,0.5);
            display: flex;
            align-items: center;
            gap: 16px;
            transform: translateZ(50px);
        }

        .float-1 { top: 20%; left: -5%; animation: float 6s ease-in-out infinite reverse; }
        .float-2 { bottom: 20%; right: -5%; animation: float 7s ease-in-out infinite; }

        .float-icon {
            width: 40px; height: 40px; border-radius: 50%;
            background: rgba(16,185,129,0.1); color: var(--success);
            display: flex; align-items: center; justify-content: center;
        }

        /* ==========================================================================
           7. MARQUEE (TRUSTED BY)
           ========================================================================== */
        .marquee-section {
            padding: 40px 0;
            border-top: 1px solid var(--border-color);
            border-bottom: 1px solid var(--border-color);
            background: rgba(255,255,255,0.01);
            overflow: hidden;
        }

        .marquee-title {
            text-align: center;
            font-size: 14px;
            color: var(--text-muted);
            margin-bottom: 32px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .marquee-track {
            display: flex;
            width: fit-content;
            animation: marquee 30s linear infinite;
        }

        .marquee-track:hover { animation-play-state: paused; }

        .marquee-item {
            flex-shrink: 0;
            width: max-content;
            padding: 0 32px;
            white-space: nowrap;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 0.5;
            transition: opacity var(--transition-fast);
        }

        .marquee-item:hover { opacity: 1; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2)); }
        .marquee-item span { display: inline-block; font-weight: bold; font-size: 20px; color: inherit; white-space: nowrap; }

        /* ==========================================================================
           8. BENTO BOX GRID (OUTCOMES)
           ========================================================================== */
        .section { padding: var(--section-padding) 0; }
        
        .section-header { text-align: center; margin-bottom: 80px; }
        .section-header h2 { font-size: clamp(32px, 4vw, 48px); margin-bottom: 20px; }
        .section-header p { font-size: 18px; color: var(--text-secondary); max-width: 600px; margin: 0 auto; }

        .bento-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: repeat(2, 350px);
            gap: 24px;
            grid-template-areas: 
                "card1 card2 card2"
                "card3 card3 card4";
        }

        .bento-card {
            background: var(--bg-surface-elevated);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-xl);
            padding: 40px;
            position: relative;
            overflow: hidden;
            transition: all var(--transition-slow);
            display: flex;
            flex-direction: column;
        }

        .bento-card:hover {
            border-color: rgba(255, 255, 255, 0.2);
            transform: translateY(-5px);
        }

        .bento-card::after {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: radial-gradient(circle at 100% 0%, rgba(255,255,255,0.05) 0%, transparent 50%);
            opacity: 0;
            transition: opacity var(--transition-slow);
        }

        .bento-card:hover::after { opacity: 1; }

        .c-1 { grid-area: card1; }
        .c-2 { grid-area: card2; background: linear-gradient(135deg, var(--bg-surface-elevated), rgba(59,130,246,0.05)); }
        .c-3 { grid-area: card3; }
        .c-4 { grid-area: card4; background: linear-gradient(135deg, var(--bg-surface-elevated), rgba(139,92,246,0.05)); }

        .bento-icon {
            width: 48px; height: 48px;
            border-radius: 12px;
            background: rgba(255,255,255,0.05);
            display: flex; align-items: center; justify-content: center;
            margin-bottom: 24px;
            border: 1px solid var(--border-color);
        }

        .bento-card h3 { font-size: 24px; margin-bottom: 12px; z-index: 1; }
        .bento-card p { color: var(--text-secondary); font-size: 16px; z-index: 1; flex: 1; }

        .stat-huge {
            font-size: 64px;
            font-weight: 800;
            line-height: 1;
            margin-top: auto;
            background: var(--brand-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            z-index: 1;
        }

        /* Interactive Graph inside Bento */
        .bento-graph {
            position: absolute;
            right: 0; bottom: 0; width: 60%; height: 60%;
            background: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path d="M0,100 L0,50 Q25,30 50,60 T100,20 L100,100 Z" fill="rgba(59,130,246,0.1)"/></svg>') no-repeat bottom right;
            background-size: cover;
            z-index: 0;
        }

        /* ==========================================================================
           9. CAPABILITIES TABS (INTERACTIVE JS COMPONENT)
           ========================================================================== */
        .tabs-section {
            background: #000;
            border-top: 1px solid var(--border-color);
            position: relative;
        }

        .tabs-container {
            display: grid;
            grid-template-columns: 400px 1fr;
            gap: 60px;
            align-items: center;
        }

        .tabs-list {
            display: flex;
            flex-direction: column;
            gap: 16px;
            position: relative;
        }

        /* Active line indicator */
        .tabs-indicator {
            position: absolute;
            left: -2px; width: 2px;
            background: var(--accent-gradient);
            transition: all var(--transition-slow);
            border-radius: 2px;
        }

        .tab-btn {
            text-align: left;
            padding: 24px;
            background: transparent;
            border: 1px solid transparent;
            border-left: 2px solid var(--border-color);
            color: var(--text-muted);
            font-family: var(--font-display);
            font-size: 20px;
            font-weight: 600;
            cursor: pointer;
            transition: all var(--transition-fast);
            border-radius: 0 var(--radius-md) var(--radius-md) 0;
        }

        .tab-btn:hover { color: var(--text-primary); background: rgba(255,255,255,0.02); }
        .tab-btn.active { color: var(--text-primary); background: rgba(255,255,255,0.03); }

        .tab-desc {
            font-size: 15px; font-family: var(--font-sans); color: var(--text-secondary);
            font-weight: 400; margin-top: 8px;
            max-height: 0; overflow: hidden; opacity: 0;
            transition: all var(--transition-slow);
        }

        .tab-btn.active .tab-desc { max-height: 100px; opacity: 1; margin-top: 12px; }

        .tabs-content-wrapper {
            position: relative;
            height: 500px;
            background: var(--bg-surface-elevated);
            border-radius: var(--radius-xl);
            border: 1px solid var(--border-color);
            overflow: hidden;
        }

        .tab-panel {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            padding: 60px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px);
            transition: all var(--transition-slow);
        }

        .tab-panel.active {
            opacity: 1; visibility: visible; transform: translateY(0);
        }

        /* Complex Visuals for Panels */
        .panel-visual-chat {
            width: 100%; height: 100%; display: flex; flex-direction: column; gap: 16px;
        }
        .chat-bubble {
            padding: 16px 24px; border-radius: 20px; max-width: 80%; font-size: 14px;
            word-wrap: break-word; overflow-wrap: break-word;
        }
        .chat-left { background: rgba(255,255,255,0.05); align-self: flex-start; border-bottom-left-radius: 4px; }
        .chat-right { background: var(--accent-primary); align-self: flex-end; border-bottom-right-radius: 4px; }
        .typing-indicator { display: flex; gap: 4px; padding: 10px 16px; background: rgba(255,255,255,0.05); border-radius: 20px; align-self: flex-start; width: fit-content; }
        .typing-dot { width: 6px; height: 6px; background: var(--text-secondary); border-radius: 50%; animation: float 1s infinite alternate; }
        .typing-dot:nth-child(2) { animation-delay: 0.2s; }
        .typing-dot:nth-child(3) { animation-delay: 0.4s; }

        /* ==========================================================================
           10. INTERACTIVE ROI CALCULATOR
           ========================================================================== */
        .roi-section {
            background: url('data:image/svg+xml;utf8,<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.03)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)" /></svg>');
            position: relative;
        }

        .calculator-card {
            background: rgba(10,10,10,0.8);
            backdrop-filter: blur(24px);
            border: 1px solid var(--border-glow);
            border-radius: var(--radius-xl);
            padding: 60px;
            max-width: 900px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            box-shadow: 0 40px 100px rgba(0,0,0,0.5);
        }

        .calc-input-group { margin-bottom: 32px; }
        .calc-label { display: flex; justify-content: space-between; font-weight: 500; margin-bottom: 16px; color: var(--text-secondary); }
        .calc-value { color: var(--text-primary); font-size: 24px; font-weight: 700; font-family: var(--font-display); }

        /* Custom Range Slider */
        input[type=range] {
            -webkit-appearance: none; width: 100%; background: transparent;
        }
        input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none; height: 24px; width: 24px; border-radius: 50%;
            background: #fff; cursor: pointer; margin-top: -10px;
            box-shadow: 0 0 10px rgba(255,255,255,0.5); border: 4px solid var(--accent-primary);
        }
        input[type=range]::-webkit-slider-runnable-track {
            width: 100%; height: 4px; cursor: pointer; background: rgba(255,255,255,0.1); border-radius: 2px;
        }
        input[type=range]:focus { outline: none; }

        .calc-results {
            background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, transparent 100%);
            border: 1px solid var(--border-color);
            border-radius: var(--radius-lg);
            padding: 40px;
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .result-label { font-size: 16px; color: var(--text-secondary); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 1px; }
        .result-number { font-size: 64px; font-weight: 800; color: var(--success); line-height: 1; font-family: var(--font-display); }
        .result-current { font-size: 32px; color: #fff; text-decoration: line-through; margin-bottom: 24px; font-family: var(--font-display); font-weight: 700; }
        .result-astrosia { font-size: 40px; color: #fff; margin-bottom: 24px; font-family: var(--font-display); font-weight: 700; }
        .result-sub { font-size: 14px; color: var(--text-muted); margin-top: 16px; }

        /* ==========================================================================
           11. FAQ ACCORDION
           ========================================================================== */
        .faq-container { max-width: 800px; margin: 0 auto; }
        
        .faq-item {
            border-bottom: 1px solid var(--border-color);
            padding: 24px 0;
        }

        .faq-question {
            width: 100%; background: transparent; border: none; text-align: left;
            color: var(--text-primary); font-size: 20px; font-weight: 500; font-family: var(--font-display);
            display: flex; justify-content: space-between; align-items: center; cursor: pointer;
            transition: color var(--transition-fast);
        }

        .faq-question:hover { color: var(--accent-primary); }

        .faq-icon {
            position: relative; width: 20px; height: 20px;
        }
        .faq-icon::before, .faq-icon::after {
            content: ''; position: absolute; background: currentColor; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: all var(--transition-fast);
        }
        .faq-icon::before { width: 16px; height: 2px; }
        .faq-icon::after { width: 2px; height: 16px; }
        
        .faq-item.active .faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }

        .faq-answer {
            max-height: 0; overflow: hidden; transition: all 0.4s var(--ease-out-expo);
            color: var(--text-secondary); font-size: 16px;
        }
        
        .faq-answer-inner { padding-top: 16px; padding-right: 40px; }

        /* ==========================================================================
           12. BOTTOM CTA & FOOTER
           ========================================================================== */
        .cta-section {
            padding: 160px 0;
            position: relative;
            text-align: center;
            overflow: hidden;
        }

        .cta-bg {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            background: radial-gradient(circle at 50% 100%, rgba(139,92,246,0.2) 0%, transparent 70%);
            z-index: 0;
        }

        .cta-content { position: relative; z-index: 2; max-width: 800px; margin: 0 auto; }
        .cta-content h2 { font-size: 56px; margin-bottom: 24px; }

        footer {
            border-top: 1px solid var(--border-color);
            background: #000;
            padding: 80px 0 40px;
            font-size: 14px;
            color: var(--text-muted);
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 60px;
            margin-bottom: 80px;
        }

        .footer-brand p { margin-top: 16px; max-width: 300px; }
        
        .footer-col h4 { color: var(--text-primary); font-size: 16px; margin-bottom: 24px; }
        .footer-col ul { display: flex; flex-direction: column; gap: 12px; }
        .footer-col a { transition: color var(--transition-fast); }
        .footer-col a:hover { color: #fff; }

        .footer-bottom {
            border-top: 1px solid var(--border-color);
            padding-top: 32px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* ==========================================================================
           13. RESPONSIVE DESIGN (MEDIA QUERIES)
           ========================================================================== */
        @media (max-width: 1024px) {
            .bento-grid { grid-template-columns: 1fr 1fr; grid-template-areas: "card1 card1" "card2 card2" "card3 card4"; grid-template-rows: auto auto auto; }
            .tabs-container { grid-template-columns: 1fr; }
            .tabs-list { flex-direction: row; overflow-x: auto; padding-bottom: 16px; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; gap: 0; }
            .tab-btn { border-left: none; border-bottom: 2px solid var(--border-color); border-radius: var(--radius-md) var(--radius-md) 0 0; text-align: center; padding: 16px; white-space: nowrap; scroll-snap-align: start; flex-shrink: 0; }
            .tabs-indicator { left: 0; bottom: 16px; width: 25%; height: 2px; }
            .calculator-card { grid-template-columns: 1fr; gap: 40px; padding: 40px; }
            .footer-grid { grid-template-columns: 1fr 1fr; }
            .tabs-content-wrapper { height: 450px; }
        }

        @media (max-width: 768px) {
            :root { --section-padding: 60px; }
            .container { padding: 0 16px; }
            .section { padding: 60px 0; }
            .section-header { margin-bottom: 40px; }
            .section-header h2 { font-size: 28px; }
            .section-header p { font-size: 16px; }
            .hero { padding: 120px 0 80px; }
            .hero h1 { font-size: 32px; line-height: 1.2; margin-bottom: 16px; }
            .hero p { font-size: 16px; margin-bottom: 32px; }
            .badge { padding: 6px 12px; font-size: 12px; margin-bottom: 20px; }
            .hero-ctas { flex-direction: column; gap: 12px; width: 100%; max-width: 320px; }
            .hero-ctas .btn { width: 100%; justify-content: center; padding: 14px 20px; font-size: 14px; min-height: 48px; }
            .hero-ctas .btn-primary, .hero-ctas .hero-btn-primary { padding: 16px 24px !important; font-size: 15px !important; }
            .bento-grid { grid-template-columns: 1fr; grid-template-areas: "card1" "card2" "card3" "card4"; gap: 16px; }
            .bento-card { padding: 24px; border-radius: var(--radius-lg); }
            .bento-card h3 { font-size: 20px; }
            .bento-card p { font-size: 15px; }
            .stat-huge { font-size: 40px; }
            .hero-visual { display: none; }
            .navbar { height: 64px; }
            .nav-links, .nav-actions .nav-link, .nav-actions a[download] { display: none; }
            .nav-actions .btn-primary { display: flex; padding: 12px 20px; font-size: 13px; min-height: 44px; flex-shrink: 0; white-space: nowrap; }
            .brand-logo { width: 28px; height: 28px; }
            .brand-text { font-size: 16px; }
            .brand-text span { font-size: 12px; margin-left: 2px; }
            .footer-grid { grid-template-columns: 1fr; gap: 40px; margin-bottom: 40px; }
            .footer { padding: 48px 0 24px; }
            .cta-section { padding: 80px 0; }
            .cta-content h2 { font-size: 32px; margin-bottom: 16px; }
            .cta-content p { font-size: 16px; margin-bottom: 24px; }
            .cta-section .btn { width: 100%; max-width: 300px; }
            .marquee-title { font-size: 12px; margin-bottom: 20px; padding: 0 16px; }
            .marquee-item { padding: 0 20px; }
            .marquee-item span { font-size: 16px; }
        }

        /* Tabs / Omnichannel Chat - Mobile */
        @media (max-width: 768px) {
            .tabs-section .section-header { margin-bottom: 24px; }
            .tabs-list { gap: 8px; padding: 0 16px 12px; margin: 0 -16px; }
            .tab-btn { padding: 12px 16px; font-size: 14px; min-width: fit-content; }
            .tab-btn .tab-desc { display: none; }
            .tabs-content-wrapper { height: 380px; border-radius: var(--radius-lg); }
            .tab-panel { padding: 24px 20px; }
            .panel-visual-chat { gap: 12px; }
            .chat-bubble { padding: 12px 16px; font-size: 13px; max-width: 95%; }
            .typing-indicator { padding: 8px 12px; }
            .typing-dot { width: 5px; height: 5px; }
            .tab-panel h3 { font-size: 18px; }
            .tab-panel p { font-size: 14px; }
            .backoffice-panel { grid-template-columns: 1fr !important; gap: 16px !important; }
            .tabs-content-wrapper [style*="width: 120px"] { width: 80px; height: 80px; }
            .tabs-content-wrapper [style*="width: 120px"] svg { width: 32px; height: 32px; }
        }

        /* ROI Calculator - Mobile */
        @media (max-width: 768px) {
            .calculator-card { padding: 24px 20px; gap: 32px; }
            .calc-input-group { margin-bottom: 24px; }
            .calc-label { font-size: 14px; margin-bottom: 10px; flex-wrap: wrap; gap: 4px; }
            .calc-value { font-size: 18px; }
            .calc-results { padding: 24px 20px; }
            .result-label { font-size: 12px; margin-bottom: 6px; }
            .result-number { font-size: 36px; }
            .result-astrosia { font-size: 28px; }
            .result-current { font-size: 24px; }
            .calculator-card p { font-size: 12px; margin-top: 20px; padding-top: 16px; }
            input[type=range]::-webkit-slider-thumb { height: 20px; width: 20px; }
        }

        /* FAQ - Mobile */
        @media (max-width: 768px) {
            .faq-question { font-size: 16px; padding: 16px 0; }
            .faq-answer-inner { padding-right: 24px; padding-top: 12px; }
            .faq-answer { font-size: 15px; }
        }

        /* Footer Bottom - Mobile */
        @media (max-width: 768px) {
            .footer-bottom { flex-direction: column; gap: 16px; text-align: center; padding-top: 24px; }
        }

        /* Extra small phones */
        @media (max-width: 480px) {
            .hero h1 { font-size: 28px; }
            .hero p { font-size: 15px; }
            .brand-text { font-size: 14px; }
            .brand-text span { font-size: 11px; }
            .nav-actions .btn-primary { padding: 10px 16px; font-size: 12px; white-space: normal; min-height: 44px; }
            .section-header h2 { font-size: 24px; }
            .cta-content h2 { font-size: 28px; }
            .result-number { font-size: 32px; }
            .stat-huge { font-size: 36px; }
        }

        /* ==========================================================================
           PAGE-SPECIFIC STYLES (Solution & Legal Pages)
           ========================================================================== */
        .page-hero { padding: 160px 0 100px !important; }
        .page-hero .hero-content { max-width: 800px; }
        .content-prose { max-width: 720px; margin: 0 auto; color: var(--text-secondary); line-height: 1.7; }
        .content-prose h2 { font-size: 24px; margin: 48px 0 16px; color: var(--text-primary); }
        .content-prose h3 { font-size: 18px; margin: 32px 0 12px; color: var(--text-primary); }
        .content-prose p { margin-bottom: 16px; }
        .content-prose ul { list-style: disc; padding-left: 24px; margin-bottom: 16px; }
        .content-prose li { margin-bottom: 8px; }
        .feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; margin: 48px 0; }
        .feature-card { background: var(--bg-surface-elevated); border: 1px solid var(--border-color); border-radius: var(--radius-lg); padding: 32px; transition: all var(--transition-slow); }
        .feature-card:hover { border-color: rgba(255,255,255,0.2); transform: translateY(-3px); }
        .feature-card h3 { font-size: 20px; margin-bottom: 12px; }
        .feature-card p { color: var(--text-secondary); font-size: 15px; margin: 0; }
