diff --git a/assets/css/custom.css b/assets/css/custom.css
new file mode 100644
index 0000000..8c54725
--- /dev/null
+++ b/assets/css/custom.css
@@ -0,0 +1,118 @@
+/* Agency Theme */
+:root {
+ --primary: #4A90E2;
+ --secondary: #50E3C2;
+ --background: #F4F7F6;
+ --surface: #FFFFFF;
+ --text-color: #333333;
+ --heading-font: 'Poppins', sans-serif;
+ --body-font: 'Open Sans', sans-serif;
+ --border-radius: 0.5rem;
+}
+
+body {
+ font-family: var(--body-font);
+ background-color: var(--background);
+ color: var(--text-color);
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: var(--heading-font);
+ font-weight: 600;
+}
+
+.btn-primary {
+ background-color: var(--primary);
+ border-color: var(--primary);
+ border-radius: var(--border-radius);
+ padding: 0.75rem 1.5rem;
+ font-weight: 600;
+ transition: all 0.3s ease;
+}
+
+.btn-primary:hover {
+ background-color: #357ABD;
+ border-color: #357ABD;
+ transform: translateY(-2px);
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
+}
+
+.btn-secondary {
+ background-color: var(--secondary);
+ border-color: var(--secondary);
+ color: #fff;
+ border-radius: var(--border-radius);
+ padding: 0.75rem 1.5rem;
+ font-weight: 600;
+ transition: all 0.3s ease;
+}
+
+.btn-secondary:hover {
+ background-color: #45C4A7;
+ border-color: #45C4A7;
+ transform: translateY(-2px);
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
+}
+
+.navbar {
+ background-color: var(--surface);
+ box-shadow: 0 2px 4px rgba(0,0,0,0.05);
+}
+
+.hero {
+ background: linear-gradient(135deg, rgba(74, 144, 226, 0.9), rgba(80, 227, 194, 0.9)), url('https://picsum.photos/seed/hero/1600/900');
+ background-size: cover;
+ background-position: center;
+ color: white;
+ padding: 8rem 0;
+ text-align: center;
+}
+
+.hero h1 {
+ font-size: 3.5rem;
+ font-weight: 700;
+}
+
+.section {
+ padding: 5rem 0;
+}
+
+.card {
+ border: none;
+ border-radius: var(--border-radius);
+ box-shadow: 0 4px 12px rgba(0,0,0,0.08);
+ transition: all 0.3s ease;
+}
+
+.card:hover {
+ transform: translateY(-5px);
+ box-shadow: 0 8px 16px rgba(0,0,0,0.1);
+}
+
+.service-icon {
+ width: 64px;
+ height: 64px;
+ color: var(--primary);
+}
+
+.form-control {
+ border-radius: var(--border-radius);
+}
+
+.form-control:focus {
+ border-color: var(--primary);
+ box-shadow: 0 0 0 0.25rem rgba(74, 144, 226, 0.25);
+}
+
+.footer {
+ background-color: var(--surface);
+ padding: 2rem 0;
+ border-top: 1px solid #e9ecef;
+}
+
+.toast-container {
+ position: fixed;
+ top: 20px;
+ right: 20px;
+ z-index: 1055;
+}
\ No newline at end of file
diff --git a/assets/js/main.js b/assets/js/main.js
new file mode 100644
index 0000000..dd9e2ae
--- /dev/null
+++ b/assets/js/main.js
@@ -0,0 +1,54 @@
+document.addEventListener('DOMContentLoaded', function () {
+ const urlParams = new URLSearchParams(window.location.search);
+ const status = urlParams.get('status');
+
+ if (status) {
+ let message = '';
+ let type = 'success';
+ let title = 'Success!';
+
+ if (status === 'success') {
+ message = 'Your message has been sent successfully. We will get back to you shortly.';
+ } else if (status === 'error') {
+ message = 'There was an error sending your message. Please try again.';
+ type = 'danger';
+ title = 'Error!';
+ } else if (status === 'validation_error') {
+ message = 'Please fill out all fields correctly.';
+ type = 'warning';
+ title = 'Validation Error';
+ }
+
+ if (message) {
+ showToast(title, message, type);
+ // Clean the URL
+ window.history.replaceState({}, document.title, window.location.pathname);
+ }
+ }
+});
+
+function showToast(title, message, type = 'success') {
+ const toastContainer = document.getElementById('toast-container');
+ if (!toastContainer) return;
+
+ const toastId = 'toast-' + Date.now();
+ const toastHTML = `
+
+ `;
+
+ toastContainer.insertAdjacentHTML('beforeend', toastHTML);
+ const toastElement = document.getElementById(toastId);
+ const toast = new bootstrap.Toast(toastElement, { delay: 5000 });
+ toast.show();
+ toastElement.addEventListener('hidden.bs.toast', () => {
+ toastElement.remove();
+ });
+}
\ No newline at end of file
diff --git a/contact.php b/contact.php
new file mode 100644
index 0000000..fe40c41
--- /dev/null
+++ b/contact.php
@@ -0,0 +1,64 @@
+exec("CREATE TABLE IF NOT EXISTS contact_submissions (
+ id INT AUTO_INCREMENT PRIMARY KEY,
+ name VARCHAR(255) NOT NULL,
+ email VARCHAR(255) NOT NULL,
+ message TEXT NOT NULL,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+ )");
+
+ // Insert the new submission
+ $stmt = $pdo->prepare("INSERT INTO contact_submissions (name, email, message) VALUES (?, ?, ?)");
+ $stmt->execute([$name, $email, $message]);
+
+ // --- Email Notification ---
+ // The recipient email address. If null, MailService will use MAIL_TO from .env
+ $recipient = null;
+ $subject = "New Contact Form Submission from " . htmlspecialchars($name);
+
+ $mailResult = MailService::sendContactMessage($name, $email, $message, $recipient, $subject);
+
+ if (!empty($mailResult['success'])) {
+ header('Location: index.php?status=success#contact');
+ } else {
+ // Log error if you have a logging system
+ // error_log("Mail sending failed: " . $mailResult['error']);
+ header('Location: index.php?status=error#contact');
+ }
+
+} catch (PDOException $e) {
+ // Log database error
+ // error_log("Database error: " . $e->getMessage());
+ header('Location: index.php?status=error#contact');
+ exit;
+} catch (Exception $e) {
+ // Log other errors (e.g., mailer)
+ // error_log("General error: " . $e->getMessage());
+ header('Location: index.php?status=error#contact');
+ exit;
+}
diff --git a/index.php b/index.php
index 6f7ffab..d579de1 100644
--- a/index.php
+++ b/index.php
@@ -1,131 +1,160 @@
-
-
+
-
-
- New Style
-
-
-
-
+
+
+ Creative Agency - Driving Growth Through Digital Experiences
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
Analyzing your requirements and generating your website…
-
- Loading…
-
-
= ($_SERVER['HTTP_HOST'] ?? '') === 'appwizzy.com' ? 'AppWiZZy' : 'Flatlogic' ?> AI is collecting your requirements and applying the first changes.
-
This page will update automatically as the plan is implemented.
-
Runtime: PHP = htmlspecialchars($phpVersion) ?> — UTC = htmlspecialchars($now) ?>
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
Digital Experiences That Drive Growth
+
We are a creative agency that builds beautiful, functional websites and crafts digital strategies that deliver measurable results.
+
Get a Free Quote
+
+
+
+
+
+
+
+
+
+
+
Our Services
+
We offer a complete suite of digital services.
+
+
+
+
+
+
+
+
Web Design
+
Stunning, user-centric designs that capture your brand and engage your audience. Mobile-first and responsive.
+

+
+
+
+
+
+
+
+
+
Web Development
+
Clean, scalable, and performant code. From landing pages to complex web applications, we build solutions that work.
+

+
+
+
+
+
+
+
+
+
Digital Strategy
+
Data-driven strategies to boost your online presence. SEO, content marketing, and analytics to help you grow.
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+