<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0">
    <meta name="theme-color" content="#305CDE">
    <meta name="description" content="Marvintek LLC - Technology consulting company based in New Hampshire, USA. IT consulting, custom software development, AI solutions, cloud consulting, and digital transformation.">
    <meta name="keywords" content="IT Consulting, Software Development, Web Development, API Development, AI Solutions, Cloud Consulting, Systems Integration, Digital Transformation, New Hampshire, Marvintek">
    <meta property="og:title" content="Marvintek — Engineering the Future of Intelligent Business">
    <meta property="og:description" content="Technology consulting company based in New Hampshire, USA.">
    <meta property="og:type" content="website">
    <title>Marvintek — Engineering the Future of Intelligent Business</title>
    <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=Space+Grotesk:wght@400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="styles.css">
    <link rel="stylesheet" href="styles-ios.css">
    <link rel="icon" type="image/png" href="favicon.png">
    <meta http-equiv="Content-Security-Policy" content="user-select: none">
    <style>
        /* Text Protection */
        body { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
        input, textarea { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; }
        ::selection { background: #305CDE; color: white; }
        ::-moz-selection { background: #305CDE; color: white; }
    </style>
</head>
<body>
    <!-- Preloader -->
    <div class="preloader" id="preloader">
        <div class="preloader-inner">
            <div class="preloader-logo">
                <img src="logo.png" alt="Marvintek" class="preloader-logo-img">
            </div>
            <div class="preloader-bar"><div class="preloader-progress"></div></div>
        </div>
    </div>

    <!-- Navigation -->
    <header class="navbar" id="navbar">
        <div class="nav-container">
            <a href="#home" class="nav-logo" aria-label="Marvintek Home">
                <img src="logo.png" alt="Marvintek" class="logo-img">
                <span class="logo-text">marvintek</span>
            </a>
            <nav class="nav-menu" id="navMenu" aria-label="Main navigation">
                <ul class="nav-list">
                    <li><a href="index.html" class="nav-link active">Home</a></li>
                    <li><a href="about.html" class="nav-link">About Us</a></li>
                    <li><a href="services.html" class="nav-link">Services</a></li>
                    <li><a href="careers.html" class="nav-link">Careers</a></li>
                    <li><a href="contact.html" class="nav-link">Contact</a></li>
                </ul>
            </nav>
            <a href="tel:+16037339440" class="nav-cta"><span>Connect Call</span></a>
            <button class="nav-toggle" id="navToggle" aria-label="Toggle menu" aria-expanded="false">
                <span></span>
                <span></span>
                <span></span>
            </button>
        </div>
    </header>

    <!-- Hero Section -->
    <section class="hero" id="home">
        <div class="hero-bg" aria-hidden="true">
            <img src="images/hero-bg.jpg" alt="Modern technology office" class="hero-bg-img" loading="eager">
            <div class="hero-bg-overlay"></div>
            <div class="grid-pattern"></div>
            <div class="gradient-orb orb-1"></div>
            <div class="gradient-orb orb-2"></div>
            <div class="gradient-orb orb-3"></div>
            <div class="noise-overlay"></div>
        </div>
        <div class="hero-container">
            <div class="hero-content">
                <div class="hero-badge">
                    <span class="badge-pulse"></span>
                    <span>Technology Consulting in New Hampshire</span>
                </div>
                <h1 class="hero-title">
                    Engineering the <span class="gradient-text">Future</span> of
                    <br><span class="gradient-text">Intelligent Business</span>
                </h1>
                <p class="hero-subtitle">
                    Marvintek LLC is a technology consulting company based in New Hampshire, USA. We provide IT consulting, custom software development, AI-powered applications, cloud solutions, systems integration, and digital transformation services to help businesses modernize and grow.
                </p>
                <div class="hero-cta">
                    <a href="contact.html" class="btn btn-primary">
                        <span>Connect Strategy Call</span>
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
                            <path d="M5 12h14M12 5l7 7-7 7"/>
                        </svg>
                    </a>
                    <a href="services.html" class="btn btn-ghost">
                        <span>Explore Solutions</span>
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
                            <path d="M7 17L17 7M17 7H7M17 7v10"/>
                        </svg>
                    </a>
                </div>
                <div class="hero-visual" aria-hidden="true">
                <div class="visual-card card-1">
                    <div class="card-glow"></div>
                    <div class="card-content">
                        <div class="card-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M12 2L2 7l10 5 10-5-10-5z"/>
                                <path d="M2 17l10 5 10-5M2 12l10 5 10-5"/>
                            </svg>
                        </div>
                        <div class="card-text">
                            <div class="card-title">AI Engine</div>
                            <div class="card-status">Active</div>
                        </div>
                    </div>
                </div>
                <div class="visual-card card-2">
                    <div class="card-glow"></div>
                    <div class="card-content">
                        <div class="card-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
                            </svg>
                        </div>
                        <div class="card-text">
                            <div class="card-title">Security</div>
                            <div class="card-status">Protected</div>
                        </div>
                    </div>
                </div>
                <div class="visual-card card-3">
                    <div class="card-glow"></div>
                    <div class="card-content">
                        <div class="card-icon">
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"/>
                            </svg>
                        </div>
                        <div class="card-text">
                            <div class="card-title">Cloud</div>
                            <div class="card-status">Synced</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <a href="about.html" class="scroll-indicator" aria-label="Scroll to content">
            <span>Scroll to explore</span>
            <div class="scroll-arrow">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                    <path d="M12 5v14M5 12l7 7 7-7"/>
                </svg>
            </div>
        </a>
    </section>

    <!-- About Section -->
    <section class="about" id="about">
        <div class="about-bg" aria-hidden="true">
            <img src="images/about-bg.jpg" alt="Server room" class="about-bg-img" loading="lazy">
            <div class="about-bg-overlay"></div>
        </div>
        <div class="container">
            <div class="section-header">
                <span class="section-tag">What Marvintek Does</span>
                <h2 class="section-title">Transforming Vision Into <span class="gradient-text">Digital Reality</span></h2>
            </div>
            <div class="about-grid">
                <div class="about-quote">
                    <svg class="quote-mark" width="64" height="64" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
                        <path d="M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"/>
                        <path d="M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"/>
                    </svg>
                    <p class="quote-text">
                        Marvintek LLC is a technology consulting company based in New Hampshire, USA. We help businesses modernize through IT consulting, custom software, AI-powered applications, cloud solutions, systems integration, and digital transformation.
                    </p>
                    <div class="quote-author">
                        <div class="author-avatar">M</div>
                        <div class="author-info">
                            <div class="author-name">Marvintek Team</div>
                            <div class="author-role">Technology Consulting</div>
                        </div>
                    </div>
                </div>
                <div class="about-features">
                    <div class="about-feature">
                        <div class="feature-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M12 2L2 7l10 5 10-5-10-5z"/>
                                <path d="M2 17l10 5 10-5M2 12l10 5 10-5"/>
                            </svg>
                        </div>
                        <h3>Custom Software</h3>
                        <p>Tailored software solutions designed to fit your business processes and support growth.</p>
                    </div>
                    <div class="about-feature">
                        <div class="feature-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"/>
                            </svg>
                        </div>
                        <h3>Cloud Consulting</h3>
                        <p>Cloud architecture, migration, and optimization services for modern businesses.</p>
                    </div>
                    <div class="about-feature">
                        <div class="feature-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
                                <path d="M9 12l2 2 4-4"/>
                            </svg>
                        </div>
                        <h3>Systems Integration</h3>
                        <p>Connect applications, databases, and services to streamline operations.</p>
                    </div>
                    <div class="about-feature">
                        <div class="feature-icon">
                            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                <path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/>
                                <path d="M3.27 6.96L12 12.01l8.73-5.05M12 22.08V12"/>
                            </svg>
                        </div>
                        <h3>Digital Transformation</h3>
                        <p>Modernize legacy systems, automate workflows, and build data-driven strategies.</p>
                    </div>
                </div>
            </div>
        </div>
    </section>

            <!-- Services Section -->
    <section class="services" id="services">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">Our Capabilities</span>
                <h2 class="section-title">Technology Solutions <span class="gradient-text">Built for Your Business</span></h2>
                <p class="section-subtitle">Practical technology services designed to help your business modernize, integrate, and grow.</p>
            </div>
            <div class="services-grid">
                <article class="service-card">
                    <div class="service-image"><img src="images/it-consulting.jpg" alt="IT Consulting" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">01</span></div>
                    <h3>IT Consulting</h3>
                    <p>Assess your technology environment and develop practical roadmaps aligned with your business objectives.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/custom-software-development.png" alt="Custom Software Development" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">02</span></div>
                    <h3>Custom Software Development</h3>
                    <p>Design and build tailored software solutions that fit your workflows and support long-term growth.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/web-development.jpg" alt="Web Application Development" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">03</span></div>
                    <h3>Web Application Development</h3>
                    <p>Create responsive, secure, and high-performance web applications for any modern browser.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/mobile-app-development.png" alt="Mobile Application Development" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">04</span></div>
                    <h3>Mobile Application Development</h3>
                    <p>Develop native and cross-platform mobile applications for Android and iOS devices.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/api-integration.png" alt="API Development" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">05</span></div>
                    <h3>API Development</h3>
                    <p>Build secure, scalable, and well-documented APIs for reliable data exchange between systems.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/service-ai.jpg" alt="AI Solutions" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">06</span></div>
                    <h3>AI Solutions</h3>
                    <p>Develop intelligent applications using AI and machine learning to automate processes and improve decisions.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/service-cloud.jpg" alt="Cloud Consulting" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">07</span></div>
                    <h3>Cloud Consulting</h3>
                    <p>Design, deploy, and optimize secure, scalable cloud infrastructures tailored to your requirements.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/service-integration.jpg" alt="Systems Integration" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">08</span></div>
                    <h3>Systems Integration</h3>
                    <p>Connect enterprise applications, cloud services, databases, and third-party software to eliminate silos.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/service-network.jpg" alt="Network and Systems Architecture" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">09</span></div>
                    <h3>Network & Systems Architecture</h3>
                    <p>Design secure, scalable, and resilient network and systems architectures for business-critical operations.</p>
                </article>
                <article class="service-card">
                    <div class="service-image"><img src="images/service-digital-transform.jpg" alt="Digital Transformation" loading="lazy"></div>
                    <div class="service-header"><span class="service-number">10</span></div>
                    <h3>Digital Transformation</h3>
                    <p>Modernize legacy systems, automate workflows, and create data-driven strategies for sustainable growth.</p>
                </article>
            </div>
        </div>
    </section><!-- Why Choose Us Section -->
    <section class="why-us" id="why">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">Why Marvintek</span>
                <h2 class="section-title">Why Work With <span class="gradient-text">Marvintek</span></h2>
                <p class="section-subtitle">We combine deep technical expertise with strategic business thinking to deliver outcomes that matter.</p>
            </div>
            <div class="why-grid">
                <article class="why-card">
                    <div class="why-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <path d="M9.663 17h4.673M12 3v1M12 21v-1M5.05 5.05l.707.707M18.243 18.243l-.707-.707M3 12h1M21 12h-1M5.05 18.243l.707-.707M18.243 5.05l-.707.707"/>
                            <circle cx="12" cy="12" r="5"/>
                        </svg>
                    </div>
                    <h3>Innovation First</h3>
                    <p>We apply modern technologies and practical AI solutions to address real business challenges.</p>

                </article>
                <article class="why-card">
                    <div class="why-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>
                            <path d="M9 12l2 2 4-4"/>
                        </svg>
                    </div>
                    <h3>Enterprise Security</h3>
                    <p>We follow security best practices and consider data protection throughout the development process.</p>
                    
                </article>
                <article class="why-card">
                    <div class="why-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <path d="M3 3v18h18"/>
                            <path d="M7 12l4-4 4 4 6-6"/>
                        </svg>
                    </div>
                    <h3>Scalable Architecture</h3>
                    <p>We design solutions with scalability in mind, so they can grow alongside your business.</p>
                    
                </article>
                <article class="why-card">
                    <div class="why-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
                            <circle cx="9" cy="7" r="4"/>
                            <path d="M23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75"/>
                        </svg>
                    </div>
                    <h3>Strategic Partnership</h3>
                    <p>We focus on understanding your business goals and delivering technology that supports them.</p>
                    
                </article>
            </div>
        </div>
    </section>

    <!-- Process Section -->
    <section class="process">
        <div class="container">
            <div class="section-header">
                <span class="section-tag">Our Process</span>
                <h2 class="section-title">From Concept to <span class="gradient-text">Production</span></h2>
                <p class="section-subtitle">A proven methodology that delivers results on time, every time.</p>
            </div>
            <div class="process-grid">
                <div class="process-card">
                    <div class="process-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <circle cx="11" cy="11" r="8"/>
                            <path d="M21 21l-4.35-4.35"/>
                        </svg>
                    </div>
                    <div class="process-number">01</div>
                    <h3>Discovery</h3>
                    <p>Deep dive into your business objectives, technical landscape, and growth ambitions.</p>
                </div>
                <div class="process-card">
                    <div class="process-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/>
                            <path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>
                        </svg>
                    </div>
                    <div class="process-number">02</div>
                    <h3>Strategy</h3>
                    <p>Custom roadmap with clear milestones, KPIs, and technology recommendations.</p>
                </div>
                <div class="process-card">
                    <div class="process-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/>
                        </svg>
                    </div>
                    <div class="process-number">03</div>
                    <h3>Build</h3>
                    <p>Agile development with continuous delivery and transparent communication.</p>
                </div>
                <div class="process-card">
                    <div class="process-icon">
                        <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                            <polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>
                        </svg>
                    </div>
                    <div class="process-number">04</div>
                    <h3>Scale</h3>
                    <p>Ongoing optimization, support, and evolution as your business grows.</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Careers Section -->
    <section class="careers" id="careers">
        <div class="careers-bg" aria-hidden="true">
            <img src="images/careers-bg.jpg" alt="Modern workspace" class="careers-bg-img" loading="lazy">
            <div class="careers-bg-overlay"></div>
        </div>
        <div class="container">
            <div class="careers-grid">
                <div class="careers-content">
                    <span class="section-tag">Join Our Team</span>
                    <h2 class="section-title">Build the Future <span class="gradient-text">With Us</span></h2>
                    <p class="careers-desc">We're looking for exceptional engineers, strategists, and innovators who want to shape the next generation of enterprise technology.</p>
                </div>
                <div class="careers-visual">
                    <div class="code-window">
                        <div class="window-header">
                            <div class="window-dots">
                                <span></span><span></span><span></span>
                            </div>
                            <div class="window-title">marvintek.team</div>
                            <div class="window-actions">
                                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                                    <path d="M7 17L17 7M17 7H7M17 7v10"/>
                                </svg>
                            </div>
                        </div>
                        <div class="window-body">
                            <div class="code-line"><span class="code-keyword">const</span> <span class="code-var">mission</span> <span class="code-op">=</span> <span class="code-string">"Engineer the future"</span><span class="code-punc">;</span></div>
                            <div class="code-line"><span class="code-keyword">const</span> <span class="code-var">values</span> <span class="code-op">=</span> <span class="code-bracket">[</span><span class="code-string">"Innovation"</span><span class="code-punc">,</span> <span class="code-string">"Impact"</span><span class="code-punc">,</span> <span class="code-string">"Integrity"</span><span class="code-bracket">]</span><span class="code-punc">;</span></div>
                            <div class="code-line"><span class="code-keyword">await</span> <span class="code-function">joinTeam</span><span class="code-bracket">(</span><span class="code-var">mission</span><span class="code-punc">,</span> <span class="code-var">values</span><span class="code-bracket">)</span><span class="code-punc">;</span></div>
                            <div class="code-line code-cursor">▊</div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- CTA Section -->
    <section class="cta" id="contact">
        <div class="cta-bg" aria-hidden="true">
            <img src="images/cta-bg.jpg" alt="Global network" class="cta-bg-img" loading="lazy">
            <div class="cta-bg-overlay"></div>
            <div class="cta-grid"></div>
            <div class="cta-orb"></div>
        </div>
        <div class="container">
            <div class="cta-content">
                <span class="section-tag cta-tag">Get In Touch</span>
                <h2 class="cta-title">Let's Discuss Your <span class="gradient-text">Project</span></h2>
                <p class="cta-subtitle">Let's discuss how Marvintek LLC can help your business modernize and grow.</p>
                
                <div class="cta-form-wrapper">
                    <form class="cta-form" id="ctaForm">
                        <div class="form-row">
                            <div class="form-group">
                                <input type="text" id="ctaName" name="name" placeholder="Name" required>
                            </div>
                            <div class="form-group">
                                <input type="email" id="ctaEmail" name="email" placeholder="Email" required>
                            </div>
                        </div>
                        <div class="form-group">
                            <input type="tel" id="ctaPhone" name="phone" placeholder="Phone Number">
                        </div>
                        <div class="form-group">
                            <textarea id="ctaMessage" name="message" rows="4" placeholder="Message" required></textarea>
                        </div>
                        <button type="submit" class="btn btn-white btn-full">
                            <span>Submit</span>
                            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
                                <path d="M5 12h14M12 5l7 7-7 7"/>
                            </svg>
                        </button>
                    </form>
                    <script>
                        document.getElementById('ctaForm').addEventListener('submit', function(e) {
                            e.preventDefault();
                            var name = encodeURIComponent(document.getElementById('ctaName').value);
                            var email = encodeURIComponent(document.getElementById('ctaEmail').value);
                            var phone = encodeURIComponent(document.getElementById('ctaPhone').value || 'Not provided');
                            var message = encodeURIComponent(document.getElementById('ctaMessage').value);
                            var subject = encodeURIComponent('Inquiry from Marvintek Website');
                            var body = encodeURIComponent(
                                'Hello Marvintek Team,' + '\n\n' +
                                'I would like to get in touch regarding a project or service inquiry.' + '\n\n' +
                                'Name: ' + decodeURIComponent(name) + '\n' +
                                'Email: ' + decodeURIComponent(email) + '\n' +
                                'Phone: ' + decodeURIComponent(phone) + '\n\n' +
                                'Message:' + '\n' + decodeURIComponent(message) + '\n\n' +
                                'Best regards,' + '\n' + decodeURIComponent(name)
                            );
                            window.location.href = 'https://mail.google.com/mail/?view=cm&fs=1&to=info@marvintek.com&su=' + subject + '&body=' + body;
                        });
                    </script>
                </div>
            </div>
        </div>
    </section>

    <!-- Footer -->
    <footer class="footer">
        <div class="container">
            <div class="footer-grid">
                <div class="footer-brand">
                    <a href="#home" class="footer-logo">
                        <img src="logo.png" alt="Marvintek" class="logo-img">
                        <span class="logo-text">marvintek</span>
                    </a>
                    <p class="footer-tagline">Engineering the Future of Intelligent Business.</p>
                    <div class="footer-social" style="margin-top: 16px; display: flex; gap: 12px;">
                        <a href="https://www.instagram.com/marvintekllc" target="_blank" rel="noopener noreferrer" class="social-link" aria-label="Instagram" style="display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(48, 92, 222, 0.1); color: #305CDE; transition: all 0.3s ease;">
                            <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor">
                                <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"/>
                            </svg>
                        </a>
                    </div>
                </div>
                <div class="footer-col">
                    <h4>Company</h4>
                    <ul>
                        <li><a href="index.html">Home</a></li>
                        <li><a href="about.html">About Us</a></li>
                        <li><a href="careers.html">Careers</a></li>
                        <li><a href="contact.html">Contact</a></li>
                        <li><a href="privacy-policy.html">Privacy Policy</a></li>
                        <li><a href="terms-of-service.html">Terms of Service</a></li>
                    </ul>
                </div>
                <div class="footer-col">
                    <h4>Services</h4>
                    <ul>
                        <li><a href="services.html">IT Consulting</a></li>
                        <li><a href="services.html">Custom Software</a></li>
                        <li><a href="services.html">Web & Mobile Apps</a></li>
                        <li><a href="services.html">API Development</a></li>
                        <li><a href="services.html">AI Solutions</a></li>
                        <li><a href="services.html">Cloud Consulting</a></li>
                    </ul>
                </div>
                <div class="footer-col">
                    <h4>Get In Touch</h4>
                    <div class="footer-contact">
                        <p><a href="tel:+16037339440" style="color:var(--accent-color);font-weight:600;">+1 6037339440</a></p>
                        <span class="footer-label">Email Us</span>
                        <a href="mailto:info@marvintek.com" class="footer-email">info@marvintek.com</a>
                    </div>
                    <p class="footer-address">15 Glidden Road, Suite 1<br>Multonborough, NH 03254</p>
                </div>
            </div>
            <div class="footer-bottom">
                <p>&copy; 2026 Marvintek LLC. All rights reserved.</p>
                <div class="footer-legal">
                    <a href="privacy-policy.html">Privacy Policy</a>
                    <a href="terms-of-service.html">Terms of Service</a>
                </div>
            </div>
        </div>
    </footer>

    <script src="script.js"></script>
    <script src="form-handler.js"></script>
    <script>
        // Text Protection - Disable copy, cut, right-click, drag
        document.addEventListener('contextmenu', e => e.preventDefault());
        document.addEventListener('copy', e => { e.preventDefault(); return false; });
        document.addEventListener('cut', e => { e.preventDefault(); return false; });
        document.addEventListener('paste', e => { e.preventDefault(); return false; });
        document.addEventListener('dragstart', e => e.preventDefault());
        document.addEventListener('selectstart', e => {
            if (e.target.tagName !== 'INPUT' && e.target.tagName !== 'TEXTAREA') {
                e.preventDefault();
            }
        });
        // Disable keyboard shortcuts
        document.addEventListener('keydown', e => {
            // Disable Ctrl+A, Ctrl+C, Ctrl+X, Ctrl+S, Ctrl+P, Ctrl+U, F12
            if ((e.ctrlKey || e.metaKey) && ['a','c','x','s','p','u'].includes(e.key.toLowerCase())) {
                e.preventDefault();
                return false;
            }
            if (e.key === 'F12') { e.preventDefault(); return false; }
        });
        // Console warning
        console.log('%c⚠️ WARNING', 'color: #305CDE; font-size: 24px; font-weight: bold;');
        console.log('%cThis content is protected by copyright. Unauthorized copying is prohibited.', 'color: #305CDE; font-size: 14px;');
    </script>
</body>
</html>
