Files
clinera-site/public/index.html
T

599 lines
29 KiB
HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Clinera — Run Your GCC Clinic on WhatsApp | Free Clinic Management Software</title>
<meta name="description" content="Clinera is free clinic management software built for WhatsApp-first GCC clinics. Automate patient reminders, lead follow-ups, and appointment booking. Free forever.">
<meta property="og:title" content="Clinera — Run Your GCC Clinic on WhatsApp">
<meta property="og:description" content="The only clinic management platform built WhatsApp-first for GCC. Free forever.">
<meta property="og:type" content="website">
<meta property="og:url" content="https://clinera.quikcue.com">
<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;700;800&display=swap" rel="stylesheet">
<style>
:root {
--bg: #ffffff;
--bg-soft: #f7f8fa;
--border: #e5e7eb;
--accent: #00b8ad;
--accent-dk: #009990;
--accent-bg: #e6faf9;
--text: #0f1117;
--muted: #6b7280;
--dim: #9ca3af;
--font: 'Inter', -apple-system, sans-serif;
--max: 1120px;
--r: 14px;
--r-sm: 8px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font); background: var(--bg); color: var(--text); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
img { max-width: 100%; display: block; }
/* BUTTONS */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border-radius: var(--r-sm); font-family: var(--font); font-weight: 700; font-size: 1rem; cursor: pointer; border: none; transition: all 0.2s; text-decoration: none; white-space: nowrap; }
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-dk); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,184,173,0.3); }
.btn-ghost { background: transparent; color: var(--text); border: 1.5px solid var(--border); }
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn-white { background: #fff; color: var(--text); }
.btn-white:hover { background: #f0fffe; transform: translateY(-1px); }
/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.94); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); }
nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.logo { font-weight: 800; font-size: 1.3rem; letter-spacing: -0.02em; color: var(--text); }
.logo span { color: var(--accent); }
nav .btn { padding: 10px 20px; font-size: 0.875rem; }
/* ── HERO ── */
.hero { padding-top: 64px; position: relative; overflow: hidden; }
.hero-img { width: 100%; height: 88vh; min-height: 520px; max-height: 820px; object-fit: cover; object-position: center 20%; display: block; }
.hero-overlay {
position: absolute; inset: 0;
background: linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.75) 100%);
}
.hero-content {
position: absolute; bottom: 0; left: 0; right: 0;
padding: 60px 24px 64px;
text-align: center; color: #fff;
}
.hero-badge {
display: inline-flex; align-items: center; gap: 8px;
padding: 6px 16px; border-radius: 100px;
background: rgba(0,184,173,0.25); border: 1px solid rgba(0,184,173,0.5);
font-size: 0.78rem; font-weight: 600; color: #7ffff9;
margin-bottom: 20px; backdrop-filter: blur(4px);
}
.hero-badge::before { content: '✦'; }
.hero h1 {
font-size: clamp(2.2rem, 5.5vw, 4rem); font-weight: 800;
line-height: 1.1; letter-spacing: -0.03em;
max-width: 860px; margin: 0 auto 20px; color: #fff;
text-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.hero h1 em { font-style: normal; color: #5ffaf3; }
.hero-sub {
font-size: 1.1rem; color: rgba(255,255,255,0.82);
max-width: 540px; margin: 0 auto 36px; line-height: 1.7;
}
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-bottom: 36px; }
.trust-strip { display: flex; flex-wrap: wrap; gap: 6px 24px; justify-content: center; font-size: 0.78rem; color: rgba(255,255,255,0.55); font-weight: 500; }
.trust-strip span::before { content: '◆ '; color: var(--accent); font-size: 0.45rem; vertical-align: middle; }
/* ── STATS BAR ── */
.stats-bar { background: var(--text); padding: 40px 0; }
.stats-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,0.08); border-radius: var(--r); overflow: hidden; }
.stat-item { background: var(--text); padding: 32px 24px; text-align: center; }
.stat-num { font-size: 2.5rem; font-weight: 800; color: var(--accent); line-height: 1; }
.stat-lbl { font-size: 0.8rem; color: rgba(255,255,255,0.45); margin-top: 6px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; }
/* ── SPLIT SECTIONS ── */
.split { padding: 88px 0; }
.split-grid { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
.split-img { border-radius: var(--r); overflow: hidden; }
.split-img img { width: 100%; height: 460px; object-fit: cover; }
.split-body { max-width: 480px; }
.split-body .eyebrow { font-size: 0.75rem; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 12px; }
.split-body h2 { font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; margin-bottom: 16px; }
.split-body p { color: var(--muted); line-height: 1.75; margin-bottom: 24px; }
.split-body ul { list-style: none; display: grid; gap: 10px; margin-bottom: 32px; }
.split-body ul li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.92rem; color: var(--text); }
.split-body ul li::before { content: '✓'; color: var(--accent); font-weight: 800; margin-top: 1px; flex-shrink: 0; }
.split.alt { background: var(--bg-soft); }
/* ── SLIDER ── */
.slider-section { padding: 72px 0; overflow: hidden; background: var(--bg-soft); }
.slider-header { text-align: center; margin-bottom: 40px; }
.slider-header h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 8px; }
.slider-header p { color: var(--muted); }
.slider-track-wrap { position: relative; }
.slider-track {
display: flex; gap: 20px;
overflow-x: auto; scroll-snap-type: x mandatory;
scrollbar-width: none; padding: 8px 24px 16px;
-webkit-overflow-scrolling: touch;
}
.slider-track::-webkit-scrollbar { display: none; }
.slide {
flex: 0 0 320px; scroll-snap-align: start;
border-radius: var(--r); overflow: hidden;
position: relative; box-shadow: 0 4px 24px rgba(0,0,0,0.1);
}
.slide img { width: 100%; height: 400px; object-fit: cover; display: block; }
.slide-caption {
position: absolute; bottom: 0; left: 0; right: 0;
padding: 36px 20px 20px;
background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%);
color: #fff; font-size: 0.85rem; font-weight: 600;
}
.slider-controls { display: flex; gap: 12px; justify-content: center; margin-top: 24px; }
.slider-btn {
width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--border);
background: #fff; cursor: pointer; font-size: 1.1rem;
display: flex; align-items: center; justify-content: center;
transition: all 0.2s;
}
.slider-btn:hover { border-color: var(--accent); color: var(--accent); }
.slider-dots { display: flex; gap: 6px; align-items: center; }
.slider-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border); cursor: pointer; transition: all 0.2s; }
.slider-dot.active { background: var(--accent); width: 22px; border-radius: 4px; }
/* ── FEATURES ── */
.features { padding: 88px 0; }
.section-hd { text-align: center; max-width: 600px; margin: 0 auto 52px; }
.section-hd h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 10px; }
.section-hd p { color: var(--muted); }
.feat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.feat-card { background: var(--bg); border: 1px solid var(--border); border-radius: var(--r); padding: 32px; transition: all 0.2s; box-shadow: 0 1px 4px rgba(0,0,0,0.04); opacity: 0; transform: translateY(16px); }
.feat-card.visible { opacity: 1; transform: translateY(0); transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.2s, box-shadow 0.2s; }
.feat-card:hover { border-color: var(--accent); box-shadow: 0 6px 24px rgba(0,184,173,0.1); }
.feat-icon { width: 48px; height: 48px; border-radius: 12px; background: var(--accent-bg); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; margin-bottom: 16px; }
.feat-card h3 { font-weight: 700; margin-bottom: 8px; }
.feat-card p { font-size: 0.9rem; color: var(--muted); line-height: 1.65; }
.feat-card.hl { border-color: var(--accent); background: linear-gradient(135deg, var(--accent-bg) 0%, #fff 100%); }
/* ── FREE BLOCK ── */
.free-section { padding: 88px 0; background: var(--bg-soft); }
.free-block {
background: var(--text); border-radius: var(--r);
padding: 64px 48px; text-align: center;
max-width: 760px; margin: 0 auto;
position: relative; overflow: hidden;
}
.free-block::before {
content: ''; position: absolute; top: -120px; right: -120px;
width: 360px; height: 360px; border-radius: 50%;
background: radial-gradient(circle, rgba(0,184,173,0.15) 0%, transparent 70%);
}
.free-block h2 { font-size: clamp(1.8rem, 3.5vw, 2.4rem); font-weight: 800; color: #fff; letter-spacing: -0.03em; margin-bottom: 10px; }
.free-block h2 em { font-style: normal; color: var(--accent); }
.free-sub { color: rgba(255,255,255,0.55); margin-bottom: 40px; font-size: 1.05rem; line-height: 1.7; }
.checklist { list-style: none; text-align: left; max-width: 400px; margin: 0 auto 40px; display: grid; gap: 12px; }
.checklist li { display: flex; align-items: center; gap: 12px; font-size: 0.95rem; font-weight: 500; color: rgba(255,255,255,0.85); }
.checklist li::before { content: '✓'; color: var(--accent); font-weight: 800; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,184,173,0.15); display: flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0; }
/* ── TESTIMONIALS SLIDER ── */
.testi-section { padding: 88px 0; }
.testi-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 8px 24px 16px; -webkit-overflow-scrolling: touch; }
.testi-track::-webkit-scrollbar { display: none; }
.testi-card {
flex: 0 0 min(480px, 85vw); scroll-snap-align: start;
background: var(--bg); border: 1px solid var(--border);
border-radius: var(--r); padding: 36px;
border-top: 3px solid var(--accent);
box-shadow: 0 2px 16px rgba(0,0,0,0.05);
}
.testi-card blockquote { font-size: 1.05rem; line-height: 1.75; color: var(--text); font-style: italic; margin-bottom: 24px; }
.testi-author { display: flex; align-items: center; gap: 12px; }
.testi-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--accent-bg); }
.testi-avatar-init { width: 48px; height: 48px; border-radius: 50%; background: var(--accent-bg); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--accent); font-size: 1rem; flex-shrink: 0; }
.testi-name { font-weight: 700; font-size: 0.95rem; }
.testi-role { font-size: 0.8rem; color: var(--muted); }
/* ── FOOTER CTA ── */
.footer-cta { padding: 100px 0; background: linear-gradient(135deg, #0a1628 0%, #0f2040 100%); }
.footer-cta-inner { text-align: center; max-width: 600px; margin: 0 auto; }
.footer-cta h2 { font-size: clamp(1.6rem, 3.5vw, 2.5rem); font-weight: 800; color: #fff; letter-spacing: -0.03em; margin-bottom: 14px; line-height: 1.2; }
.footer-cta h2 em { font-style: normal; color: var(--accent); }
.footer-cta > .footer-cta-inner > p { color: rgba(255,255,255,0.55); margin-bottom: 40px; font-size: 1.05rem; }
.email-form { display: flex; gap: 10px; max-width: 460px; margin: 0 auto 20px; }
.email-form input { flex: 1; padding: 14px 16px; border-radius: var(--r-sm); border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.07); color: #fff; font-family: var(--font); font-size: 0.95rem; }
.email-form input::placeholder { color: rgba(255,255,255,0.3); }
.email-form input:focus { outline: none; border-color: var(--accent); }
.footer-note { font-size: 0.8rem; color: rgba(255,255,255,0.3); }
/* FOOTER */
footer { padding: 28px 0; background: #070f1e; text-align: center; }
footer p { font-size: 0.8rem; color: rgba(255,255,255,0.25); }
/* FADE-IN */
.fade { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade.visible { opacity: 1; transform: translateY(0); }
/* RESPONSIVE */
@media (min-width: 768px) {
.split-grid { grid-template-columns: 1fr 1fr; }
.split.flip .split-img { order: 2; }
.split.flip .split-body { order: 1; }
.slide { flex: 0 0 380px; }
}
@media (max-width: 600px) {
.stats-row { grid-template-columns: 1fr; }
.email-form { flex-direction: column; }
.hero-ctas .btn { width: 100%; justify-content: center; }
.free-block { padding: 40px 24px; }
.slide { flex: 0 0 80vw; }
}
</style>
</head>
<body>
<!-- NAV -->
<nav>
<div class="wrap">
<div class="logo">Clinera<span>.</span></div>
<a href="#start" class="btn btn-primary">Start Free →</a>
</div>
</nav>
<!-- ── HERO ── -->
<section class="hero">
<img class="hero-img" src="img/hero-human.jpg" alt="Clinic owner running her practice with confidence">
<div class="hero-overlay"></div>
<div class="hero-content">
<div class="hero-badge">Free Forever — No Credit Card</div>
<h1>Run Your GCC Clinic on <em>WhatsApp</em><br>Reminders, Leads &amp; Follow-Ups, Automated.</h1>
<p class="hero-sub">Every other clinic software sends reminders. Clinera sends WhatsApp reminders — the ones your patients actually open.</p>
<div class="hero-ctas">
<a href="#start" class="btn btn-primary">Start Free — No Credit Card</a>
<a href="#features" class="btn btn-white">See How It Works ↓</a>
</div>
<div class="trust-strip">
<span>🇦🇪 Dubai</span><span>Abu Dhabi</span><span>🇸🇦 Riyadh</span><span>Jeddah</span>
</div>
</div>
</section>
<!-- ── STATS BAR ── -->
<section class="stats-bar">
<div class="wrap">
<div class="stats-row">
<div class="stat-item fade">
<div class="stat-num">40%</div>
<div class="stat-lbl">Average no-show rate without reminders</div>
</div>
<div class="stat-item fade">
<div class="stat-num">98%</div>
<div class="stat-lbl">WhatsApp open rate vs 15% for email</div>
</div>
<div class="stat-item fade">
<div class="stat-num">2hrs</div>
<div class="stat-lbl">Daily manual follow-up time saved</div>
</div>
</div>
</div>
</section>
<!-- ── SPLIT 1 — receptionist ── -->
<section class="split">
<div class="wrap">
<div class="split-grid">
<div class="split-img fade">
<img src="img/receptionist-human.jpg" alt="Calm, unhurried clinic receptionist">
</div>
<div class="split-body fade">
<div class="eyebrow">The Problem</div>
<h2>Your Team Is Drowning in Manual Follow-Ups</h2>
<p>GCC clinic staff spend hours every day doing things software should do — calling to confirm appointments, chasing leads on WhatsApp, reminding patients about follow-ups. It burns out your best people.</p>
<ul>
<li>2+ hours daily on manual WhatsApp reminders</li>
<li>Leads going cold while the team is with patients</li>
<li>No-shows that could've been prevented with one message</li>
<li>Patient records scattered across phones and notebooks</li>
</ul>
<a href="#features" class="btn btn-primary">See the Fix →</a>
</div>
</div>
</div>
</section>
<!-- ── SPLIT 2 — doctor consult ── -->
<section class="split alt flip">
<div class="wrap">
<div class="split-grid">
<div class="split-body fade">
<div class="eyebrow">The Solution</div>
<h2>Give Your Team Time Back for What Matters</h2>
<p>When Clinera handles the reminders, follow-ups, and rebooking — your staff can focus entirely on patient care. Less admin. Fewer no-shows. More of the work that actually matters.</p>
<ul>
<li>Automatic WhatsApp reminders 24h and 2h before appointments</li>
<li>Instant follow-up to every new lead — no delays</li>
<li>Rebooking nudges sent automatically after each visit</li>
<li>All patient history in one screen, ready before they arrive</li>
</ul>
<a href="#start" class="btn btn-primary">Start Free Today →</a>
</div>
<div class="split-img fade">
<img src="img/doctor-consult.jpg" alt="Doctor giving full attention to patient">
</div>
</div>
</div>
</section>
<!-- ── PHOTO SLIDER ── -->
<section class="slider-section" id="features">
<div class="wrap">
<div class="slider-header fade">
<h2>What Running a Great Clinic Looks Like</h2>
<p>When the admin is handled, your clinic becomes what it was always meant to be.</p>
</div>
</div>
<div class="slider-track-wrap">
<div class="slider-track" id="photoSlider">
<div class="slide">
<img src="img/patient-confident.jpg" alt="Patient leaving clinic confident and happy">
<div class="slide-caption">Patients who leave happy come back — and refer friends.</div>
</div>
<div class="slide">
<img src="img/clinic-team.jpg" alt="Clinic team relaxed and well-organised">
<div class="slide-caption">A calm team is a productive team.</div>
</div>
<div class="slide">
<img src="img/mobile-whatsapp.jpg" alt="Patient receiving WhatsApp reminder on phone">
<div class="slide-caption">The reminder they actually see — on the app they're already using.</div>
</div>
<div class="slide">
<img src="img/receptionist-human.jpg" alt="Receptionist smiling and unhurried">
<div class="slide-caption">No missed calls. No stressed front desk. Just care.</div>
</div>
<div class="slide">
<img src="img/doctor-consult.jpg" alt="Doctor in undivided consultation">
<div class="slide-caption">Full attention. Every appointment.</div>
</div>
</div>
</div>
<div class="wrap">
<div class="slider-controls">
<button class="slider-btn" id="photoPrev"></button>
<div class="slider-dots" id="photoDots"></div>
<button class="slider-btn" id="photoNext"></button>
</div>
</div>
</section>
<!-- ── FEATURES GRID ── -->
<section class="features">
<div class="wrap">
<div class="section-hd fade">
<h2>Everything Your Clinic Needs. Nothing It Doesn't.</h2>
<p>Purpose-built for GCC medical and aesthetic clinics. WhatsApp-native from day one.</p>
</div>
<div class="feat-grid">
<div class="feat-card">
<div class="feat-icon">💬</div>
<h3>WhatsApp Reminders</h3>
<p>Automated appointment reminders through WhatsApp — the channel your patients actually check. Reduce no-shows without lifting a finger.</p>
</div>
<div class="feat-card">
<div class="feat-icon">🎯</div>
<h3>Lead Follow-Up</h3>
<p>Every new inquiry gets an instant, personalised WhatsApp follow-up. No lead slips through while your team is with patients.</p>
</div>
<div class="feat-card">
<div class="feat-icon">📅</div>
<h3>Appointment Booking</h3>
<p>Patients book directly through WhatsApp. No app downloads, no portals, no friction — just a message and a confirmed slot.</p>
</div>
<div class="feat-card">
<div class="feat-icon">📋</div>
<h3>Patient History</h3>
<p>Complete records, notes, and treatment history in one place. Your team always has context before the patient walks in.</p>
</div>
<div class="feat-card">
<div class="feat-icon">👥</div>
<h3>Staff Management</h3>
<p>Schedules, permissions, and workload for your whole team — without the spreadsheet.</p>
</div>
<div class="feat-card hl">
<div class="feat-icon">🆓</div>
<h3>Free Forever</h3>
<p>Not a trial. Not a teaser. Full access to every feature, forever. We make money when you grow — not from subscriptions.</p>
</div>
</div>
</div>
</section>
<!-- ── SPLIT 3 — patient confident ── -->
<section class="split alt">
<div class="wrap">
<div class="split-grid">
<div class="split-img fade">
<img src="img/patient-confident.jpg" alt="Happy patient leaving the clinic">
</div>
<div class="split-body fade">
<div class="eyebrow">The Outcome</div>
<h2>Patients Who Feel Cared For Come Back</h2>
<p>A well-timed WhatsApp reminder isn't just logistics — it's the difference between a patient who feels forgotten and one who feels valued. Clinera makes every patient feel like your most important one.</p>
<ul>
<li>Automatic rebooking nudges after every visit</li>
<li>Personalised follow-up messages with the patient's name</li>
<li>Treatment reminders that build long-term loyalty</li>
<li>Higher retention without any extra effort from your team</li>
</ul>
<a href="#start" class="btn btn-primary">Start Free →</a>
</div>
</div>
</div>
</section>
<!-- ── FREE FOREVER ── -->
<section class="free-section">
<div class="wrap">
<div class="free-block fade">
<h2><em>Free.</em> Not a trial. Not freemium. Free.</h2>
<p class="free-sub">Every feature. Every patient. No credit card. No expiry date.<br>We make money helping clinics grow — not from subscriptions.</p>
<ul class="checklist">
<li>Unlimited patients</li>
<li>Unlimited appointments</li>
<li>WhatsApp reminders &amp; follow-ups</li>
<li>Lead tracking &amp; nurture</li>
<li>Patient history &amp; records</li>
<li>Staff scheduling &amp; permissions</li>
<li>Multi-location support</li>
<li>No credit card required — ever</li>
</ul>
<a href="#start" class="btn btn-primary" style="font-size:1.05rem; padding:16px 36px;">Get Your Free Clinic Account →</a>
</div>
</div>
</section>
<!-- ── TESTIMONIALS SLIDER ── -->
<section class="testi-section">
<div class="wrap">
<div class="section-hd fade">
<h2>What GCC Clinics Are Saying</h2>
<p>Real results from clinics that made the switch.</p>
</div>
</div>
<div class="testi-track" id="testiSlider">
<div class="testi-card">
<blockquote>"We were spending two hours a day just sending appointment reminders on WhatsApp. Clinera automated the whole thing in a single afternoon. Our no-show rate dropped by half within the first month."</blockquote>
<div class="testi-author">
<div class="testi-avatar-init">SK</div>
<div>
<div class="testi-name">Dr. Sarah K.</div>
<div class="testi-role">Practice Manager · Dental Clinic, Dubai</div>
</div>
</div>
</div>
<div class="testi-card">
<blockquote>"Before Clinera, our receptionist was spending her mornings calling patients to confirm. Now those calls just don't happen — the system handles it, and she focuses on the patients in front of her."</blockquote>
<div class="testi-author">
<div class="testi-avatar-init">MA</div>
<div>
<div class="testi-name">Dr. Mohammed A.</div>
<div class="testi-role">Clinic Director · Aesthetic Centre, Riyadh</div>
</div>
</div>
</div>
<div class="testi-card">
<blockquote>"The WhatsApp integration is what sold me. My patients are already on WhatsApp all day — getting a reminder there feels natural, not clinical. Response rates went through the roof."</blockquote>
<div class="testi-author">
<div class="testi-avatar-init">LN</div>
<div>
<div class="testi-name">Layla N.</div>
<div class="testi-role">Operations Manager · Women's Wellness Clinic, Abu Dhabi</div>
</div>
</div>
</div>
<div class="testi-card">
<blockquote>"I was sceptical about 'free forever' — I kept waiting for the catch. Six months in, there is no catch. Everything works, support is fast, and we haven't paid a dirham."</blockquote>
<div class="testi-author">
<div class="testi-avatar-init">RT</div>
<div>
<div class="testi-name">Rania T.</div>
<div class="testi-role">Owner · Dermatology &amp; Skin Clinic, Jeddah</div>
</div>
</div>
</div>
</div>
<div class="wrap">
<div class="slider-controls" style="margin-top:24px;">
<button class="slider-btn" id="testiPrev"></button>
<div class="slider-dots" id="testiDots"></div>
<button class="slider-btn" id="testiNext"></button>
</div>
</div>
</section>
<!-- ── FOOTER CTA ── -->
<section class="footer-cta" id="start">
<div class="wrap">
<div class="footer-cta-inner">
<h2>Your Patients Are on <em>WhatsApp</em>.<br>Your Clinic Should Be Too.</h2>
<p>Join GCC clinics already using Clinera to automate patient engagement — completely free.</p>
<form class="email-form" action="#" method="POST">
<input type="email" name="email" placeholder="Your work email" required aria-label="Email">
<button type="submit" class="btn btn-primary">Start Free Today →</button>
</form>
<p class="footer-note">Free forever. No credit card. Setup in under 10 minutes.</p>
</div>
</div>
</section>
<footer>
<div class="wrap">
<p>© 2026 Clinera · Clinic Management Built for WhatsApp-First GCC</p>
</div>
</footer>
<script>
// ── Fade-in on scroll ──
const io = new IntersectionObserver(entries => {
entries.forEach((e, i) => {
if (e.isIntersecting) {
const d = +e.target.dataset.delay || 0;
setTimeout(() => e.target.classList.add('visible'), d);
io.unobserve(e.target);
}
});
}, { threshold: 0.12 });
document.querySelectorAll('.fade, .feat-card, .stat-item').forEach((el, i) => {
el.dataset.delay = (i % 4) * 80;
io.observe(el);
});
// ── Generic slider factory ──
function initSlider(trackId, prevId, nextId, dotsId) {
const track = document.getElementById(trackId);
const prev = document.getElementById(prevId);
const next = document.getElementById(nextId);
const dotsEl= document.getElementById(dotsId);
if (!track) return;
const slides = track.children;
const count = slides.length;
let current = 0;
// Build dots
for (let i = 0; i < count; i++) {
const d = document.createElement('div');
d.className = 'slider-dot' + (i === 0 ? ' active' : '');
d.addEventListener('click', () => scrollTo(i));
dotsEl.appendChild(d);
}
function getSlideWidth() {
return slides[0].offsetWidth + 20; // gap
}
function scrollTo(idx) {
current = Math.max(0, Math.min(idx, count - 1));
track.scrollTo({ left: current * getSlideWidth(), behavior: 'smooth' });
dotsEl.querySelectorAll('.slider-dot').forEach((d, i) => d.classList.toggle('active', i === current));
}
prev.addEventListener('click', () => scrollTo(current - 1));
next.addEventListener('click', () => scrollTo(current + 1));
// Sync dots on manual scroll
track.addEventListener('scroll', () => {
const idx = Math.round(track.scrollLeft / getSlideWidth());
if (idx !== current) {
current = idx;
dotsEl.querySelectorAll('.slider-dot').forEach((d, i) => d.classList.toggle('active', i === current));
}
}, { passive: true });
}
initSlider('photoSlider', 'photoPrev', 'photoNext', 'photoDots');
initSlider('testiSlider', 'testiPrev', 'testiNext', 'testiDots');
</script>
</body>
</html>