Files

443 lines
21 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Digital NFC Business Cards | Christ IT</title>
<meta name="description" content="Upgrade your networking with custom NFC digital business cards from Christ IT in Clarksville, TN.">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M44 4V60C44 62.2 42.2 64 40 64H32C29.8 64 28 62.2 28 60V24H18C15.8 24 14 22.2 14 20V16C14 13.8 15.8 12 18 12H44Z' fill='%23004e92'/%3E%3Crect x='8' y='36' width='12' height='24' rx='2' fill='%23374151'/%3E%3Ccircle cx='14' cy='24' r='5' fill='%23f59e0b'/%3E%3C/svg%3E" type="image/svg+xml">
<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@400;500;600&family=Oswald:wght@500;700&display=swap" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
<style>
/* --- 1. GLOBAL VARIABLES --- */
:root {
/* Light Mode */
--bg-body: #ffffff;
--bg-offset: #f3f4f6;
--bg-highlight: #eef2ff;
--bg-card: #ffffff;
--bg-nav: rgba(255, 255, 255, 0.95);
--text-dark: #1f2937;
--text-body: #4b5563;
--text-light: #9ca3af;
--primary: #0056b3;
--primary-dark: #003d6b;
--accent: #e67e22;
--border: #e5e7eb;
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--logo-text: #1f2937;
}
/* Dark Mode */
[data-theme="dark"] {
--bg-body: #0f172a;
--bg-offset: #1e293b;
--bg-highlight: #172554;
--bg-card: #1e293b;
--bg-nav: rgba(15, 23, 42, 0.95);
--text-dark: #f8fafc;
--text-body: #cbd5e1;
--text-light: #94a3b8;
--primary: #3b82f6;
--primary-dark: #60a5fa;
--border: #334155;
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.5);
--logo-text: #ffffff;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
background-color: var(--bg-body);
color: var(--text-body);
font-family: 'Inter', sans-serif;
line-height: 1.6;
overflow-x: hidden;
transition: background-color 0.3s, color 0.3s;
}
h1, h2, h3, h4 {
font-family: 'Oswald', sans-serif;
text-transform: uppercase;
color: var(--text-dark);
line-height: 1.2;
}
a { text-decoration: none; color: inherit; transition: 0.2s; }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; position: relative; }
/* --- BUTTONS --- */
.text-primary { color: var(--primary); }
.text-accent { color: var(--accent); }
.btn {
display: inline-flex; align-items: center; gap: 10px; justify-content: center;
padding: 12px 28px; font-weight: 600; font-size: 1rem;
text-transform: uppercase; letter-spacing: 0.5px;
background-color: var(--primary); color: white;
border-radius: 4px; border: 2px solid transparent;
box-shadow: var(--shadow-sm); cursor: pointer;
}
.btn:hover {
background-color: var(--primary-dark);
color: white !important; transform: translateY(-1px);
box-shadow: var(--shadow-md);
}
.btn-outline {
background-color: transparent; color: var(--text-dark);
border: 2px solid var(--border);
}
.btn-outline:hover {
background-color: var(--primary); border-color: var(--primary);
color: white !important;
}
/* --- NAVIGATION --- */
nav {
padding: 15px 0; border-bottom: 1px solid var(--border);
background: var(--bg-nav); backdrop-filter: blur(10px);
position: sticky; top: 0; z-index: 100;
transition: background-color 0.3s, border-color 0.3s;
}
.nav-inner { display: flex; justify-content: space-between; align-items: center; }
.nav-links { display: flex; gap: 20px; align-items: center; }
.nav-link { font-weight: 600; font-size: 0.95rem; color: var(--text-body); }
.nav-link:hover { color: var(--primary); }
/* Theme Switch */
.theme-switch-wrapper {
display: flex; align-items: center; gap: 10px;
font-size: 0.85rem; font-weight: 600; color: var(--text-body);
}
.theme-switch {
position: relative; width: 50px; height: 26px;
background: var(--border); border-radius: 20px;
cursor: pointer; transition: 0.3s;
}
.theme-switch::after {
content: ""; position: absolute; top: 3px; left: 3px;
width: 20px; height: 20px; background: white;
border-radius: 50%; transition: 0.3s;
box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
[data-theme="dark"] .theme-switch { background: var(--primary); }
[data-theme="dark"] .theme-switch::after { transform: translateX(24px); }
/* --- PLACEHOLDER STYLES --- */
.img-placeholder {
background-color: var(--bg-offset);
border: 2px dashed var(--text-light);
border-radius: 8px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: 40px 20px;
color: var(--text-light);
min-height: 300px;
width: 100%;
}
.img-placeholder i { font-size: 3rem; margin-bottom: 15px; color: var(--primary); opacity: 0.5; }
.img-placeholder p { font-size: 0.9rem; margin-top: 10px; max-width: 80%; }
/* --- HERO --- */
.hero { padding: 80px 0; background: linear-gradient(to bottom right, var(--bg-offset), var(--bg-body)); }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.hero-content h1 { font-size: 3.5rem; margin-bottom: 20px; line-height: 1.1; }
.hero-content p { font-size: 1.2rem; color: var(--text-body); margin-bottom: 30px; }
/* --- PROBLEM VS SOLUTION --- */
.vs-section { padding: 100px 0; }
.vs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.vs-card {
background: var(--bg-card); border: 1px solid var(--border);
border-radius: 8px; padding: 40px; box-shadow: var(--shadow-sm);
}
.vs-card.bad { border-top: 4px solid #ef4444; }
.vs-card.good { border-top: 4px solid var(--primary); transform: scale(1.02); box-shadow: var(--shadow-md); }
.vs-card h3 { font-size: 1.8rem; margin-bottom: 20px; }
/* --- HOW IT WORKS --- */
.how-section { background: var(--bg-offset); padding: 100px 0; }
.section-header { text-align: center; max-width: 700px; margin: 0 auto 60px; }
.section-header h2 { font-size: 3rem; margin-bottom: 15px; }
.step-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.step-card { text-align: center; }
.step-number {
width: 40px; height: 40px; background: var(--primary); color: white;
border-radius: 50%; display: flex; align-items: center; justify-content: center;
font-family: 'Oswald', sans-serif; font-size: 1.2rem; margin: 0 auto 20px;
}
.step-card h4 { font-size: 1.5rem; margin-bottom: 10px; }
/* --- FOOTER --- */
footer { padding: 60px 0 30px; background: #0f172a; color: #94a3b8; }
.footer-content { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 40px; }
.footer-logo { font-family: 'Oswald', sans-serif; font-size: 1.8rem; color: white; margin-bottom: 15px; display: block; }
.footer-bottom { margin-top: 50px; padding-top: 20px; border-top: 1px solid #334155; text-align: center; font-size: 0.9rem; color: #64748b; }
@media (max-width: 900px) {
.hero-grid, .vs-grid, .step-grid { grid-template-columns: 1fr; }
.hero-content { text-align: center; }
.vs-card.good { transform: scale(1); }
.nav-links { display: none; }
}
</style>
</head>
<body>
<nav>
<div class="container nav-inner">
<a href="index.html" class="logo" style="display:flex; align-items:center;">
<svg height="45" viewBox="0 0 340 80" fill="none" xmlns="http://www.w3.org/2000/svg">
<text x="0" y="62" font-family="Montserrat, sans-serif" font-weight="900" font-size="48" fill="var(--logo-text)" letter-spacing="-2">CHRIST</text>
<g transform="translate(200, 0)">
<rect x="0" y="32" width="14" height="30" rx="4" fill="var(--logo-text)"/>
<circle cx="7" cy="18" r="7" fill="#e67e22"/>
<rect x="35" y="0" width="18" height="62" rx="4" fill="#0056b3"/>
<rect x="22" y="15" width="44" height="16" rx="4" fill="#0056b3"/>
</g>
</svg>
</a>
<div style="display: flex; align-items: center; gap: 20px;">
<a href="index.html" style="font-weight: 600; font-size: 0.9rem; color: var(--text-dark);">Back to Home</a>
<div class="theme-switch-wrapper">
<span>Dark Mode</span>
<div class="theme-switch" id="theme-toggle"></div>
</div>
</div>
</div>
</nav>
<header class="hero">
<div class="container hero-grid">
<div class="hero-content">
<h1>The Business Card Is <span class="text-primary">Dead.</span></h1>
<p>
Stop handing out paper cards that end up in the trash. Upgrade to a premium custom NFC card. Just tap it to a client's smartphone, and your contact info and website instantly drop onto their screen.
</p>
<a href="#order" class="btn">Build My Card <i class="fa-solid fa-arrow-right"></i></a>
</div>
<div class="img-placeholder" style="aspect-ratio: 4/3;">
<i class="fa-solid fa-camera"></i>
<strong>HERO IMAGE PLACEHOLDER</strong>
<p>A close-up action shot. A hand holding a sleek, black plastic NFC card with a glossy logo, tapping it against the back of an iPhone. The iPhone screen should be glowing, showing a contact card dropping in.</p>
</div>
</div>
</header>
<section class="vs-section container">
<div class="section-header">
<h2>The Problem vs. <span class="text-primary">The Solution</span></h2>
</div>
<div class="vs-grid">
<div class="vs-card bad">
<h3>The Old Way</h3>
<div class="img-placeholder" style="min-height: 200px; margin-bottom: 20px; border-color: #fca5a5;">
<i class="fa-solid fa-box-open" style="color: #ef4444;"></i>
<strong>PROBLEM IMAGE</strong>
<p>A messy desk. A rubber-banded stack of outdated, bent paper business cards. Maybe someone crossing out an old phone number with a pen on one of them.</p>
</div>
<ul style="list-style: none; color: var(--text-body);">
<li style="margin-bottom:10px;"><i class="fa-solid fa-xmark" style="color:#ef4444; margin-right:10px;"></i> You have to buy 500 at a time.</li>
<li style="margin-bottom:10px;"><i class="fa-solid fa-xmark" style="color:#ef4444; margin-right:10px;"></i> If your phone number changes, they all go in the trash.</li>
<li><i class="fa-solid fa-xmark" style="color:#ef4444; margin-right:10px;"></i> Clients lose them in their truck or wallet.</li>
</ul>
</div>
<div class="vs-card good">
<h3 class="text-primary">The Smart Way</h3>
<div class="img-placeholder" style="min-height: 200px; margin-bottom: 20px; border-color: #93c5fd;">
<i class="fa-solid fa-id-card" style="color: var(--primary);"></i>
<strong>SOLUTION IMAGE</strong>
<p>A single, premium PVC card standing upright or resting on a very clean, modern surface. It looks expensive and indestructible.</p>
</div>
<ul style="list-style: none; color: var(--text-body);">
<li style="margin-bottom:10px;"><i class="fa-solid fa-check" style="color:var(--primary); margin-right:10px;"></i> You only need one physical card.</li>
<li style="margin-bottom:10px;"><i class="fa-solid fa-check" style="color:var(--primary); margin-right:10px;"></i> Update your info digitally anytime.</li>
<li><i class="fa-solid fa-check" style="color:var(--primary); margin-right:10px;"></i> Your info goes straight into their phone's address book.</li>
</ul>
</div>
</div>
</section>
<section class="how-section">
<div class="container">
<div class="section-header">
<h2>How It <span class="text-primary">Works</span></h2>
<p>No apps to download. No Bluetooth pairing. It works natively on modern Apple and Android phones.</p>
</div>
<div class="step-grid">
<div class="step-card">
<div class="img-placeholder" style="min-height: 250px; margin-bottom: 20px;">
<i class="fa-solid fa-wifi"></i>
<strong>STEP 1 IMAGE</strong>
<p>Graphic or photo illustrating the "Tap". The card hovering slightly over a phone, with stylized wireless waves connecting them.</p>
</div>
<div class="step-number">1</div>
<h4>Tap the Card</h4>
<p style="color: var(--text-body);">Tap your custom card to the back of your client's smartphone. The built-in NFC chip instantly wakes up their screen.</p>
</div>
<div class="step-card">
<div class="img-placeholder" style="min-height: 250px; margin-bottom: 20px;">
<i class="fa-solid fa-mobile-screen"></i>
<strong>STEP 2 IMAGE</strong>
<p>Mockup of a mobile phone screen showing a clean, professional "One-Page Website" hub with a photo, bio, and service links.</p>
</div>
<div class="step-number">2</div>
<h4>Profile Opens</h4>
<p style="color: var(--text-body);">Their browser automatically opens your Digital Profile, showing your headshot, bio, and important links.</p>
</div>
<div class="step-card">
<div class="img-placeholder" style="min-height: 250px; margin-bottom: 20px;">
<i class="fa-solid fa-address-book"></i>
<strong>STEP 3 IMAGE</strong>
<p>Close up mockup of an iPhone contact card being saved, highlighting the "Save to Contacts" button being pressed.</p>
</div>
<div class="step-number">3</div>
<h4>Save Contact</h4>
<p style="color: var(--text-body);">With one button press, your name, number, email, and website are permanently saved in their phone's contacts.</p>
</div>
</div>
</div>
</section>
<section id="order" class="container" style="padding: 100px 0; text-align: center;">
<h2 style="font-size: 2.5rem; margin-bottom: 20px;">Ready to Upgrade?</h2>
<p style="font-size: 1.1rem; color: var(--text-body); max-width: 600px; margin: 0 auto 40px;">
I design the card, program the chip, and handle the web hosting. You just tap it. View my pricing packages on the main page to get started.
</p>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<a href="index.html#services" class="btn btn-accent">View Consulting Services</a>
<button class="btn btn-outline secure-contact-btn" data-type="phone">Call for a Quote</button>
</div>
</section>
<footer>
<div class="container">
<div class="footer-content">
<div style="max-width: 400px;">
<a href="index.html" class="footer-logo">CHRIST IT</a>
<p>Providing secure, independent technology and digital branding solutions in Clarksville, TN.</p>
</div>
<div>
<h4 style="color: white; margin-bottom: 20px;">Contact</h4>
<p style="margin-bottom: 10px;"><i class="fa-solid fa-envelope text-accent"></i> <span id="secure-email">Click to Show Email</span></p>
<p style="margin-bottom: 10px;"><i class="fa-solid fa-phone text-accent"></i> <span id="secure-phone">Click to Show Phone</span></p>
<p style="margin-bottom: 10px;"><i class="fa-solid fa-map-pin text-accent"></i> Clarksville, TN</p>
</div>
</div>
<div class="footer-bottom">
&copy; 2026 Christ IT. All Rights Reserved.
</div>
</div>
</footer>
<script>
// --- THEME ENGINE ---
const toggleBtn = document.getElementById('theme-toggle');
const root = document.documentElement;
const currentTheme = localStorage.getItem('theme') || (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light');
if (currentTheme === 'dark') { root.setAttribute('data-theme', 'dark'); }
toggleBtn.addEventListener('click', () => {
const isDark = root.getAttribute('data-theme') === 'dark';
if (isDark) {
root.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
} else {
root.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
}
});
const contactKey = 43;
const contactValues = {
email: [65, 74, 88, 68, 69, 107, 72, 67, 89, 66, 88, 95, 66, 95, 5, 72, 68, 70],
phone: [3, 25, 28, 27, 2, 11, 19, 19, 18, 6, 19, 25, 28, 25]
};
function revealContact(type) {
const encoded = contactValues[type];
if (!encoded) {
return "";
}
return encoded.map((code) => String.fromCharCode(code ^ contactKey)).join("");
}
function buildContactLink(type) {
const value = revealContact(type);
if (!value) {
return null;
}
const link = document.createElement("a");
link.href = type === "email" ? `mailto:${value}` : `tel:${value.replace(/\D/g, "")}`;
link.rel = "nofollow";
link.textContent = value;
link.style.textDecoration = "none";
link.style.color = "inherit";
return link;
}
function revealInlineContact(el, type) {
const link = buildContactLink(type);
if (link) {
el.replaceWith(link);
}
}
const secureEmail = document.getElementById("secure-email");
const securePhone = document.getElementById("secure-phone");
if (secureEmail) {
secureEmail.addEventListener("click", () => revealInlineContact(secureEmail, "email"));
}
if (securePhone) {
securePhone.addEventListener("click", () => revealInlineContact(securePhone, "phone"));
}
document.querySelectorAll(".secure-contact-btn").forEach((btn) => {
btn.addEventListener("click", () => {
const type = btn.dataset.type;
const value = revealContact(type);
if (type === "email") {
window.location.href = `mailto:${value}`;
}
if (type === "phone") {
window.location.href = `tel:${value.replace(/\D/g, "")}`;
}
});
});
</script>
</body>
</html>