<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Modeone Technologies – Powering the Future of Connectivity</title>
<link href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap" rel="stylesheet">
<style>
:root {
--navy: #050d1f;
--navy2: #0a1932;
--electric: #00c6ff;
--cyan: #0ff0d3;
--gold: #f0b429;
--white: #f4f7ff;
--muted: #8a9bbf;
--card: rgba(255,255,255,0.04);
--border: rgba(0,198,255,0.15);
--radius: 12px;
--transition: 0.35s cubic-bezier(0.4,0,0.2,1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: 'DM Sans', sans-serif;
background: var(--navy);
color: var(--white);
overflow-x: hidden;
min-height: 100vh;
}
h1,h2,h3,h4,h5 { font-family: 'Syne', sans-serif; }
/* ===== NOISE OVERLAY ===== */
body::before {
content:''; position:fixed; inset:0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
pointer-events:none; z-index:9999; opacity:0.4;
}
/* ===== NAV ===== */
nav {
position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
display: flex; align-items: center; justify-content: space-between;
padding: 0 5vw; height: 70px;
background: rgba(5,13,31,0.85);
backdrop-filter: blur(20px);
border-bottom: 1px solid var(--border);
transition: var(--transition);
}
.logo {
display: flex; align-items: center; gap: 10px; text-decoration: none;
}
.logo-mark {
width: 38px; height: 38px;
background: linear-gradient(135deg, var(--electric), var(--cyan));
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-family: 'Syne', sans-serif; font-weight: 800; font-size: 16px;
color: var(--navy);
}
.logo-text { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 1.15rem; color: var(--white); }
.logo-text span { color: var(--electric); }
.nav-links { display: flex; gap: 6px; align-items: center; }
.nav-links a {
font-size: 0.85rem; font-weight: 500; color: var(--muted);
text-decoration: none; padding: 8px 14px; border-radius: 8px;
transition: var(--transition); letter-spacing: 0.02em;
}
.nav-links a:hover, .nav-links a.active { color: var(--white); background: var(--card); }
.nav-cta {
background: linear-gradient(135deg, var(--electric), var(--cyan)) !important;
color: var(--navy) !important; font-weight: 700 !important;
padding: 9px 20px !important;
}
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 8px; }
.hamburger span { width: 22px; height: 2px; background: var(--white); border-radius: 2px; transition: var(--transition); }
/* ===== PAGES ===== */
.page { display: none; padding-top: 70px; min-height: 100vh; }
.page.active { display: block; }
/* ===== HERO ===== */
.hero {
position: relative; min-height: calc(100vh - 70px);
display: flex; align-items: center;
padding: 80px 5vw 60px;
overflow: hidden;
}
.hero-bg {
position: absolute; inset: 0; z-index: 0;
background:
radial-gradient(ellipse 70% 60% at 70% 40%, rgba(0,198,255,0.08) 0%, transparent 70%),
radial-gradient(ellipse 50% 50% at 20% 80%, rgba(15,240,211,0.05) 0%, transparent 60%),
linear-gradient(180deg, var(--navy) 0%, var(--navy2) 100%);
}
.hero-grid {
position: absolute; inset: 0; z-index: 0;
background-image:
linear-gradient(rgba(0,198,255,0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,198,255,0.04) 1px, transparent 1px);
background-size: 60px 60px;
mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 100%);
}
.hero-content { position: relative; z-index: 1; max-width: 680px; }
.hero-badge {
display: inline-flex; align-items: center; gap: 8px;
background: rgba(0,198,255,0.08); border: 1px solid var(--border);
border-radius: 100px; padding: 6px 16px; margin-bottom: 32px;
font-size: 0.78rem; font-weight: 500; color: var(--electric); letter-spacing: 0.1em; text-transform: uppercase;
}
.hero-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--electric); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1; transform:scale(1)} 50%{opacity:0.5; transform:scale(1.5)} }
.hero h1 {
font-size: clamp(2.8rem, 6vw, 4.5rem);
font-weight: 800; line-height: 1.08;
margin-bottom: 24px; letter-spacing: -0.02em;
}
.hero h1 .grad {
background: linear-gradient(135deg, var(--electric) 0%, var(--cyan) 100%);
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.hero p {
font-size: 1.1rem; line-height: 1.75; color: var(--muted);
margin-bottom: 40px; max-width: 540px;
}
.hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.btn-primary {
padding: 14px 32px; border-radius: 10px;
background: linear-gradient(135deg, var(--electric), var(--cyan));
color: var(--navy); font-weight: 700; font-size: 0.9rem;
border: none; cursor: pointer; font-family: 'Syne', sans-serif;
transition: var(--transition); letter-spacing: 0.02em;
text-decoration: none; display: inline-block;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 32px rgba(0,198,255,0.35); }
.btn-outline {
padding: 14px 32px; border-radius: 10px;
background: transparent; border: 1px solid var(--border);
color: var(--white); font-weight: 500; font-size: 0.9rem;
cursor: pointer; font-family: 'DM Sans', sans-serif;
transition: var(--transition);
text-decoration: none; display: inline-block;
}
.btn-outline:hover { background: var(--card); border-color: var(--electric); }
.hero-stats {
position: absolute; right: 5vw; top: 50%; transform: translateY(-50%);
display: flex; flex-direction: column; gap: 24px; z-index: 1;
}
.stat-card {
background: var(--card); border: 1px solid var(--border);
border-radius: var(--radius); padding: 22px 28px;
text-align: center; backdrop-filter: blur(10px);
min-width: 140px;
}
.stat-card .num {
font-family: 'Syne', sans-serif; font-weight: 800;
font-size: 2rem; color: var(--electric); display: block;
}
.stat-card .label { font-size: 0.78rem; color: var(--muted); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.08em; }
.scroll-hint {
position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
display: flex; flex-direction: column; align-items: center; gap: 8px;
color: var(--muted); font-size: 0.75rem; z-index: 1;
animation: bounce 2s infinite;
}
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(6px)} }
.scroll-hint svg { opacity: 0.5; }
/* ===== SECTION SHARED ===== */
section { padding: 100px 5vw; }
.section-label {
font-size: 0.75rem; font-weight: 600; letter-spacing: 0.15em;
text-transform: uppercase; color: var(--electric);
margin-bottom: 14px; display: flex; align-items: center; gap: 10px;
}
.section-label::before { content:''; width:28px; height:2px; background:var(--electric); }
.section-title {
font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 800;
margin-bottom: 16px; letter-spacing: -0.02em; line-height: 1.15;
}
.section-sub { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 560px; margin-bottom: 60px; }
.divider { width: 100%; height: 1px; background: var(--border); margin: 0; }
/* ===== SERVICES ===== */
.services-grid {
display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 24px; margin-top: 20px;
}
.service-card {
background: var(--card); border: 1px solid var(--border);
border-radius: 16px; padding: 36px 32px;
transition: var(--transition); cursor: pointer; position: relative; overflow: hidden;
}
.service-card::before {
content:''; position:absolute; inset:0;
background: linear-gradient(135deg, rgba(0,198,255,0.06) 0%, transparent 60%);
opacity:0; transition: var(--transition);
}
.service-card:hover { transform: translateY(-4px); border-color: rgba(0,198,255,0.4); }
.service-card:hover::before { opacity:1; }
.service-icon {
width: 52px; height: 52px; border-radius: 12px;
background: linear-gradient(135deg, rgba(0,198,255,0.15), rgba(15,240,211,0.1));
border: 1px solid var(--border);
display: flex; align-items: center; justify-content: center;
font-size: 1.4rem; margin-bottom: 22px;
}
.service-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 10px; }
.service-card p { color: var(--muted); font-size: 0.9rem; line-height: 1.7; }
.service-card .tag {
display: inline-block; margin-top: 18px;
background: rgba(0,198,255,0.08); border: 1px solid var(--border);
border-radius: 100px; padding: 4px 12px;
font-size: 0.72rem; color: var(--electric); letter-spacing: 0.05em;
}
.service-img {
width: 100%; height: 220px; object-fit: cover;
border-radius: 10px; margin-bottom: 20px;
background: linear-gradient(135deg, #0a1932, #0d2044);
display: flex; align-items: center; justify-content: center;
overflow: hidden;
}
.service-img img { width:100%; height:100%; object-fit:cover; border-radius:10px; opacity:0.8; }
/* ===== ABOUT ===== */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-visual {
position: relative; height: 500px;
border-radius: 20px; overflow: hidden;
}
.about-visual img { width:100%; height:100%; object-fit:cover; }
.about-visual-overlay {
position: absolute; inset: 0;
background: linear-gradient(135deg, rgba(0,198,255,0.2) 0%, transparent 60%);
}
.about-badge-float {
position: absolute; bottom: 32px; left: 32px;
background: rgba(5,13,31,0.9); backdrop-filter:blur(12px);
border: 1px solid var(--border); border-radius: 12px;
padding: 16px 24px;
}
.about-badge-float .num { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 1.8rem; color: var(--electric); }
.about-badge-float .label { font-size: 0.8rem; color: var(--muted); }
.about-content { }
.values-list { list-style: none; display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
.values-list li {
display: flex; align-items: flex-start; gap: 14px;
padding: 18px 20px; background: var(--card);
border: 1px solid var(--border); border-radius: 10px;
}
.values-list .check { color: var(--cyan); font-size: 1.1rem; margin-top: 1px; }
.values-list .val-text strong { display: block; font-size: 0.92rem; margin-bottom: 4px; }
.values-list .val-text span { font-size: 0.83rem; color: var(--muted); }
/* ===== TEAM ===== */
.team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }
.team-card {
background: var(--card); border: 1px solid var(--border);
border-radius: 16px; overflow: hidden;
transition: var(--transition); text-align: center;
}
.team-card:hover { transform: translateY(-4px); border-color: rgba(0,198,255,0.35); }
.team-avatar {
width: 100%; height: 220px;
background: linear-gradient(135deg, #0a1932 0%, #0d2550 100%);
display: flex; align-items: center; justify-content: center;
font-size: 3.5rem; position: relative; overflow: hidden;
}
.team-avatar::after {
content:''; position:absolute; inset:0;
background: linear-gradient(180deg, transparent 50%, rgba(5,13,31,0.8) 100%);
}
.team-info { padding: 20px; }
.team-info h4 { font-size: 1rem; font-weight: 700; margin-bottom: 4px; }
.team-info .role { font-size: 0.78rem; color: var(--electric); font-weight: 500; margin-bottom: 10px; }
.team-info .bio { font-size: 0.8rem; color: var(--muted); line-height: 1.6; }
/* ===== CAREERS ===== */
.jobs-list { display: flex; flex-direction: column; gap: 16px; }
.job-card {
background: var(--card); border: 1px solid var(--border);
border-radius: 14px; padding: 28px 32px;
display: flex; align-items: center; justify-content: space-between;
gap: 20px; transition: var(--transition); flex-wrap: wrap;
}
.job-card:hover { border-color: rgba(0,198,255,0.4); background: rgba(0,198,255,0.03); }
.job-info h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; }
.job-meta { display: flex; gap: 12px; flex-wrap: wrap; }
.job-tag {
background: rgba(0,198,255,0.08); border: 1px solid var(--border);
border-radius: 100px; padding: 4px 12px;
font-size: 0.75rem; color: var(--muted);
}
.job-tag.type { color: var(--cyan); border-color: rgba(15,240,211,0.2); background: rgba(15,240,211,0.05); }
.btn-sm {
padding: 10px 22px; border-radius: 8px;
background: linear-gradient(135deg, var(--electric), var(--cyan));
color: var(--navy); font-weight: 700; font-size: 0.82rem;
border: none; cursor: pointer; font-family: 'Syne', sans-serif;
white-space: nowrap; transition: var(--transition);
}
.btn-sm:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,198,255,0.3); }
/* ===== MODALS / FORMS ===== */
.modal-overlay {
display: none; position: fixed; inset: 0; z-index: 2000;
background: rgba(0,0,0,0.7); backdrop-filter: blur(6px);
align-items: center; justify-content: center; padding: 20px;
}
.modal-overlay.open { display: flex; }
.modal {
background: #0a1932; border: 1px solid var(--border);
border-radius: 20px; padding: 40px; width: 100%; max-width: 580px;
max-height: 90vh; overflow-y: auto; position: relative;
}
.modal h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 6px; }
.modal .sub { color: var(--muted); font-size: 0.88rem; margin-bottom: 28px; }
.modal-close {
position: absolute; top: 16px; right: 16px;
background: var(--card); border: 1px solid var(--border);
color: var(--white); width: 34px; height: 34px; border-radius: 8px;
cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center;
transition: var(--transition);
}
.modal-close:hover { background: rgba(255,255,255,0.1); }
.form-group { margin-bottom: 18px; }
.form-group label { display: block; font-size: 0.82rem; font-weight: 500; color: var(--muted); margin-bottom: 7px; }
.form-group input, .form-group textarea, .form-group select {
width: 100%; padding: 12px 16px; border-radius: 9px;
background: rgba(255,255,255,0.04); border: 1px solid var(--border);
color: var(--white); font-family: 'DM Sans', sans-serif; font-size: 0.9rem;
outline: none; transition: var(--transition);
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus {
border-color: var(--electric); background: rgba(0,198,255,0.04);
}
.form-group textarea { resize: vertical; min-height: 100px; }
.form-group select option { background: #0a1932; color: var(--white); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-submit { width: 100%; padding: 14px; margin-top: 6px; }
.success-msg {
background: rgba(15,240,211,0.08); border: 1px solid rgba(15,240,211,0.2);
border-radius: 10px; padding: 14px 18px;
color: var(--cyan); font-size: 0.88rem; margin-top: 12px;
display: none;
}
.success-msg.show { display: block; }
/* ===== CONTACT ===== */
.contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 60px; align-items: start; }
.contact-info { }
.contact-item {
display: flex; gap: 16px; align-items: flex-start;
padding: 22px; background: var(--card); border: 1px solid var(--border);
border-radius: 12px; margin-bottom: 16px;
}
.contact-icon {
width: 44px; height: 44px; border-radius: 10px;
background: linear-gradient(135deg, rgba(0,198,255,0.15), rgba(15,240,211,0.1));
display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}
.contact-item .label { font-size: 0.78rem; color: var(--muted); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.08em; }
.contact-item .value { font-size: 0.95rem; font-weight: 500; }
/* ===== ADMIN PANEL ===== */
.admin-layout { display: grid; grid-template-columns: 240px 1fr; min-height: calc(100vh - 70px); }
.admin-sidebar {
background: rgba(10,25,50,0.6); border-right: 1px solid var(--border);
padding: 30px 0;
}
.admin-nav-item {
display: flex; align-items: center; gap: 10px;
padding: 12px 24px; cursor: pointer;
color: var(--muted); font-size: 0.88rem; font-weight: 500;
transition: var(--transition); border-left: 3px solid transparent;
}
.admin-nav-item:hover { color: var(--white); background: var(--card); }
.admin-nav-item.active { color: var(--electric); border-left-color: var(--electric); background: rgba(0,198,255,0.04); }
.admin-content { padding: 36px; }
.admin-header { margin-bottom: 32px; }
.admin-header h2 { font-size: 1.6rem; font-weight: 800; }
.admin-header p { color: var(--muted); font-size: 0.88rem; margin-top: 4px; }
.admin-section { display: none; }
.admin-section.active { display: block; }
.data-table { width: 100%; border-collapse: collapse; margin-top: 16px; }
.data-table th, .data-table td {
text-align: left; padding: 12px 16px;
border-bottom: 1px solid var(--border); font-size: 0.85rem;
}
.data-table th { color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; font-size: 0.75rem; }
.data-table td { color: var(--white); }
.data-table tr:hover td { background: var(--card); }
.badge { display:inline-block; padding:3px 10px; border-radius:100px; font-size:0.72rem; font-weight:600; }
.badge-new { background:rgba(0,198,255,0.12); color:var(--electric); }
.badge-open { background:rgba(15,240,211,0.1); color:var(--cyan); }
.badge-closed { background:rgba(255,255,255,0.06); color:var(--muted); }
.admin-stats-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-bottom: 36px; }
.admin-stat {
background: var(--card); border: 1px solid var(--border);
border-radius: 12px; padding: 22px;
}
.admin-stat .n { font-family:'Syne',sans-serif; font-weight:800; font-size:1.8rem; color:var(--electric); }
.admin-stat .l { font-size:0.78rem; color:var(--muted); margin-top:4px; }
.admin-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.action-btn {
padding:6px 14px; border-radius:6px; border:1px solid var(--border);
background:transparent; color:var(--muted); font-size:0.78rem; cursor:pointer;
transition:var(--transition);
}
.action-btn:hover { color:var(--white); border-color:var(--electric); }
.action-btn.del { color:#ff6b6b; }
.action-btn.del:hover { border-color:#ff6b6b; background:rgba(255,107,107,0.05); }
/* ===== FOOTER ===== */
footer {
background: var(--navy2); border-top: 1px solid var(--border);
padding: 60px 5vw 30px;
}
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 48px; }
.footer-brand p { color: var(--muted); font-size: 0.88rem; line-height: 1.7; margin-top: 14px; max-width: 280px; }
.footer-col h5 { font-size: 0.85rem; font-weight: 700; margin-bottom: 16px; color: var(--white); }
.footer-col a { display: block; color: var(--muted); text-decoration: none; font-size: 0.85rem; margin-bottom: 10px; transition: var(--transition); }
.footer-col a:hover { color: var(--electric); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; border-top: 1px solid var(--border); flex-wrap: wrap; gap: 12px; }
.footer-bottom p { color: var(--muted); font-size: 0.8rem; }
/* ===== TOAST ===== */
.toast {
position: fixed; bottom: 32px; right: 32px; z-index: 3000;
background: var(--card); border: 1px solid var(--cyan);
border-radius: 12px; padding: 14px 22px;
font-size: 0.88rem; color: var(--cyan);
transform: translateY(100px); opacity:0;
transition: var(--transition); backdrop-filter:blur(12px);
}
.toast.show { transform: translateY(0); opacity:1; }
/* ===== RESPONSIVE ===== */
@media (max-width: 960px) {
.hero-stats { display: none; }
.about-grid { grid-template-columns: 1fr; }
.contact-grid { grid-template-columns: 1fr; }
.footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
.admin-layout { grid-template-columns: 1fr; }
.admin-sidebar { display: none; }
}
@media (max-width: 640px) {
.nav-links { display: none; }
.hamburger { display: flex; }
.hero h1 { font-size: 2.4rem; }
.form-row { grid-template-columns: 1fr; }
.admin-stats-row { grid-template-columns: 1fr 1fr; }
.footer-grid { grid-template-columns: 1fr; }
.admin-form-grid { grid-template-columns: 1fr; }
}
/* ===== HERO VISUAL FLOATING ELEMENTS ===== */
.orbit {
position: absolute; right: 5vw; top: 50%; transform: translateY(-50%);
width: 380px; height: 380px; z-index: 1;
}
.orbit-ring {
position: absolute; border-radius: 50%;
border: 1px solid var(--border);
top: 50%; left: 50%; transform: translate(-50%,-50%);
}
.orbit-ring:nth-child(1) { width: 200px; height: 200px; animation: spin 20s linear infinite; }
.orbit-ring:nth-child(2) { width: 300px; height: 300px; animation: spin 30s linear infinite reverse; border-style: dashed; }
.orbit-ring:nth-child(3) { width: 380px; height: 380px; animation: spin 40s linear infinite; }
@keyframes spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.orbit-center {
position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
width: 90px; height: 90px; border-radius: 50%;
background: linear-gradient(135deg, var(--electric), var(--cyan));
display: flex; align-items: center; justify-content: center;
font-family: 'Syne', sans-serif; font-weight: 800; font-size: 1.4rem;
color: var(--navy);
box-shadow: 0 0 60px rgba(0,198,255,0.4);
}
.orbit-dot {
position: absolute; width: 10px; height: 10px; border-radius: 50%;
background: var(--electric);
top: 50%; left: 0%; transform: translate(-50%, -50%);
box-shadow: 0 0 10px var(--electric);
}
/* ===== MOBILE NAV ===== */
.mobile-nav {
display: none; position: fixed; top: 70px; left: 0; right: 0; z-index: 999;
background: rgba(5,13,31,0.97); backdrop-filter: blur(20px);
border-bottom: 1px solid var(--border);
padding: 20px;
flex-direction: column; gap: 4px;
}
.mobile-nav.open { display: flex; }
.mobile-nav a {
color: var(--muted); text-decoration: none; padding: 12px 16px;
border-radius: 8px; transition: var(--transition); font-size: 0.9rem;
}
.mobile-nav a:hover { color: var(--white); background: var(--card); }
/* ===== ANIMATED GRADIENT TEXT ===== */
@keyframes gradMove { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
.anim-grad {
background: linear-gradient(270deg, var(--electric), var(--cyan), var(--gold), var(--electric));
background-size: 300% 300%;
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
animation: gradMove 6s ease infinite;
}
/* ===== LOGIN PAGE ===== */
.login-wrap {
min-height: calc(100vh - 70px); display: flex;
align-items: center; justify-content: center; padding: 40px 20px;
}
.login-box {
background: var(--card); border: 1px solid var(--border);
border-radius: 20px; padding: 48px; width: 100%; max-width: 420px;
}
.login-box h2 { margin-bottom: 6px; }
.login-box p { color: var(--muted); font-size: 0.88rem; margin-bottom: 32px; }
</style>
</head>
<body>
<!-- NAVIGATION -->
<nav id="mainNav">
<a href="#" class="logo" onclick="showPage('home')">
<div class="logo-mark">M1</div>
<span class="logo-text">Modeone <span>Technologies</span></span>
</a>
<div class="nav-links">
<a href="#" onclick="showPage('home')" class="active" id="nav-home">Home</a>
<a href="#" onclick="showPage('about')" id="nav-about">About</a>
<a href="#" onclick="showPage('services')" id="nav-services">Services</a>
<a href="#" onclick="showPage('team')" id="nav-team">Team</a>
<a href="#" onclick="showPage('careers')" id="nav-careers">Careers</a>
<a href="#" onclick="showPage('contact')" id="nav-contact">Contact</a>
<a href="#" onclick="showPage('admin-login')" class="nav-cta">Admin</a>
</div>
<div class="hamburger" onclick="toggleMobileNav()" id="hamburger">
<span></span><span></span><span></span>
</div>
</nav>
<div class="mobile-nav" id="mobileNav">
<a href="#" onclick="showPage('home');toggleMobileNav()">Home</a>
<a href="#" onclick="showPage('about');toggleMobileNav()">About</a>
<a href="#" onclick="showPage('services');toggleMobileNav()">Services</a>
<a href="#" onclick="showPage('team');toggleMobileNav()">Team</a>
<a href="#" onclick="showPage('careers');toggleMobileNav()">Careers</a>
<a href="#" onclick="showPage('contact');toggleMobileNav()">Contact</a>
<a href="#" onclick="showPage('admin-login');toggleMobileNav()">Admin</a>
</div>
<!-- =============================== HOME PAGE =============================== -->
<div class="page active" id="page-home">
<!-- HERO -->
<section class="hero">
<div class="hero-bg"></div>
<div class="hero-grid"></div>
<div class="hero-content">
<div class="hero-badge">🇳🇬 Nigeria's Premier Network Firm</div>
<h1>Engineering the <span class="grad">Networks</span> of Tomorrow</h1>
<p>Modeone Technologies delivers world-class network engineering, AI infrastructure deployment, and end-to-end connectivity solutions to government institutions and enterprise clients across Nigeria.</p>
<div class="hero-btns">
<button class="btn-primary" onclick="showPage('services')">Our Services</button>
<button class="btn-outline" onclick="showPage('contact')">Get In Touch</button>
</div>
</div>
<div class="orbit">
<div class="orbit-ring"><div class="orbit-dot"></div></div>
<div class="orbit-ring"></div>
<div class="orbit-ring"></div>
<div class="orbit-center">M1</div>
</div>
<div class="scroll-hint">
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 5v14M5 12l7 7 7-7"/></svg>
Scroll
</div>
</section>
<!-- TRUSTED BY -->
<div class="divider"></div>
<section style="padding: 48px 5vw; text-align: center;">
<p style="color: var(--muted); font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 28px;">Trusted by Government & Enterprise Partners</p>
<div style="display:flex; justify-content:center; gap:40px; flex-wrap:wrap; opacity:0.4; filter:grayscale(1)">
<span style="font-family:Syne,sans-serif;font-weight:800;font-size:1.1rem;">NCC</span>
<span style="font-family:Syne,sans-serif;font-weight:800;font-size:1.1rem;">NTA</span>
<span style="font-family:Syne,sans-serif;font-weight:800;font-size:1.1rem;">MTN Nigeria</span>
<span style="font-family:Syne,sans-serif;font-weight:800;font-size:1.1rem;">NITDA</span>
<span style="font-family:Syne,sans-serif;font-weight:800;font-size:1.1rem;">NNPC</span>
</div>
</section>
<div class="divider"></div>
<!-- SERVICES PREVIEW -->
<section>
<div class="section-label">What We Do</div>
<div style="display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:48px;">
<div>
<h2 class="section-title">Comprehensive Network &<br>AI Infrastructure Solutions</h2>
</div>
<button class="btn-outline" onclick="showPage('services')">View All Services →</button>
</div>
<div class="services-grid">
<div class="service-card">
<div class="service-icon">🌐</div>
<h3>Network Engineering</h3>
<p>Expert design, implementation and optimization of enterprise-grade network architectures including BGP, OSPF, MPLS and modern SD-WAN technologies.</p>
<span class="tag">BGP · OSPF · MPLS</span>
</div>
<div class="service-card">
<div class="service-icon">🏗️</div>
<h3>New Build Deployment</h3>
<p>End-to-end greenfield network deployment for government facilities, data centers, and enterprise campuses — from fiber to the final router.</p>
<span class="tag">Fiber · DC · Campus</span>
</div>
<div class="service-card">
<div class="service-icon">🤖</div>
<h3>AI Design & Deployment</h3>
<p>Architecting high-performance AI infrastructure with RoCEv2, CLOS leaf-spine fabrics, and GPU cluster interconnects for next-gen workloads.</p>
<span class="tag">RoCEv2 · CLOS · HPC</span>
</div>
</div>
</section>
<!-- WHY MODEONE -->
<section style="background: linear-gradient(135deg, rgba(0,198,255,0.04) 0%, transparent 60%); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);">
<div class="section-label">Why Choose Us</div>
<h2 class="section-title">Built for Mission-Critical<br><span class="anim-grad">Infrastructure</span></h2>
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:40px;">
<div style="text-align:center;padding:32px 20px;">
<div style="font-size:2.2rem;margin-bottom:12px;">⚡</div>
<h4 style="margin-bottom:8px;font-size:1rem;">Rapid Deployment</h4>
<p style="color:var(--muted);font-size:0.85rem;line-height:1.7;">We mobilize quickly and deliver on time — even for complex government contracts.</p>
</div>
<div style="text-align:center;padding:32px 20px;">
<div style="font-size:2.2rem;margin-bottom:12px;">🔒</div>
<h4 style="margin-bottom:8px;font-size:1rem;">Security-First Design</h4>
<p style="color:var(--muted);font-size:0.85rem;line-height:1.7;">Every architecture includes robust security policies, zero-trust principles, and compliance.</p>
</div>
<div style="text-align:center;padding:32px 20px;">
<div style="font-size:2.2rem;margin-bottom:12px;">🏆</div>
<h4 style="margin-bottom:8px;font-size:1rem;">Proven Expertise</h4>
<p style="color:var(--muted);font-size:0.85rem;line-height:1.7;">Our engineers bring international hyperscale experience to every Nigerian deployment.</p>
</div>
<div style="text-align:center;padding:32px 20px;">
<div style="font-size:2.2rem;margin-bottom:12px;">📞</div>
<h4 style="margin-bottom:8px;font-size:1rem;">24/7 Retainership</h4>
<p style="color:var(--muted);font-size:0.85rem;line-height:1.7;">Dedicated retainer packages ensuring your network is monitored and supported round-the-clock.</p>
</div>
</div>
</section>
<!-- CTA BANNER -->
<section style="text-align:center;padding:100px 5vw;">
<div style="max-width:620px;margin:0 auto;">
<div class="section-label" style="justify-content:center;">Get Started</div>
<h2 class="section-title">Ready to Build World-Class<br>Network Infrastructure?</h2>
<p style="color:var(--muted);font-size:1rem;line-height:1.7;margin-bottom:36px;">Whether you're a government agency, telco, or enterprise — Modeone Technologies has the expertise to deliver.</p>
<div style="display:flex;gap:14px;justify-content:center;flex-wrap:wrap;">
<button class="btn-primary" onclick="showPage('contact')">Request a Proposal</button>
<button class="btn-outline" onclick="showPage('careers')">Join Our Team</button>
</div>
</div>
</section>
</div>
<!-- =============================== ABOUT PAGE =============================== -->
<div class="page" id="page-about">
<section style="padding:80px 5vw 40px;">
<div class="section-label">About Us</div>
<h1 class="section-title" style="max-width:700px;">Nigeria's Leading Network Infrastructure & AI Deployment Company</h1>
<div class="about-grid" style="margin-top:60px;">
<div>
<div class="about-visual">
<img src="https://images.unsplash.com/photo-1558494949-ef010cbdcc31?w=700&q=80" alt="Network Infrastructure" style="width:100%;height:100%;object-fit:cover;border-radius:20px;">
<div class="about-visual-overlay"></div>
<div class="about-badge-float">
<div class="num">10+</div>
<div class="label">Years of Excellence</div>
</div>
</div>
</div>
<div class="about-content">
<h2 style="font-size:1.6rem;margin-bottom:18px;font-weight:800;">Powering Connectivity Across Nigeria and Beyond</h2>
<p style="color:var(--muted);line-height:1.8;margin-bottom:16px;font-size:0.95rem;">Modeone Technologies is a premier network engineering and AI infrastructure company registered in Nigeria, dedicated to delivering cutting-edge connectivity solutions to government institutions, enterprises, and telecommunications providers.</p>
<p style="color:var(--muted);line-height:1.8;margin-bottom:28px;font-size:0.95rem;">Founded on the principles of technical excellence, innovation, and reliability, we bring international hyperscale engineering expertise to every project — from simple network builds to complex AI data center deployments.</p>
<ul class="values-list">
<li>
<span class="check">✦</span>
<div class="val-text"><strong>Mission</strong><span>To accelerate Nigeria's digital infrastructure transformation through world-class network engineering and AI deployment.</span></div>
</li>
<li>
<span class="check">✦</span>
<div class="val-text"><strong>Vision</strong><span>To be Africa's most trusted infrastructure technology partner for government and enterprise.</span></div>
</li>
<li>
<span class="check">✦</span>
<div class="val-text"><strong>Values</strong><span>Technical excellence, integrity, innovation, and commitment to client success on every engagement.</span></div>
</li>
</ul>
</div>
</div>
</section>
<div class="divider"></div>
<section>
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px;">
<div class="stat-card" style="text-align:left;padding:30px;">
<span class="num">50+</span>
<span class="label">Projects Delivered</span>
</div>
<div class="stat-card" style="text-align:left;padding:30px;">
<span class="num">30+</span>
<span class="label">Government Contracts</span>
</div>
<div class="stat-card" style="text-align:left;padding:30px;">
<span class="num">15+</span>
<span class="label">Expert Engineers</span>
</div>
<div class="stat-card" style="text-align:left;padding:30px;">
<span class="num">99.9%</span>
<span class="label">Network Uptime SLA</span>
</div>
</div>
</section>
<!-- Registration & Credentials -->
<section style="background: rgba(0,198,255,0.02); border-top:1px solid var(--border); border-bottom:1px solid var(--border);">
<div class="section-label">Credentials</div>
<h2 class="section-title">Registered, Certified & Ready</h2>
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:40px;">
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;">
<div style="font-size:1.6rem;margin-bottom:10px;">🏛️</div>
<h4 style="margin-bottom:6px;font-size:0.95rem;">CAC Registered</h4>
<p style="color:var(--muted);font-size:0.83rem;">Fully incorporated under the Corporate Affairs Commission of Nigeria as Modeone Technologies Ltd.</p>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;">
<div style="font-size:1.6rem;margin-bottom:10px;">📡</div>
<h4 style="margin-bottom:6px;font-size:0.95rem;">NCC Licensed</h4>
<p style="color:var(--muted);font-size:0.83rem;">Licensed by the Nigerian Communications Commission to provide network engineering services.</p>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;">
<div style="font-size:1.6rem;margin-bottom:10px;">🌍</div>
<h4 style="margin-bottom:6px;font-size:0.95rem;">Domain: modeoneit.com</h4>
<p style="color:var(--muted);font-size:0.83rem;">Operating globally with local expertise — modeoneit.com serves clients across Nigeria and West Africa.</p>
</div>
</div>
</section>
</div>
<!-- =============================== SERVICES PAGE =============================== -->
<div class="page" id="page-services">
<section style="padding:80px 5vw 40px;">
<div class="section-label">Services</div>
<h1 class="section-title">End-to-End Network & AI<br>Infrastructure Services</h1>
<p class="section-sub">From initial design to deployment and ongoing support — Modeone delivers the full spectrum of infrastructure services for government and enterprise.</p>
</section>
<section style="padding-top:0;">
<!-- Service 1 -->
<div style="display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;padding: 0 5vw;">
<div>
<div class="section-label">01</div>
<h2 style="font-size:1.8rem;font-weight:800;margin-bottom:16px;">Network Engineering</h2>
<p style="color:var(--muted);line-height:1.8;margin-bottom:20px;">Our core discipline. We design, implement, and optimize enterprise and carrier-grade networks using the latest routing protocols and architectures. Every network we build is designed for scalability, resilience, and security.</p>
<div style="display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;">
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">BGP / OSPF / IS-IS</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">MPLS / SD-WAN</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">Cloud Networking (AWS/Azure)</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">Network Automation</span>
</div>
<button class="btn-primary" onclick="showPage('contact')">Request Service</button>
</div>
<div>
<img src="https://images.unsplash.com/photo-1551703599-6b3e8379aa8c?w=600&q=80" alt="Network Engineering" style="width:100%;height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--border);">
</div>
</div>
<!-- Service 2 -->
<div style="display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;padding:0 5vw;direction:rtl;">
<div style="direction:ltr;">
<div class="section-label">02</div>
<h2 style="font-size:1.8rem;font-weight:800;margin-bottom:16px;">New Build Deployment</h2>
<p style="color:var(--muted);line-height:1.8;margin-bottom:20px;">Full greenfield deployments from fiber civil works to active equipment commissioning. We manage the complete project lifecycle — design, procurement, installation, testing, and handover — for government ministries, data centers, and enterprise campuses.</p>
<div style="display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;">
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">Fiber Optic Networks</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">Data Center Build</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">Government Campus</span>
</div>
<button class="btn-primary" onclick="showPage('contact')">Request Service</button>
</div>
<div>
<img src="https://images.unsplash.com/photo-1573164574572-cb89e39749b4?w=600&q=80" alt="Build Deployment" style="width:100%;height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--border);">
</div>
</div>
<!-- Service 3 -->
<div style="display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-bottom:80px;padding:0 5vw;">
<div>
<div class="section-label">03</div>
<h2 style="font-size:1.8rem;font-weight:800;margin-bottom:16px;">AI Design & Deployment</h2>
<p style="color:var(--muted);line-height:1.8;margin-bottom:20px;">We architect and deploy AI infrastructure — from GPU cluster interconnects to complete AI/ML data center fabrics. Our expertise in RoCEv2, CLOS leaf-spine topologies, and lossless networking ensures maximum performance for AI workloads.</p>
<div style="display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;">
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">RoCEv2 / InfiniBand</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">CLOS Leaf-Spine</span>
<span style="background:rgba(0,198,255,0.08);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:0.78rem;color:var(--electric);">GPU Cluster Networking</span>
</div>
<button class="btn-primary" onclick="showPage('contact')">Request Service</button>
</div>
<div>
<img src="https://images.unsplash.com/photo-1677442135703-1787eea5ce01?w=600&q=80" alt="AI Infrastructure" style="width:100%;height:320px;object-fit:cover;border-radius:16px;border:1px solid var(--border);">
</div>
</div>
<!-- Service 4 & 5 in grid -->
<div style="display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:0 5vw;margin-bottom:80px;">
<div class="service-card" style="padding:36px;">
<div class="service-icon">🛡️</div>
<div class="section-label" style="margin-bottom:8px;">04</div>
<h3>Retainership & Managed Services</h3>
<p style="margin-bottom:16px;">24/7 network monitoring, proactive maintenance, and dedicated engineering support under a managed services agreement. We become your virtual NOC team.</p>
<ul style="color:var(--muted);font-size:0.85rem;line-height:2;padding-left:18px;">
<li>24/7 NOC Monitoring</li>
<li>Monthly Health Reports</li>
<li>SLA-backed Response Times</li>
<li>Dedicated Account Engineer</li>
</ul>
</div>
<div class="service-card" style="padding:36px;">
<div class="service-icon">🔧</div>
<div class="section-label" style="margin-bottom:8px;">05</div>
<h3>Troubleshooting & Network Security</h3>
<p style="margin-bottom:16px;">Rapid incident response, root-cause analysis, and implementation of enterprise security frameworks. We diagnose and resolve complex network issues and harden your infrastructure against threats.</p>
<ul style="color:var(--muted);font-size:0.85rem;line-height:2;padding-left:18px;">
<li>Network Security Audits</li>
<li>Firewall & IDS/IPS Implementation</li>
<li>Zero-Trust Architecture</li>
<li>Penetration Testing</li>
</ul>
</div>
</div>
</section>
</div>
<!-- =============================== TEAM PAGE =============================== -->
<div class="page" id="page-team">
<section style="padding:80px 5vw 60px;">
<div class="section-label">Our Team</div>
<h1 class="section-title">The Engineers Behind<br>Nigeria's Network Future</h1>
<p class="section-sub">Our leadership team combines decades of international network engineering experience with deep local knowledge.</p>
<div class="team-grid">
<div class="team-card">
<div class="team-avatar">👨💼</div>
<div class="team-info">
<h4>Chief Technology Officer</h4>
<div class="role">CTO · Executive Leadership</div>
<p class="bio">Leads Modeone's technical vision and strategy. Brings 15+ years in network architecture and AI infrastructure across hyperscale environments.</p>
</div>
</div>
<div class="team-card">
<div class="team-avatar">🛰️</div>
<div class="team-info">
<h4>Lead Network Design & Planning Engineer</h4>
<div class="role">Senior Engineering</div>
<p class="bio">Specializes in BGP, MPLS and CLOS fabric design. Architects large-scale carrier and enterprise networks from concept to commissioning.</p>
</div>
</div>
<div class="team-card">
<div class="team-avatar">💡</div>
<div class="team-info">
<h4>Lead Optical Capacity Engineer</h4>
<div class="role">Optical & Transmission</div>
<p class="bio">Expert in DWDM, OTN, and long-haul optical network design. Manages capacity planning for national fiber backbone projects.</p>
</div>
</div>
<div class="team-card">
<div class="team-avatar">🏗️</div>
<div class="team-info">
<h4>Lead Network Deployment Engineer</h4>
<div class="role">Field & Deployment</div>
<p class="bio">Oversees all greenfield and brownfield deployments. Expert in project management, civil works coordination, and equipment commissioning.</p>
</div>
</div>
<div class="team-card">
<div class="team-avatar">📊</div>
<div class="team-info">
<h4>Business Analyst</h4>
<div class="role">Strategy & Growth</div>
<p class="bio">Drives Modeone's business strategy, contract analysis, and client engagement. Bridges technical solutions with business outcomes.</p>
</div>
</div>
<div class="team-card">
<div class="team-avatar">👥</div>
<div class="team-info">
<h4>HR Representative</h4>
<div class="role">People & Culture</div>
<p class="bio">Champions Modeone's people-first culture, talent acquisition, and professional development programs across all engineering disciplines.</p>
</div>
</div>
<div class="team-card">
<div class="team-avatar">📣</div>
<div class="team-info">
<h4>Marketing Lead</h4>
<div class="role">Brand & Communications</div>
<p class="bio">Manages Modeone's brand, government relations, and client communications. Drives visibility for our infrastructure solutions.</p>
</div>
</div>
</div>
</section>
</div>
<!-- =============================== CAREERS PAGE =============================== -->
<div class="page" id="page-careers">
<section style="padding:80px 5vw 40px;">
<div class="section-label">Careers</div>
<h1 class="section-title">Build Africa's Digital<br>Infrastructure With Us</h1>
<p class="section-sub">We're always looking for talented engineers, analysts, and creatives to join our mission. Explore open positions below.</p>
</section>
<section style="padding-top:0;">
<div style="display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:32px;">
<div>
<h3 style="font-size:1.1rem;font-weight:700;">Open Positions</h3>
<p style="color:var(--muted);font-size:0.85rem;margin-top:4px;" id="jobCount">Loading positions...</p>
</div>
<div style="display:flex;gap:10px;">
<select id="filterDept" onchange="filterJobs()" style="background:var(--card);border:1px solid var(--border);color:var(--white);padding:9px 16px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.85rem;cursor:pointer;">
<option value="all">All Departments</option>
<option value="engineering">Engineering</option>
<option value="ai">AI / Data</option>
<option value="business">Business</option>
<option value="operations">Operations</option>
</select>
</div>
</div>
<div class="jobs-list" id="jobsList"></div>
</section>
<!-- PERKS -->
<section style="background: rgba(0,198,255,0.02); border-top:1px solid var(--border);">
<div class="section-label">Why Modeone</div>
<h2 class="section-title">Great Perks. Greater Purpose.</h2>
<div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:36px;">
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;">
<div style="font-size:1.8rem;margin-bottom:10px;">💰</div>
<h4 style="font-size:0.92rem;margin-bottom:6px;">Competitive Pay</h4>
<p style="color:var(--muted);font-size:0.8rem;">Market-leading salaries and performance bonuses</p>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;">
<div style="font-size:1.8rem;margin-bottom:10px;">📚</div>
<h4 style="font-size:0.92rem;margin-bottom:6px;">Training & Certs</h4>
<p style="color:var(--muted);font-size:0.8rem;">Sponsored CCIE, AWS, Azure certifications</p>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;">
<div style="font-size:1.8rem;margin-bottom:10px;">🏥</div>
<h4 style="font-size:0.92rem;margin-bottom:6px;">Health Benefits</h4>
<p style="color:var(--muted);font-size:0.8rem;">Comprehensive HMO for you and your family</p>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center;">
<div style="font-size:1.8rem;margin-bottom:10px;">🌍</div>
<h4 style="font-size:0.92rem;margin-bottom:6px;">Global Projects</h4>
<p style="color:var(--muted);font-size:0.8rem;">Work on international-scale infrastructure</p>
</div>
</div>
</section>
</div>
<!-- =============================== CONTACT PAGE =============================== -->
<div class="page" id="page-contact">
<section style="padding:80px 5vw 60px;">
<div class="section-label">Contact Us</div>
<h1 class="section-title">Let's Build Something<br>Extraordinary Together</h1>
<div class="contact-grid" style="margin-top:60px;">
<div class="contact-info">
<p style="color:var(--muted);line-height:1.8;margin-bottom:32px;font-size:0.95rem;">Ready to discuss your network infrastructure project? Whether it's a government contract, enterprise deployment, or AI data center — our team is ready to help.</p>
<div class="contact-item">
<div class="contact-icon">📍</div>
<div>
<div class="label">Address</div>
<div class="value">Lagos, Nigeria</div>
</div>
</div>
<div class="contact-item">
<div class="contact-icon">🌐</div>
<div>
<div class="label">Website</div>
<div class="value">modeoneit.com</div>
</div>
</div>
<div class="contact-item">
<div class="contact-icon">📧</div>
<div>
<div class="label">Email</div>
<div class="value">info@modeoneit.com</div>
</div>
</div>
<div class="contact-item">
<div class="contact-icon">📞</div>
<div>
<div class="label">Phone</div>
<div class="value">+234 (0) 800 MODEONE</div>
</div>
</div>
<!-- Response time badge -->
<div style="background:rgba(15,240,211,0.06);border:1px solid rgba(15,240,211,0.15);border-radius:12px;padding:18px 22px;margin-top:8px;display:flex;align-items:center;gap:12px;">
<div style="width:10px;height:10px;border-radius:50%;background:var(--cyan);animation:pulse 2s infinite;flex-shrink:0;"></div>
<div>
<div style="font-size:0.82rem;font-weight:600;color:var(--cyan);">Fast Response Guaranteed</div>
<div style="font-size:0.78rem;color:var(--muted);margin-top:2px;">We respond to all inquiries within 24 business hours</div>
</div>
</div>
</div>
<div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:16px;padding:40px;">
<h3 style="font-size:1.2rem;font-weight:800;margin-bottom:6px;">Send Us a Message</h3>
<p style="color:var(--muted);font-size:0.85rem;margin-bottom:28px;">For government contracts, proposals, and partnership enquiries</p>
<div class="form-row">
<div class="form-group">
<label>First Name *</label>
<input type="text" id="c-fname" placeholder="Emeka">
</div>
<div class="form-group">
<label>Last Name *</label>
<input type="text" id="c-lname" placeholder="Okafor">
</div>
</div>
<div class="form-group">
<label>Email Address *</label>
<input type="email" id="c-email" placeholder="emeka@ministry.gov.ng">
</div>
<div class="form-group">
<label>Organization</label>
<input type="text" id="c-org" placeholder="Ministry of Communications">
</div>
<div class="form-group">
<label>Subject *</label>
<select id="c-subject">
<option value="">Select a subject</option>
<option>Government Contract Inquiry</option>
<option>Network Engineering Project</option>
<option>AI Infrastructure Deployment</option>
<option>New Build Deployment</option>
<option>Retainership / Managed Services</option>
<option>Network Security Assessment</option>
<option>General Inquiry</option>
</select>
</div>
<div class="form-group">
<label>Message *</label>
<textarea id="c-message" placeholder="Tell us about your project requirements, timeline, and scope..."></textarea>
</div>
<button class="btn-primary form-submit" onclick="submitContact()">Send Message →</button>
<div class="success-msg" id="contactSuccess">✓ Message received! Our team will contact you within 24 hours.</div>
</div>
</div>
</div>
</section>
</div>
<!-- =============================== ADMIN LOGIN =============================== -->
<div class="page" id="page-admin-login">
<div class="login-wrap">
<div class="login-box">
<div class="logo-mark" style="width:50px;height:50px;font-size:18px;margin-bottom:20px;">M1</div>
<h2>Admin Portal</h2>
<p>Sign in to manage Modeone Technologies website</p>
<div class="form-group">
<label>Username</label>
<input type="text" id="admin-user" placeholder="admin" value="admin">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" id="admin-pass" placeholder="••••••••" value="modeone2024">
</div>
<button class="btn-primary form-submit" onclick="adminLogin()">Sign In →</button>
<p style="color:var(--muted);font-size:0.78rem;margin-top:16px;text-align:center;">Default: admin / modeone2024</p>
</div>
</div>
</div>
<!-- =============================== ADMIN PANEL =============================== -->
<div class="page" id="page-admin">
<div class="admin-layout">
<div class="admin-sidebar">
<div style="padding:20px 24px 28px;border-bottom:1px solid var(--border);">
<div style="font-family:Syne,sans-serif;font-weight:800;font-size:0.9rem;">Modeone Admin</div>
<div style="color:var(--muted);font-size:0.75rem;margin-top:4px;">Website Management</div>
</div>
<div style="margin-top:16px;">
<div class="admin-nav-item active" onclick="adminTab('dashboard')">📊 Dashboard</div>
<div class="admin-nav-item" onclick="adminTab('contacts')">📬 Contact Submissions</div>
<div class="admin-nav-item" onclick="adminTab('applications')">👤 Job Applications</div>
<div class="admin-nav-item" onclick="adminTab('jobs')">💼 Manage Jobs</div>
<div class="admin-nav-item" onclick="adminTab('services')">⚙️ Services</div>
<div class="admin-nav-item" onclick="adminTab('team')">👥 Team</div>
</div>
<div style="position:absolute;bottom:24px;left:0;right:0;padding:0 24px;">
<button onclick="showPage('home')" style="width:100%;padding:10px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:0.82rem;cursor:pointer;font-family:'DM Sans',sans-serif;">← Back to Website</button>
</div>
</div>
<div class="admin-content">
<!-- DASHBOARD -->
<div class="admin-section active" id="admin-dashboard">
<div class="admin-header">
<h2>Dashboard</h2>
<p>Overview of website activity and data</p>
</div>
<div class="admin-stats-row">
<div class="admin-stat"><div class="n" id="stat-contacts">0</div><div class="l">Contact Submissions</div></div>
<div class="admin-stat"><div class="n" id="stat-apps">0</div><div class="l">Job Applications</div></div>
<div class="admin-stat"><div class="n" id="stat-jobs">0</div><div class="l">Open Positions</div></div>
<div class="admin-stat"><div class="n">5</div><div class="l">Active Services</div></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;">
<h3 style="font-size:1rem;font-weight:700;margin-bottom:16px;">Recent Activity</h3>
<div id="recentActivity" style="color:var(--muted);font-size:0.85rem;line-height:2;">No recent activity yet. Submissions will appear here.</div>
</div>
</div>
<!-- CONTACTS -->
<div class="admin-section" id="admin-contacts">
<div class="admin-header">
<h2>Contact Submissions</h2>
<p>All enquiries from the Contact Us page</p>
</div>
<div style="overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;">
<table class="data-table" id="contactsTable">
<thead><tr><th>Name</th><th>Email</th><th>Organization</th><th>Subject</th><th>Date</th><th>Action</th></tr></thead>
<tbody id="contactsTbody"><tr><td colspan="6" style="color:var(--muted);text-align:center;padding:32px;">No submissions yet</td></tr></tbody>
</table>
</div>
</div>
<!-- APPLICATIONS -->
<div class="admin-section" id="admin-applications">
<div class="admin-header">
<h2>Job Applications</h2>
<p>Applications submitted through the careers page</p>
</div>
<div style="overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;">
<table class="data-table" id="appsTable">
<thead><tr><th>Applicant</th><th>Email</th><th>Position</th><th>Experience</th><th>Date</th><th>Status</th></tr></thead>
<tbody id="appsTbody"><tr><td colspan="6" style="color:var(--muted);text-align:center;padding:32px;">No applications yet</td></tr></tbody>
</table>
</div>
</div>
<!-- MANAGE JOBS -->
<div class="admin-section" id="admin-jobs">
<div class="admin-header">
<h2>Manage Job Listings</h2>
<p>Add, edit or remove open positions</p>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;margin-bottom:24px;">
<h3 style="font-size:1rem;font-weight:700;margin-bottom:20px;">Add New Position</h3>
<div class="admin-form-grid">
<div class="form-group"><label>Job Title</label><input type="text" id="job-title" placeholder="e.g. Senior Network Engineer"></div>
<div class="form-group"><label>Department</label>
<select id="job-dept">
<option value="engineering">Engineering</option>
<option value="ai">AI / Data</option>
<option value="business">Business</option>
<option value="operations">Operations</option>
</select>
</div>
<div class="form-group"><label>Location</label><input type="text" id="job-loc" placeholder="Lagos, Nigeria"></div>
<div class="form-group"><label>Type</label>
<select id="job-type">
<option>Full-time</option><option>Contract</option><option>Part-time</option>
</select>
</div>
</div>
<div class="form-group"><label>Description</label><textarea id="job-desc" placeholder="Role overview and requirements..."></textarea></div>
<button class="btn-primary" onclick="addJob()">+ Add Position</button>
</div>
<div style="overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:20px;">
<table class="data-table">
<thead><tr><th>Title</th><th>Department</th><th>Location</th><th>Type</th><th>Status</th><th>Action</th></tr></thead>
<tbody id="jobsAdminTbody"></tbody>
</table>
</div>
</div>
<!-- SERVICES ADMIN -->
<div class="admin-section" id="admin-services">
<div class="admin-header"><h2>Services</h2><p>Overview of active service offerings</p></div>
<div style="display:grid;gap:16px;">
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;">
<div><strong>Network Engineering</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:4px;">BGP, OSPF, MPLS, Cloud Networking</div></div>
<span class="badge badge-open">Active</span>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;">
<div><strong>New Build Deployment</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:4px;">Fiber, Data Center, Campus</div></div>
<span class="badge badge-open">Active</span>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;">
<div><strong>AI Design & Deployment</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:4px;">RoCEv2, CLOS Fabric, GPU Clusters</div></div>
<span class="badge badge-open">Active</span>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;">
<div><strong>Retainership & Managed Services</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:4px;">24/7 NOC, SLA-backed support</div></div>
<span class="badge badge-open">Active</span>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;">
<div><strong>Troubleshooting & Network Security</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:4px;">Security audits, Zero-trust, Pen testing</div></div>
<span class="badge badge-open">Active</span>
</div>
</div>
</div>
<!-- TEAM ADMIN -->
<div class="admin-section" id="admin-team">
<div class="admin-header"><h2>Team Management</h2><p>Current team members and roles</p></div>
<div style="display:grid;gap:14px;">
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>Chief Technology Officer</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">Executive · Technology Leadership</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>Lead Network Design & Planning Engineer</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">Senior Engineering</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>Lead Optical Capacity Engineer</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">Optical & Transmission</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>Lead Network Deployment Engineer</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">Field & Deployment</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>Business Analyst</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">Strategy & Growth</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>HR Representative</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">People & Culture</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
<div style="background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;">
<div><strong>Marketing Lead</strong><div style="color:var(--muted);font-size:0.82rem;margin-top:3px;">Brand & Communications</div></div>
<div style="display:flex;gap:8px;"><button class="action-btn">Edit</button></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- FOOTER (shown on public pages) -->
<footer id="mainFooter">
<div class="footer-grid">
<div class="footer-brand">
<div class="logo"><div class="logo-mark">M1</div><span class="logo-text">Modeone <span>Technologies</span></span></div>
<p>Nigeria's premier network engineering and AI infrastructure company. Delivering world-class connectivity solutions to government and enterprise since 2014.</p>
<div style="display:flex;gap:12px;margin-top:20px;">
<a href="#" style="width:34px;height:34px;border-radius:8px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.9rem;color:var(--white);text-decoration:none;">in</a>
<a href="#" style="width:34px;height:34px;border-radius:8px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.9rem;color:var(--white);text-decoration:none;">𝕏</a>
</div>
</div>
<div class="footer-col">
<h5>Services</h5>
<a href="#" onclick="showPage('services')">Network Engineering</a>
<a href="#" onclick="showPage('services')">New Build Deployment</a>
<a href="#" onclick="showPage('services')">AI Infrastructure</a>
<a href="#" onclick="showPage('services')">Retainership</a>
<a href="#" onclick="showPage('services')">Network Security</a>
</div>
<div class="footer-col">
<h5>Company</h5>
<a href="#" onclick="showPage('about')">About Us</a>
<a href="#" onclick="showPage('team')">Our Team</a>
<a href="#" onclick="showPage('careers')">Careers</a>
<a href="#" onclick="showPage('contact')">Contact</a>
</div>
<div class="footer-col">
<h5>Contact</h5>
<a href="#">Lagos, Nigeria</a>
<a href="#">info@modeoneit.com</a>
<a href="#">modeoneit.com</a>
<a href="#">+234 800 MODEONE</a>
</div>
</div>
<div class="footer-bottom">
<p>© 2025 Modeone Technologies Ltd. All rights reserved. RC: XXXXXXXX</p>
<p>Registered in Nigeria · NCC Licensed · modeoneit.com</p>
</div>
</footer>
<!-- ===== APPLY MODAL ===== -->
<div class="modal-overlay" id="applyModal">
<div class="modal">
<button class="modal-close" onclick="closeModal('applyModal')">✕</button>
<h2>Apply for Position</h2>
<p class="sub" id="applyJobTitle">Submit your application below</p>
<div class="form-row">
<div class="form-group"><label>First Name *</label><input type="text" id="a-fname" placeholder="Chidi"></div>
<div class="form-group"><label>Last Name *</label><input type="text" id="a-lname" placeholder="Nwosu"></div>
</div>
<div class="form-group"><label>Email *</label><input type="email" id="a-email" placeholder="chidi@email.com"></div>
<div class="form-group"><label>Phone</label><input type="tel" id="a-phone" placeholder="+234 xxx xxx xxxx"></div>
<div class="form-group"><label>Years of Experience *</label>
<select id="a-exp"><option value="">Select</option><option>0-2 years</option><option>3-5 years</option><option>6-10 years</option><option>10+ years</option></select>
</div>
<div class="form-group"><label>LinkedIn Profile</label><input type="url" id="a-linkedin" placeholder="https://linkedin.com/in/yourprofile"></div>
<div class="form-group"><label>Cover Letter / Message *</label><textarea id="a-cover" placeholder="Tell us why you're a great fit for this role..."></textarea></div>
<button class="btn-primary form-submit" onclick="submitApplication()">Submit Application →</button>
<div class="success-msg" id="applySuccess">✓ Application submitted! We'll review and get back to you within 5-7 business days.</div>
</div>
</div>
<!-- TOAST -->
<div class="toast" id="toast"></div>
<script>
// =================== DATA STORE (localStorage) ===================
const DB = {
get: (k) => { try { return JSON.parse(localStorage.getItem('modeone_'+k)||'[]'); } catch { return []; }},
set: (k,v) => localStorage.setItem('modeone_'+k, JSON.stringify(v)),
push: (k,v) => { const d=DB.get(k); d.push(v); DB.set(k,d); }
};
// Default jobs
const defaultJobs = [
{ id:1, title:'Senior Network Engineer', dept:'engineering', loc:'Lagos, Nigeria', type:'Full-time', desc:'Design and implement enterprise BGP/OSPF/MPLS networks for government and enterprise clients.', status:'open', date:'2025-03-01' },
{ id:2, title:'AI Infrastructure Engineer', dept:'ai', loc:'Abuja, Nigeria', type:'Full-time', desc:'Deploy RoCEv2 and CLOS leaf-spine AI data center fabrics for hyperscale clients.', status:'open', date:'2025-03-05' },
{ id:3, title:'Network Deployment Field Engineer', dept:'engineering', loc:'Lagos, Nigeria', type:'Full-time', desc:'Lead greenfield fiber and equipment deployments across Nigeria.', status:'open', date:'2025-03-10' },
{ id:4, title:'Business Development Manager', dept:'business', loc:'Lagos, Nigeria', type:'Full-time', desc:'Drive enterprise and government contract acquisition for network engineering services.', status:'open', date:'2025-03-12' },
];
if (!localStorage.getItem('modeone_jobs')) DB.set('jobs', defaultJobs);
let currentJobId = null;
// =================== NAVIGATION ===================
function showPage(pg) {
document.querySelectorAll('.page').forEach(p => p.classList.remove('active'));
document.querySelectorAll('.nav-links a').forEach(a => a.classList.remove('active'));
const pageEl = document.getElementById('page-'+pg);
if(pageEl) pageEl.classList.add('active');
const navEl = document.getElementById('nav-'+pg);
if(navEl) navEl.classList.add('active');
const footer = document.getElementById('mainFooter');
footer.style.display = (pg==='admin' || pg==='admin-login') ? 'none' : 'block';
window.scrollTo(0,0);
if(pg==='careers') renderCareers();
if(pg==='admin') { renderAdmin(); updateDashboardStats(); }
return false;
}
function toggleMobileNav() {
document.getElementById('mobileNav').classList.toggle('open');
}
// =================== CAREERS ===================
function renderCareers() {
const jobs = DB.get('jobs');
const open = jobs.filter(j => j.status==='open');
document.getElementById('jobCount').textContent = open.length + ' open position' + (open.length!==1?'s':'');
renderJobsList(open);
}
function renderJobsList(jobs) {
const dept = document.getElementById('filterDept')?.value || 'all';
const filtered = dept==='all' ? jobs : jobs.filter(j=>j.dept===dept);
const container = document.getElementById('jobsList');
if(!filtered.length) {
container.innerHTML = '<div style="text-align:center;color:var(--muted);padding:48px;border:1px solid var(--border);border-radius:12px;">No positions available in this category right now. <a href="#" onclick="showPage(\'contact\')" style="color:var(--electric);">Send us your CV anyway →</a></div>';
return;
}
container.innerHTML = filtered.map(j => `
<div class="job-card">
<div class="job-info">
<h3>${j.title}</h3>
<div class="job-meta">
<span class="job-tag">📍 ${j.loc}</span>
<span class="job-tag type">${j.type}</span>
<span class="job-tag">${j.dept.charAt(0).toUpperCase()+j.dept.slice(1)}</span>
</div>
<p style="color:var(--muted);font-size:0.83rem;margin-top:10px;">${j.desc}</p>
</div>
<button class="btn-sm" onclick="openApplyModal(${j.id}, '${j.title.replace(/'/g,"\\'")}')">Apply Now</button>
</div>
`).join('');
}
function filterJobs() {
const jobs = DB.get('jobs').filter(j=>j.status==='open');
renderJobsList(jobs);
}
// =================== MODALS ===================
function openApplyModal(id, title) {
currentJobId = id;
document.getElementById('applyJobTitle').textContent = 'Applying for: ' + title;
document.getElementById('applyModal').classList.add('open');
document.getElementById('applySuccess').classList.remove('show');
}
function closeModal(id) {
document.getElementById(id).classList.remove('open');
}
// =================== FORM SUBMISSIONS ===================
function submitApplication() {
const fname = document.getElementById('a-fname').value.trim();
const lname = document.getElementById('a-lname').value.trim();
const email = document.getElementById('a-email').value.trim();
const exp = document.getElementById('a-exp').value;
const cover = document.getElementById('a-cover').value.trim();
if(!fname||!lname||!email||!exp||!cover) { showToast('Please fill in all required fields.'); return; }
const jobs = DB.get('jobs');
const job = jobs.find(j=>j.id===currentJobId);
DB.push('applications', {
id: Date.now(), fname, lname, email,
phone: document.getElementById('a-phone').value,
linkedin: document.getElementById('a-linkedin').value,
exp, cover, position: job?.title||'Unknown', jobId: currentJobId,
date: new Date().toLocaleDateString(), status: 'new'
});
document.getElementById('applySuccess').classList.add('show');
['a-fname','a-lname','a-email','a-phone','a-linkedin','a-cover'].forEach(id=>document.getElementById(id).value='');
document.getElementById('a-exp').value='';
showToast('Application submitted successfully!');
}
function submitContact() {
const fname = document.getElementById('c-fname').value.trim();
const lname = document.getElementById('c-lname').value.trim();
const email = document.getElementById('c-email').value.trim();
const subject = document.getElementById('c-subject').value;
const message = document.getElementById('c-message').value.trim();
if(!fname||!lname||!email||!subject||!message) { showToast('Please fill in all required fields.'); return; }
DB.push('contacts', {
id: Date.now(), name: fname+' '+lname, email,
org: document.getElementById('c-org').value,
subject, message, date: new Date().toLocaleDateString()
});
document.getElementById('contactSuccess').classList.add('show');
['c-fname','c-lname','c-email','c-org','c-message'].forEach(id=>document.getElementById(id).value='');
document.getElementById('c-subject').value='';
showToast('Message sent!');
}
// =================== ADMIN ===================
function adminLogin() {
const u = document.getElementById('admin-user').value;
const p = document.getElementById('admin-pass').value;
if(u==='admin'&&p==='modeone2024') { showPage('admin'); }
else { showToast('Invalid credentials. Try admin / modeone2024'); }
}
function adminTab(tab) {
document.querySelectorAll('.admin-section').forEach(s=>s.classList.remove('active'));
document.querySelectorAll('.admin-nav-item').forEach(n=>n.classList.remove('active'));
document.getElementById('admin-'+tab).classList.add('active');
event.currentTarget.classList.add('active');
}
function updateDashboardStats() {
document.getElementById('stat-contacts').textContent = DB.get('contacts').length;
document.getElementById('stat-apps').textContent = DB.get('applications').length;
document.getElementById('stat-jobs').textContent = DB.get('jobs').filter(j=>j.status==='open').length;
const contacts = DB.get('contacts');
const apps = DB.get('applications');
const recent = [...contacts.map(c=>({type:'contact',name:c.name,date:c.date,detail:c.subject})),
...apps.map(a=>({type:'app',name:a.fname+' '+a.lname,date:a.date,detail:a.position}))]
.slice(-5).reverse();
const ra = document.getElementById('recentActivity');
if(recent.length) {
ra.innerHTML = recent.map(r=>`<div style="padding:10px 0;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:center;">
<span style="color:${r.type==='contact'?'var(--electric)':'var(--cyan)'}">${r.type==='contact'?'📬':'👤'}</span>
<div><strong style="font-size:0.88rem;">${r.name}</strong> — <span style="font-size:0.82rem;color:var(--muted);">${r.detail}</span></div>
<div style="margin-left:auto;color:var(--muted);font-size:0.78rem;">${r.date}</div>
</div>`).join('');
}
}
function renderAdmin() {
// Contacts table
const contacts = DB.get('contacts');
const ctbody = document.getElementById('contactsTbody');
ctbody.innerHTML = contacts.length ? contacts.reverse().map(c=>`
<tr>
<td>${c.name}</td><td>${c.email}</td><td>${c.org||'—'}</td>
<td>${c.subject}</td><td>${c.date}</td>
<td><button class="action-btn">View</button></td>
</tr>`).join('') : '<tr><td colspan="6" style="color:var(--muted);text-align:center;padding:24px;">No submissions yet</td></tr>';
// Applications table
const apps = DB.get('applications');
const atbody = document.getElementById('appsTbody');
atbody.innerHTML = apps.length ? apps.reverse().map(a=>`
<tr>
<td>${a.fname} ${a.lname}</td><td>${a.email}</td><td>${a.position}</td>
<td>${a.exp}</td><td>${a.date}</td>
<td><span class="badge badge-new">New</span></td>
</tr>`).join('') : '<tr><td colspan="6" style="color:var(--muted);text-align:center;padding:24px;">No applications yet</td></tr>';
// Jobs admin table
renderAdminJobs();
}
function renderAdminJobs() {
const jobs = DB.get('jobs');
const tbody = document.getElementById('jobsAdminTbody');
tbody.innerHTML = jobs.length ? jobs.map(j=>`
<tr>
<td>${j.title}</td><td>${j.dept}</td><td>${j.loc}</td><td>${j.type}</td>
<td><span class="badge ${j.status==='open'?'badge-open':'badge-closed'}">${j.status}</span></td>
<td style="display:flex;gap:6px;">
<button class="action-btn" onclick="toggleJobStatus(${j.id})">${j.status==='open'?'Close':'Reopen'}</button>
<button class="action-btn del" onclick="deleteJob(${j.id})">Delete</button>
</td>
</tr>`).join('') : '<tr><td colspan="6" style="color:var(--muted);text-align:center;padding:24px;">No jobs added yet</td></tr>';
}
function addJob() {
const title = document.getElementById('job-title').value.trim();
const dept = document.getElementById('job-dept').value;
const loc = document.getElementById('job-loc').value.trim();
const type = document.getElementById('job-type').value;
const desc = document.getElementById('job-desc').value.trim();
if(!title||!loc||!desc) { showToast('Please fill all required fields'); return; }
const jobs = DB.get('jobs');
const id = Date.now();
jobs.push({ id, title, dept, loc, type, desc, status:'open', date: new Date().toLocaleDateString() });
DB.set('jobs', jobs);
['job-title','job-loc','job-desc'].forEach(id=>document.getElementById(id).value='');
renderAdminJobs();
showToast('✓ Job listing added!');
}
function toggleJobStatus(id) {
const jobs = DB.get('jobs');
const job = jobs.find(j=>j.id===id);
if(job) { job.status = job.status==='open'?'closed':'open'; DB.set('jobs',jobs); renderAdminJobs(); }
}
function deleteJob(id) {
if(!confirm('Delete this job listing?')) return;
DB.set('jobs', DB.get('jobs').filter(j=>j.id!==id));
renderAdminJobs();
showToast('Job deleted');
}