<!DOCTYPE html>
<html lang="fr" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Skolya — Un suivi scolaire en temps réel</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap" rel="stylesheet">
<style>
/* ══════════════════════════════════════════════════
SKOLYA DESIGN SYSTEM — exact app_theme.dart
══════════════════════════════════════════════════ */
:root {
/* ─── Brand palette (light) ─── */
--sk-primary: #004AD8;
--sk-primary-dark: #0039A6;
--sk-primary-container:#D8E2FF;
--sk-secondary: #5A55A3;
--sk-secondary-container:#E2DFFF;
--sk-tertiary: #00696F;
--sk-tertiary-container:#9DF2F8;
/* ─── Gradients (primary only) ─── */
--sk-grad: linear-gradient(135deg, #3a7fff 0%, #004AD8 50%, #002882 100%);
--sk-grad-2: linear-gradient(135deg, #004AD8 0%, #0039A6 100%);
/* ─── Shimmer (primary shades only) ─── */
--sk-shimmer: linear-gradient(90deg,
#004AD8 0%, #3a7fff 35%, #A3C4FF 55%, #3a7fff 70%, #004AD8 100%);
/* ─── Light surfaces ─── */
--bg: #FFFFFF;
--bg-2: #E1E6F2;
--bg-3: #D8E2FF;
--bg-card: #FFFFFF;
--text: #1B1D22;
--text-2: #454A55;
--text-3: #74777F;
--border: rgba(0, 74, 216, 0.13);
--border-h: rgba(0, 74, 216, 0.30);
--nav-bg: rgba(255,255,255,0.92);
--shadow-sm: 0 2px 12px rgba(0,74,216,0.08);
--shadow-md: 0 8px 32px rgba(0,74,216,0.12);
--shadow-lg: 0 16px 48px rgba(0,74,216,0.18);
--sk-faq-bg: #EEF3FF;
--sk-footer-bg: #F8F9FF;
}
[data-theme="dark"] {
--sk-primary: #004AD8;
--sk-primary-dark: #0039A6;
--sk-primary-container:#0039A6;
--sk-secondary: #C4C0FF;
--sk-secondary-container:#423B90;
--sk-tertiary: #80D8E0;
--sk-tertiary-container:#004F54;
--sk-grad: linear-gradient(135deg, #3a7fff 0%, #004AD8 50%, #002882 100%);
--sk-grad-2: linear-gradient(135deg, #004AD8 0%, #0039A6 100%);
--sk-shimmer: linear-gradient(90deg,
#A3C4FF 0%, #3a7fff 35%, #004AD8 55%, #3a7fff 70%, #A3C4FF 100%);
/* Deep navy palette — propre et élégant */
--bg: #0E1117;
--bg-2: #141824;
--bg-3: #1B2238;
--bg-card: #17202F;
--text: #DDE3F0;
--text-2: #8A96B8;
--text-3: #505878;
--border: rgba(100,140,255,0.10);
--border-h: rgba(100,140,255,0.24);
--nav-bg: rgba(14,17,23,0.94);
--shadow-sm: 0 2px 14px rgba(0,0,0,0.4);
--shadow-md: 0 8px 36px rgba(0,0,0,0.5);
--shadow-lg: 0 18px 54px rgba(0,0,0,0.6);
--sk-faq-bg: #0D1525;
--sk-footer-bg: #08090E;
}
/* ══════════════════════════════════════════════════
RESET & BASE
══════════════════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
font-family:'Poppins',sans-serif;
background:var(--bg);
color:var(--text);
transition:background .35s,color .35s;
overflow-x:hidden;
}
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { font-family:'Poppins',sans-serif; cursor:pointer; border:none; outline:none; }
/* ══════════════════════════════════════════════════
ANIMATIONS
══════════════════════════════════════════════════ */
@keyframes shimmer-txt {
0% { background-position:0% 50%; }
100% { background-position:200% 50%; }
}
@keyframes shimmer-sweep {
0% { left:-80%; }
100% { left:130%; }
}
@keyframes pulse-ring {
0% { transform:scale(1); opacity:.7; }
100% { transform:scale(1.65); opacity:0; }
}
@keyframes float {
0%,100% { transform:translateY(0); }
50% { transform:translateY(-8px); }
}
@keyframes shimmer-num {
0% { background-position:-200% 0; }
100% { background-position: 200% 0; }
}
.shimmer-txt {
background:var(--sk-shimmer);
background-size:200% 100%;
animation:shimmer-txt 3.5s linear infinite;
-webkit-background-clip:text;
background-clip:text;
-webkit-text-fill-color:transparent;
}
/* ══════════════════════════════════════════════════
LAYOUT
══════════════════════════════════════════════════ */
.container { max-width:1340px; margin:0 auto; padding:0 24px; }
/* ══════════════════════════════════════════════════
NAVBAR
══════════════════════════════════════════════════ */
.navbar {
position:fixed; top:0; left:0; right:0; z-index:9000;
background:var(--nav-bg);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border-bottom:1px solid var(--border);
transition:box-shadow .3s, background .35s;
}
.navbar.scrolled { box-shadow:var(--shadow-md); }
.nav-inner {
max-width:1380px; margin:0 auto; padding:0 24px;
height:68px;
display:flex; align-items:center; gap:10px;
}
/* Logo */
.nav-logo { display:flex; align-items:center; gap:10px; flex-shrink:0; margin-right:8px; }
.nav-logo-mark {
width:38px; height:38px;
background:var(--sk-grad);
border-radius:11px;
display:flex; align-items:center; justify-content:center;
box-shadow:0 4px 14px rgba(0,74,216,.35);
}
.nav-logo-mark svg { width:20px; height:20px; }
.nav-logo-name { font-size:20px; font-weight:800; letter-spacing:-.4px; }
/* Links */
.nav-links { display:flex; align-items:center; gap:2px; flex:1; }
.nav-links a {
display:flex; align-items:center; gap:6px;
padding:7px 13px; border-radius:9px;
font-size:13.5px; font-weight:500; color:var(--text-2);
transition:background .2s, color .2s;
white-space:nowrap;
}
.nav-links a svg { width:15px; height:15px; flex-shrink:0; }
.nav-links a:hover { background:rgba(0,74,216,.07); color:var(--text); }
.nav-links a.active { background:rgba(0,74,216,.10); color:var(--sk-primary); }
.nav-links a.active svg { color:var(--sk-primary); }
/* Right */
.nav-right { display:flex; align-items:center; gap:8px; margin-left:auto; }
.btn-icon {
width:36px; height:36px; border-radius:9px;
border:1px solid var(--border); background:var(--bg-2);
display:flex; align-items:center; justify-content:center;
color:var(--text-2); cursor:pointer; transition:all .2s;
}
.btn-icon:hover { background:var(--bg-3); color:var(--text); border-color:var(--border-h); }
.btn-icon svg { width:16px; height:16px; }
.lang-wrap { position:relative; }
.lang-toggle {
display:flex; align-items:center; gap:5px;
padding:6px 10px; border-radius:9px;
border:1px solid var(--border); background:var(--bg-2);
font-size:12.5px; font-weight:600; color:var(--text-2);
cursor:pointer; transition:all .2s;
}
.lang-toggle:hover { background:var(--bg-3); color:var(--text); }
.lang-toggle svg { width:12px; height:12px; transition:transform .25s; }
.lang-toggle.open svg { transform:rotate(180deg); }
.lang-menu {
position:absolute; top:calc(100% + 8px); right:0;
background:var(--bg-card); border:1px solid var(--border);
border-radius:12px; padding:6px; min-width:130px;
box-shadow:var(--shadow-md);
opacity:0; pointer-events:none;
transform:translateY(-6px); transition:opacity .2s,transform .2s;
z-index:100;
}
.lang-menu.open { opacity:1; pointer-events:all; transform:translateY(0); }
.lang-menu a {
display:flex; align-items:center; gap:8px;
padding:8px 10px; border-radius:7px;
font-size:13px; font-weight:500; color:var(--text);
transition:background .15s;
}
.lang-menu a:hover { background:rgba(0,74,216,.07); }
.btn-login {
padding:7px 16px; border-radius:9px;
border:1px solid var(--border); background:transparent;
font-size:13px; font-weight:600; color:var(--text);
transition:all .2s;
}
.btn-login:hover { background:rgba(0,74,216,.07); border-color:var(--border-h); }
.btn-demo-nav {
padding:8px 18px; border-radius:9px;
background:var(--sk-grad);
font-size:13px; font-weight:700; color:white;
transition:all .25s;
box-shadow:0 4px 14px rgba(0,74,216,.3);
white-space:nowrap;
}
.btn-demo-nav:hover {
opacity:.9; transform:translateY(-1px);
box-shadow:0 8px 22px rgba(0,74,216,.4);
}
/* Hamburger */
.hamburger {
display:none; flex-direction:column; gap:5px;
width:36px; height:36px; align-items:center; justify-content:center;
border-radius:9px; border:1px solid var(--border); background:var(--bg-2);
cursor:pointer; transition:all .2s;
}
.hamburger span {
display:block; width:18px; height:2px;
background:var(--text); border-radius:2px; transition:all .3s;
}
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
/* Mobile nav */
.mobile-nav {
display:none; position:fixed; top:68px; left:0; right:0;
background:var(--nav-bg); backdrop-filter:blur(20px);
border-bottom:1px solid var(--border);
padding:16px 24px 24px; z-index:8999;
opacity:0; transform:translateY(-8px);
transition:opacity .25s,transform .25s;
}
.mobile-nav.open { display:block; opacity:1; transform:translateY(0); }
.mobile-nav ul { display:flex; flex-direction:column; gap:4px; margin-bottom:16px; }
.mobile-nav ul a {
display:flex; align-items:center; gap:10px;
padding:12px 14px; border-radius:10px;
font-size:14.5px; font-weight:500; color:var(--text);
transition:background .2s;
}
.mobile-nav ul a:hover { background:rgba(0,74,216,.08); color:var(--sk-primary); }
.mobile-nav ul svg { width:17px; height:17px; }
.mob-actions { display:flex; gap:10px; }
.mob-actions .btn-login,
.mob-actions .btn-demo-nav { flex:1; text-align:center; display:block; }
/* ══════════════════════════════════════════════════
HERO
══════════════════════════════════════════════════ */
#accueil {
min-height:100vh; padding:110px 32px 80px;
display:flex; align-items:center; background:var(--bg);
}
.hero-inner {
max-width:1340px; margin:0 auto;
display:grid; grid-template-columns:65fr 35fr;
gap:48px; align-items:stretch;
}
.hero-card {
background: var(--sk-primary);
border-radius:28px; padding:44px 44px;
position:relative; overflow:hidden;
display:flex; flex-direction:column; justify-content:center;
}
.hero-card::before {
content:''; position:absolute;
top:-60px; right:-60px; width:220px; height:220px;
border-radius:50%; background:rgba(255,255,255,.07);
pointer-events:none;
}
.hero-sweep {
position:absolute; top:0; left:-80%;
width:60%; height:100%;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
animation:shimmer-sweep 4.5s ease-in-out infinite;
pointer-events:none;
}
.hero-badge {
display:inline-flex; align-items:center; gap:6px;
background:rgba(255,255,255,.18); backdrop-filter:blur(6px);
padding:5px 12px; border-radius:30px;
font-size:11px; font-weight:600; color:white;
margin-bottom:18px; letter-spacing:.3px;
width:fit-content;
}
.hero-title {
font-size:clamp(26px,3.6vw,44px);
font-weight:900; line-height:1.18; color:white;
margin-bottom:20px; letter-spacing:-.5px;
}
.hero-sub {
font-size:15px; line-height:1.75;
color:rgba(255,255,255,.85); margin-bottom:36px;
}
/* Store badges */
.hero-stores {
display:flex;
gap:12px;
flex-wrap:wrap;
margin-top:20px;
align-items:center;
}
.store-badge {
display:inline-block;
transition:transform .22s, opacity .22s;
}
.store-badge:hover { transform:translateY(-2px) scale(1.04); opacity:.9; }
.store-badge img {
height:46px;
width:auto;
display:block;
filter: drop-shadow(0 2px 8px rgba(0,0,0,.3));
}
.hero-btns { display:flex; align-items:center; flex-wrap:wrap; gap:16px; justify-content:space-between; }
.hero-store-group { display:flex; gap:10px; align-items:center; }
.btn-hero-1 {
padding:13px 26px; background:white; color:var(--sk-primary);
border-radius:11px; font-size:14px; font-weight:800;
transition:all .25s;
}
.btn-hero-1:hover { transform:translateY(-2px); box-shadow:0 10px 28px rgba(0,0,0,.22); }
.btn-hero-2 {
padding:13px 26px; background:rgba(255,255,255,.15); color:white;
border:1.5px solid rgba(255,255,255,.38); border-radius:11px;
font-size:14px; font-weight:600;
backdrop-filter:blur(6px); transition:all .25s;
}
.btn-hero-2:hover { background:rgba(255,255,255,.25); }
.hero-img-box {
width:100%; aspect-ratio:3/2;
border-radius:22px; border:2px dashed rgba(255,255,255,0.35);
background:rgba(255,255,255,0.12);
display:flex; flex-direction:column; align-items:center; justify-content:center;
gap:14px; color:rgba(255,255,255,0.7); font-size:13.5px; font-weight:500;
animation:float 5s ease-in-out infinite;
}
/* desktop version (right column) — white border on bg */
.hero-visual .hero-img-box {
border-color: var(--border-h);
background: var(--bg-2);
color: var(--text-3);
}
.hero-img-box svg { width:52px; height:52px; opacity:.35; }
.hero-img-box span:last-child { font-size:12px; opacity:.6; }
/* Mobile image lives inside the card */
.hero-img-mobile { display:none; margin-top:28px; margin-bottom:28px; }
/* Desktop image in separate column */
.hero-visual { display:flex; align-items:stretch; justify-content:center; }
/* ══════════════════════════════════════════════════
COUNTER BAND
══════════════════════════════════════════════════ */
#counter {
background:var(--bg-2);
padding:56px 24px;
border-top:1px solid var(--border);
border-bottom:1px solid var(--border);
}
.counter-grid {
max-width:1140px; margin:0 auto;
display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.counter-card {
position:relative; overflow:hidden;
background:var(--bg-card); border:1px solid var(--border);
border-radius:18px; padding:30px 22px 28px;
text-align:center; transition:transform .3s,box-shadow .3s,border-color .3s;
}
.counter-card::before {
content:''; position:absolute;
top:0; left:0; right:0; height:3px;
background:var(--sk-grad);
}
.counter-card::after {
content:''; position:absolute;
top:0; left:-100%; width:55%; height:100%;
background:linear-gradient(90deg,transparent,rgba(0,74,216,.05),transparent);
animation:shimmer-sweep 6s ease-in-out infinite;
}
.counter-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:var(--border-h); }
.ctr-emoji { font-size:28px; margin-bottom:12px; display:block; }
.ctr-num {
font-size:38px; font-weight:900; letter-spacing:-1px;
background:var(--sk-shimmer);
background-size:200% 100%;
animation:shimmer-num 3.5s linear infinite;
-webkit-background-clip:text; background-clip:text;
-webkit-text-fill-color:transparent; line-height:1.1;
}
.ctr-lbl {
display:block; margin-top:8px;
font-size:13px; font-weight:500; color:var(--text-2);
}
/* ══════════════════════════════════════════════════
SECTION COMMONS
══════════════════════════════════════════════════ */
.sec-badge {
display:inline-flex; align-items:center; gap:6px;
background:rgba(0,74,216,.07);
border:1px solid rgba(0,74,216,.16);
color:var(--sk-primary);
padding:6px 16px; border-radius:30px;
font-size:12px; font-weight:700; margin-bottom:16px; letter-spacing:.3px;
}
.sec-badge svg { width:13px; height:13px; }
.sec-title {
font-size:clamp(22px,3vw,36px); font-weight:800;
letter-spacing:-.4px; color:var(--text); margin-bottom:14px;
}
.sec-sub {
font-size:15px; color:var(--text-2); line-height:1.75; max-width:560px;
}
/* scroll fade-in */
.fi {
opacity:0; transform:translateY(26px);
transition:opacity .65s ease,transform .65s ease;
}
.fi.visible { opacity:1; transform:translateY(0); }
/* ══════════════════════════════════════════════════
FEATURES
══════════════════════════════════════════════════ */
#fonctionnalites { background:var(--bg); padding:96px 24px; }
.feat-hdr { text-align:center; margin-bottom:64px; }
.feat-hdr .sec-sub { margin:0 auto; }
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.feat-card {
position:relative; overflow:hidden;
background:var(--bg-card); border:1px solid var(--border);
border-radius:18px; padding:34px 28px; transition:all .3s;
}
.feat-card::after {
content:''; position:absolute; top:0; left:-100%;
width:55%; height:100%;
background:linear-gradient(90deg,transparent,rgba(0,74,216,.04),transparent);
transition:left .6s ease;
}
.feat-card:hover::after { left:180%; }
.feat-card:hover { transform:translateY(-5px); border-color:var(--border-h); box-shadow:var(--shadow-md); }
.feat-card:hover .feat-icon { background:var(--sk-grad); }
.feat-card:hover .feat-icon svg { stroke:white; }
.feat-icon {
width:52px; height:52px; border-radius:13px;
background:rgba(0,74,216,.09);
display:flex; align-items:center; justify-content:center;
margin-bottom:20px; transition:background .3s;
}
.feat-icon svg { width:24px; height:24px; stroke:var(--sk-primary); fill:none; stroke-width:2; transition:stroke .3s; }
.feat-name { font-size:16px; font-weight:700; color:var(--text); margin-bottom:10px; }
.feat-desc { font-size:13.5px; color:var(--text-2); line-height:1.7; }
/* ══════════════════════════════════════════════════
FAQ
══════════════════════════════════════════════════ */
#faq { background:var(--sk-faq-bg,#F0F4FF); padding:96px 24px; }
.faq-wrap {
max-width:1260px; margin:0 auto;
display:grid; grid-template-columns:45fr 55fr;
gap:56px; align-items:start;
}
.faq-img-side {
position:sticky; top:90px;
}
.faq-direct-img {
width:100%;
border-radius:16px;
box-shadow:0 16px 48px rgba(0,74,216,.18);
overflow:hidden;
}
.faq-direct-img img {
width:100%;
height:auto;
display:block;
border-radius:16px;
}
.faq-img-box {
width:100%; aspect-ratio:16/9;
border-radius:18px; border:2px dashed var(--border-h);
background:var(--bg-card);
display:flex; flex-direction:column; align-items:center; justify-content:center;
gap:12px; color:var(--text-3); font-size:13.5px;
}
.faq-img-box svg { width:48px; height:48px; opacity:.35; }
.accordion { display:flex; flex-direction:column; gap:12px; margin-top:28px; }
.acc-item {
background:var(--bg-card); border:1px solid var(--border);
border-radius:14px; overflow:hidden;
transition:border-color .25s,box-shadow .25s;
}
.acc-item.open { border-color:var(--border-h); box-shadow:var(--shadow-sm); }
.acc-trigger {
display:flex; align-items:center; justify-content:space-between;
gap:16px; padding:20px 22px; cursor:pointer; user-select:none;
}
.acc-q { font-size:14.5px; font-weight:600; color:var(--text); }
.acc-icon {
width:28px; height:28px; flex-shrink:0; border-radius:8px;
background:rgba(0,74,216,.09);
display:flex; align-items:center; justify-content:center;
color:var(--sk-primary); transition:all .3s;
}
.acc-item.open .acc-icon { background:var(--sk-grad); color:white; transform:rotate(180deg); }
.acc-icon svg { width:14px; height:14px; }
.acc-body { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.acc-body.open { max-height:250px; }
.acc-body-inner { padding:0 22px 20px; font-size:13.5px; color:var(--text-2); line-height:1.75; }
/* ══════════════════════════════════════════════════
CONTACT
══════════════════════════════════════════════════ */
#contact {
background:var(--bg);
padding:80px 24px;
text-align:center;
margin-bottom:64px;
}
/* La card porte le gradient à 85% de largeur avec bords arrondis */
.contact-card {
position:relative; overflow:hidden;
width:85%; max-width:1200px;
margin:0 auto;
background:var(--sk-grad);
border-radius:32px;
padding:80px 56px;
}
.contact-card::before {
content:''; position:absolute;
bottom:-100px; right:-60px; width:380px; height:380px;
border-radius:50%; background:rgba(255,255,255,.05); pointer-events:none;
}
.contact-card::after {
content:''; position:absolute;
top:-70px; left:-40px; width:280px; height:280px;
border-radius:50%; background:rgba(255,255,255,.04); pointer-events:none;
}
.contact-sweep {
position:absolute; top:0; left:-80%;
width:55%; height:100%;
background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
animation:shimmer-sweep 5s ease-in-out infinite;
pointer-events:none; z-index:0;
}
.contact-title {
position:relative; z-index:1;
font-size:clamp(22px,3vw,34px); font-weight:900; color:white;
margin-bottom:16px; letter-spacing:-.4px;
}
.contact-sub {
position:relative; z-index:1;
font-size:15px; color:rgba(255,255,255,.82);
margin-bottom:36px; line-height:1.7;
}
.btn-wa {
position:relative; z-index:1;
display:inline-flex; align-items:center; gap:10px;
padding:15px 34px; background:#25D366; color:white;
border-radius:13px; font-size:15px; font-weight:700;
transition:all .25s;
box-shadow:0 6px 22px rgba(37,211,102,.4);
}
.btn-wa:hover { background:#1ab955; transform:translateY(-2px); box-shadow:0 12px 32px rgba(37,211,102,.5); }
.btn-wa svg { width:22px; height:22px; fill:white; flex-shrink:0; }
/* ══════════════════════════════════════════════════
FOOTER
══════════════════════════════════════════════════ */
footer { background:var(--sk-footer-bg); border-top:1px solid var(--border); }
.footer-top {
max-width:1340px; margin:0 auto;
padding:64px 24px 52px;
display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:48px;
}
.footer-brand .nav-logo { margin-bottom:14px; }
.footer-brand p {
font-size:13.5px; color:var(--text-2); line-height:1.75;
margin-bottom:22px; max-width:280px;
}
.footer-socials { display:flex; gap:10px; }
.footer-socials a {
width:36px; height:36px; border-radius:9px;
border:1px solid var(--border); background:var(--bg-card);
display:flex; align-items:center; justify-content:center;
color:var(--text-2); transition:all .2s;
}
.footer-socials a:hover { border-color:var(--sk-primary); color:var(--sk-primary); }
.footer-socials svg { width:16px; height:16px; }
.footer-col h5 {
font-size:11px; font-weight:700; color:var(--text);
margin-bottom:18px; letter-spacing:.8px; text-transform:uppercase;
}
.footer-col ul { display:flex; flex-direction:column; gap:10px; }
.footer-col ul a { font-size:13.5px; color:var(--text-2); transition:color .2s; }
.footer-col ul a:hover { color:var(--sk-primary); }
.footer-clist { display:flex; flex-direction:column; gap:12px; }
.footer-ci {
display:flex; align-items:flex-start; gap:10px;
font-size:13.5px; color:var(--text-2);
}
.footer-ci svg { width:16px; height:16px; color:var(--sk-primary); flex-shrink:0; margin-top:2px; }
.footer-bot {
border-top:1px solid var(--border);
padding:20px 24px; max-width:1340px; margin:0 auto;
display:flex; align-items:center; justify-content:space-between;
gap:16px; flex-wrap:wrap;
}
.footer-bot p { font-size:13px; color:var(--text-3); }
.footer-bot-links { display:flex; gap:20px; }
.footer-bot-links a { font-size:13px; color:var(--text-3); transition:color .2s; }
.footer-bot-links a:hover { color:var(--sk-primary); }
/* ══════════════════════════════════════════════════
FLOATING WHATSAPP
══════════════════════════════════════════════════ */
.wa-float {
position:fixed; bottom:28px; right:28px; z-index:8000;
width:58px; height:58px; border-radius:50%;
background:#25D366;
display:flex; align-items:center; justify-content:center;
box-shadow:0 6px 24px rgba(37,211,102,.45);
transition:all .3s;
}
.wa-float::before {
content:''; position:absolute;
border:2px solid #25D366; border-radius:50%;
width:100%; height:100%;
animation:pulse-ring 2.2s ease-out infinite;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 10px 32px rgba(37,211,102,.55); }
.wa-float svg { width:30px; height:30px; fill:white; }
/* ══════════════════════════════════════════════════
RESPONSIVE
══════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════
APP SCREENSHOTS SECTION
══════════════════════════════════════════════════ */
#apercu { background:var(--bg); padding:96px 24px; }
.apercu-hdr { text-align:center; margin-bottom:56px; }
.apercu-hdr .sec-sub { margin:0 auto; }
/* ══════════════════════════════════════════════════
APP MOCKUP GRID (images prêtes avec cadres)
══════════════════════════════════════════════════ */
.mockup-grid {
display:grid;
grid-template-columns:1fr 1fr;
gap:48px;
max-width:1200px;
margin:0 auto;
}
.mockup-item {
display:flex;
align-items:center;
justify-content:center;
transition:transform .35s, filter .35s;
}
.mockup-item:hover { transform:translateY(-8px) scale(1.02); }
.mockup-img {
width:100%;
height:auto;
display:block;
border-radius:20px;
filter: drop-shadow(0 24px 50px rgba(0,74,216,.18));
transition: filter .35s, transform .35s;
}
[data-theme="dark"] .mockup-img {
filter: drop-shadow(0 20px 40px rgba(0,74,216,.28));
}
.mockup-item:hover .mockup-img {
filter: drop-shadow(0 28px 50px rgba(0,74,216,.25));
}
/* ── Remove old phone rules ── */
@media (max-width:1100px) {
.feat-grid { grid-template-columns:repeat(2,1fr); }
.faq-wrap { grid-template-columns:1fr; gap:36px; }
.faq-img-side { position:static; max-width:700px; width:100%; }
.footer-top { grid-template-columns:1fr 1fr; gap:36px; }
}
@media (max-width:900px) {
.mockup-grid { grid-template-columns:1fr 1fr; gap:24px; }
.counter-grid { grid-template-columns:repeat(2,1fr); }
.hero-inner { grid-template-columns:1fr; gap:36px; }
.hero-visual { display:none; }
.hero-img-mobile { display:block; }
.phones-track { gap:16px; }
.phone-frame { flex:0 0 160px; }
.phone-frame.featured { flex:0 0 175px; transform:translateY(-6px); }
}
@media (max-width:768px) {
/* Nav: hide links and auth buttons only — keep theme & lang */
.nav-links { display:none; }
.btn-login, .btn-demo-nav { display:none; }
.hamburger { display:flex; }
#contact { padding:48px 16px; }
.contact-card { width:95%; padding:52px 28px; border-radius:22px; }
section { padding:72px 16px; }
#accueil { padding:104px 16px 64px; }
.hero-card { padding:38px 28px; }
/* FAQ: image goes to top, full width */
.faq-img-side { display:block; position:static; }
}
@media (max-width:580px) {
.mockup-grid { grid-template-columns:1fr; gap:20px; }
.feat-grid { grid-template-columns:1fr; }
.counter-grid { grid-template-columns:1fr 1fr; }
.hero-btns { flex-direction:column; }
.hero-stores { gap:10px; }
.store-badge img { height:34px; }
.footer-top { grid-template-columns:1fr; }
.footer-bot { flex-direction:column; text-align:center; }
.wa-float { bottom:18px; right:18px; }
/* Phones: horizontal scroll on very small screens */
.phones-track { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; padding-bottom:12px; }
.phones-track::-webkit-scrollbar { height:4px; }
.phones-track::-webkit-scrollbar-track { background:var(--bg-3); border-radius:4px; }
.phones-track::-webkit-scrollbar-thumb { background:var(--sk-primary); border-radius:4px; }
.phone-frame { flex:0 0 150px; }
.phone-frame.featured { flex:0 0 165px; transform:translateY(-4px); }
}
</style>
</head>
<body>
<!-- ════════════════════════════════════
NAVBAR
════════════════════════════════════ -->
<nav class="navbar" id="navbar">
<div class="nav-inner">
<a href="#accueil" class="nav-logo">
<div class="nav-logo-mark">
<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
<path d="M22 10v6M2 10l10-5 10 5-10 5z"/>
<path d="M6 12.5v4c3 3 9 3 12 0v-4"/>
</svg>
</div>
<span class="nav-logo-name shimmer-txt">Skolya</span>
</a>
<ul class="nav-links">
<li><a href="#accueil" class="active">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/>
</svg>
<span class="t" data-fr="Accueil" data-en="Home">Accueil</span>
</a></li>
<li><a href="#fonctionnalites">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/>
<rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/>
</svg>
<span class="t" data-fr="Fonctionnalités" data-en="Features">Fonctionnalités</span>
</a></li>
<li><a href="#faq">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17" stroke-width="3"/>
</svg>
FAQ
</a></li>
<li><a href="#contact">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/>
</svg>
<span class="t" data-fr="Contact" data-en="Contact">Contact</span>
</a></li>
</ul>
<div class="nav-right">
<button class="btn-icon" id="themeBtn" title="Basculer le thème">
<svg id="iconSun" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
<circle cx="12" cy="12" r="5"/>
<line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
<svg id="iconMoon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" style="display:none">
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/>
</svg>
</button>
<div class="lang-wrap">
<button class="lang-toggle" id="langBtn">
<span id="flagEl">🇫🇷</span>
<span id="codeEl">FR</span>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9"/></svg>
</button>
<div class="lang-menu" id="langMenu">
<a href="#" onclick="setLang('fr');return false;">🇫🇷 Français</a>
<a href="#" onclick="setLang('en');return false;">🇬🇧 English</a>
</div>
</div>
<a href="/login" class="btn-login t" data-fr="Connexion" data-en="Login">Connexion</a>
<a href="#contact" class="btn-demo-nav t" data-fr="Demander une démo" data-en="Request a demo">Demander une démo</a>
</div>
<button class="hamburger" id="hambBtn" aria-label="Menu">
<span></span><span></span><span></span>
</button>
</div>
</nav>
<!-- Mobile nav -->
<div class="mobile-nav" id="mobileNav">
<ul>
<li><a href="#accueil" onclick="closeMob()">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/></svg>
<span class="t" data-fr="Accueil" data-en="Home">Accueil</span>
</a></li>
<li><a href="#fonctionnalites" onclick="closeMob()">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></svg>
<span class="t" data-fr="Fonctionnalités" data-en="Features">Fonctionnalités</span>
</a></li>
<li><a href="#faq" onclick="closeMob()">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17" stroke-width="3"/></svg>
FAQ
</a></li>
<li><a href="#contact" onclick="closeMob()">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/></svg>
<span class="t" data-fr="Contact" data-en="Contact">Contact</span>
</a></li>
</ul>
<div class="mob-actions">
<a href="/login" class="btn-login t" data-fr="Connexion" data-en="Login">Connexion</a>
<a href="#contact" class="btn-demo-nav t" data-fr="Demander une démo" data-en="Request a demo">Demander une démo</a>
</div>
</div>
<!-- ════════════════════════════════════
HERO
════════════════════════════════════ -->
<section id="accueil">
<div class="hero-inner">
<div class="hero-card fi">
<div class="hero-sweep"></div>
<div class="hero-badge">
🎓 <span class="t" data-fr="Le futur du suivi scolaire commence ici" data-en="The future of school monitoring starts here">Le futur du suivi scolaire commence ici</span>
</div>
<!-- Image visible uniquement en responsive (inside card) -->
<div class="hero-img-mobile">
<img
src="{{ asset('assets-website/img/skolya/hero.jpeg') }}"
alt="Enseignant et parents utilisent Skolya"
style="width:100%;border-radius:16px;object-fit:cover;margin-top:24px;display:block;
box-shadow:0 12px 32px rgba(0,0,0,.2);"
loading="eager"
/>
</div>
<h1 class="hero-title t"
data-fr="Réinventez le lien entre l'école et la maison"
data-en="Reinvent the link between school and home">
Réinventez le lien entre l'école et la maison
</h1>
<p class="hero-sub t"
data-fr="Skolya révolutionne l'éducation en connectant parents et établissements autour d'une solution digitale complète. Données en temps réel, gestion simplifiée et communication fluide pour une meilleure performance scolaire."
data-en="Skolya revolutionizes education by connecting parents and schools around a complete digital solution. Real-time data, simplified management and fluid communication for better academic performance.">
Skolya révolutionne l'éducation en connectant parents et établissements autour d'une solution digitale complète. Données en temps réel, gestion simplifiée et communication fluide pour une meilleure performance scolaire.
</p>
<div class="hero-btns">
<a href="#contact" class="btn-hero-1 t" data-fr="Demander une démo" data-en="Request a demo">Demander une démo</a>
<div class="hero-store-group">
<a href="#" class="store-badge" aria-label="Télécharger sur l'App Store" target="_blank" rel="noopener">
<img src="{{asset('assets-website/img/skolya/appstore_badge.png')}}"> </a>
<a href="#" class="store-badge" aria-label="Obtenir sur Google Play" target="_blank" rel="noopener">
<img src="{{asset('assets-website/img/skolya/playstore_badge.png')}}">
</a>
</div>
</div>
</div>
<div class="hero-visual fi" style="transition-delay:.15s">
<img
src="{{ asset('assets-website/img/skolya/hero.jpeg') }}"
alt="Enseignant et parents utilisent Skolya"
style="
width:100%; height:100%;
border-radius:24px;
object-fit:cover;
box-shadow:0 24px 60px rgba(0,74,216,.18), 0 6px 18px rgba(0,0,0,.1);
display:block;
"
loading="eager"
/>
</div>
</div>
</section>
<!-- ════════════════════════════════════
COUNTER
════════════════════════════════════ -->
<section id="counter">
<div class="counter-grid">
<div class="counter-card fi">
<span class="ctr-emoji">👨🎓</span>
<div class="ctr-num" data-target="10000" data-fmt="kplus">0</div>
<span class="ctr-lbl t" data-fr="Utilisateurs actifs" data-en="Active users">Utilisateurs actifs</span>
</div>
<div class="counter-card fi" style="transition-delay:.1s">
<span class="ctr-emoji">⚡</span>
<div class="ctr-num" data-target="80" data-fmt="plus">0</div>
<span class="ctr-lbl t" data-fr="Fonctionnalités" data-en="Features">Fonctionnalités</span>
</div>
<div class="counter-card fi" style="transition-delay:.2s">
<span class="ctr-emoji">🏫</span>
<div class="ctr-num" data-target="120" data-fmt="plus">0</div>
<span class="ctr-lbl t" data-fr="Établissements partenaires" data-en="Partner schools">Établissements partenaires</span>
</div>
<div class="counter-card fi" style="transition-delay:.3s">
<span class="ctr-emoji">⭐</span>
<div class="ctr-num" data-target="98" data-fmt="pct">0</div>
<span class="ctr-lbl t" data-fr="Clients satisfaits" data-en="Satisfied clients">Clients satisfaits</span>
</div>
</div>
</section>
<!-- ════════════════════════════════════
FEATURES
════════════════════════════════════ -->
<section id="fonctionnalites">
<div class="container">
<div class="feat-hdr fi">
<div class="sec-badge">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></svg>
<span class="t" data-fr="Fonctionnalités" data-en="Features">Fonctionnalités</span>
</div>
<h2 class="sec-title t" data-fr="Tout ce dont vous avez besoin" data-en="Everything you need">Tout ce dont vous avez besoin</h2>
<p class="sec-sub t"
data-fr="Une solution complète pour moderniser la gestion de votre établissement scolaire et révolutionner l'expérience éducative."
data-en="A complete solution to modernize the management of your institution and revolutionize the educational experience.">
Une solution complète pour moderniser la gestion de votre établissement scolaire et révolutionner l'expérience éducative.
</p>
</div>
<div class="feat-grid">
<div class="feat-card fi">
<div class="feat-icon">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4 19.5A2.5 2.5 0 016.5 17H20"/><path d="M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z"/>
<line x1="9" y1="7" x2="15" y2="7"/><line x1="9" y1="11" x2="15" y2="11"/>
</svg>
</div>
<div class="feat-name t" data-fr="Cahiers de Texte Numériques" data-en="Digital Lesson Logs">Cahiers de Texte Numériques</div>
<div class="feat-desc t"
data-fr="Chaque enseignant enregistre ses séances en temps réel : chapitre traité, contenu, date et durée. Admins et inspecteurs suivent la progression des cours dans chaque classe — sans déplacement, sans cahiers physiques."
data-en="Teachers log each session in real time: chapter, content, date and duration. Admins and inspectors track class progress remotely — no travel, no physical registers.">
Chaque enseignant enregistre ses séances en temps réel : chapitre traité, contenu, date et durée. Admins et inspecteurs suivent la progression des cours dans chaque classe — sans déplacement, sans cahiers physiques.
</div>
</div>
<div class="feat-card fi" style="transition-delay:.06s">
<div class="feat-icon"><svg viewBox="0 0 24 24"><path d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2"/><path d="M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11" stroke-linecap="round"/></svg></div>
<div class="feat-name t" data-fr="Fiche d'appel numérique" data-en="Digital attendance sheet">Fiche d'appel numérique</div>
<div class="feat-desc t" data-fr="L'enseignant fait l'appel sur son téléphone ou tablette. En fin de semaine, la fiche d'appel est générée automatiquement avec toutes les absences enregistrées." data-en="Teachers take attendance on phone or tablet. At week's end, a full attendance sheet is automatically generated with all recorded absences.">L'enseignant fait l'appel sur son téléphone ou tablette. En fin de semaine, la fiche d'appel est générée automatiquement avec toutes les absences enregistrées.</div>
</div>
<div class="feat-card fi" style="transition-delay:.12s">
<div class="feat-icon"><svg viewBox="0 0 24 24"><line x1="12" y1="1" x2="12" y2="23"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg></div>
<div class="feat-name t" data-fr="Gestion des finances" data-en="Finance management">Gestion des finances</div>
<div class="feat-desc t" data-fr="Frais de scolarité gérés de A à Z : reçus de paiement générés automatiquement, notifications en temps réel sur l'app parent et relances automatiques des retards." data-en="School fees managed end-to-end: auto-generated payment receipts, real-time parent app notifications, and automatic late payment reminders.">Frais de scolarité gérés de A à Z : reçus de paiement générés automatiquement, notifications en temps réel sur l'app parent et relances automatiques des retards.</div>
</div>
<div class="feat-card fi" style="transition-delay:.24s">
<div class="feat-icon"><svg viewBox="0 0 24 24"><rect x="5" y="2" width="14" height="20" rx="2" ry="2"/><line x1="12" y1="18" x2="12.01" y2="18" stroke-width="3"/></svg></div>
<div class="feat-name t" data-fr="App mobile parent" data-en="Parent mobile app">App mobile parent</div>
<div class="feat-desc t" data-fr="Une app aussi fluide que WhatsApp, disponible sur Android et iOS. Le parent reçoit et consulte en temps réel toutes les informations concernant ses enfants." data-en="As smooth as WhatsApp, available on Android & iOS. Parents receive and consult real-time information about their children — anytime, anywhere.">Une app aussi fluide que WhatsApp, disponible sur Android et iOS. Le parent reçoit et consulte en temps réel toutes les informations concernant ses enfants.</div>
</div>
<div class="feat-card fi" style="transition-delay:.30s">
<div class="feat-icon"><svg viewBox="0 0 24 24"><path d="M2 3h6a4 4 0 014 4v14a3 3 0 00-3-3H2z"/><path d="M7 11V7a5 5 0 0110 0v4" stroke-linecap="round"/></svg></div>
<div class="feat-name t" data-fr="Bulletins & Statistiques" data-en="Report cards & Stats">Bulletins & Statistiques</div>
<div class="feat-desc t" data-fr="Bulletins conformes aux nouvelles APC, statistiques détaillées pour suivre l'évolution de la classe et de chaque élève individuellement." data-en="APC-compliant report cards, detailed stats tracking class progress and each student's individual evolution.">Bulletins conformes aux nouvelles APC, statistiques détaillées pour suivre l'évolution de la classe et de chaque élève individuellement.</div>
</div>
<div class="feat-card fi" style="transition-delay:.36s">
<div class="feat-icon"><svg viewBox="0 0 24 24"><path d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/><line x1="12" y1="20" x2="12" y2="4"/><line x1="6" y1="20" x2="6" y2="14"/></svg></div>
<div class="feat-name t" data-fr="Messagerie instantanée" data-en="Instant messaging">Messagerie instantanée</div>
<div class="feat-desc t" data-fr="Une messagerie intégrée connecte parents, enseignants et administration par salle de classe — pour une communication fluide et centralisée." data-en="Built-in messaging connects parents, teachers and admin by classroom — for fluid, centralized communication.">Une messagerie intégrée connecte parents, enseignants et administration par salle de classe — pour une communication fluide et centralisée.</div>
</div>
</div>
</div>
</section>
<!-- ════════════════════════════════════
APP SCREENSHOTS
════════════════════════════════════ -->
<section id="apercu">
<div class="container">
<div class="apercu-hdr fi">
<div class="sec-badge">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="5" y="2" width="14" height="20" rx="2"/><line x1="12" y1="18" x2="12.01" y2="18" stroke-width="3"/></svg>
<span class="t" data-fr="Aperçu de l'application" data-en="App preview">Aperçu de l'application</span>
</div>
<h2 class="sec-title t" data-fr="Skolya dans votre poche" data-en="Skolya in your pocket">Skolya dans votre poche</h2>
<p class="sec-sub t"
data-fr="Une interface mobile soignée, pensée pour tous les acteurs de l'école. Intuitive, rapide, et disponible même hors connexion."
data-en="A polished mobile interface, designed for every member of the school community. Intuitive, fast, and available even offline.">
Une interface mobile soignée, pensée pour tous les acteurs de l'école. Intuitive, rapide, et disponible même hors connexion.
</p>
</div>
<div class="mockup-grid">
<div class="mockup-item fi" style="transition-delay:.08s">
<img src="{{asset('assets-website/img/skolya/absences-retards.png')}}"
alt="Absences et Retards — Skolya app"
class="mockup-img" loading="lazy"/>
</div>
<div class="mockup-item fi" style="transition-delay:.18s">
<img src="{{asset('assets-website/img/skolya/devoirs-scolarite.png')}}"
alt="Devoirs et Scolarité — Skolya app"
class="mockup-img" loading="lazy"/>
</div>
</div>
</div>
</section>
<!-- ════════════════════════════════════
FAQ
════════════════════════════════════ -->
<!-- ════════════════════════════════════
FAQ
════════════════════════════════════ -->
<section id="faq">
<div class="container">
<div class="faq-wrap">
<div class="faq-img-side fi">
<div class="faq-direct-img">
<img src="{{ asset('assets-website/img/skolya/laptop-screen.jpeg') }}" alt="Skolya">
</div>
</div>
<div class="fi" style="transition-delay:.1s">
<div class="sec-badge">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3"/><line x1="12" y1="17" x2="12.01" y2="17" stroke-width="3"/></svg>
FAQ
</div>
<h2 class="sec-title t" data-fr="Questions fréquentes" data-en="Frequently asked questions">Questions fréquentes</h2>
<p class="sec-sub t"
data-fr="Tout ce que vous devez savoir sur Skolya et comment nous transformons votre établissement."
data-en="Everything you need to know about Skolya and how we can transform your institution.">
Tout ce que vous devez savoir sur Skolya et comment nous transformons votre établissement.
</p>
<div class="accordion">
<div class="acc-item">
<div class="acc-trigger" onclick="toggleAcc(this)">
<span class="acc-q t" data-fr="Comment fonctionne Skolya ?" data-en="How does Skolya work?">Comment fonctionne Skolya ?</span>
<span class="acc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9"/></svg></span>
</div>
<div class="acc-body"><div class="acc-body-inner t"
data-fr="Skolya est une plateforme SaaS qui s'intègre facilement dans votre école. Après une rapide configuration, tous vos acteurs — administration, enseignants, parents, élèves — accèdent à leurs espaces personnalisés via web ou mobile."
data-en="Skolya is a SaaS platform that integrates easily into your school. After a quick setup, all stakeholders — administration, teachers, parents, students — access their personalized spaces via web or mobile.">
Skolya est une plateforme SaaS qui s'intègre facilement dans votre école. Après une rapide configuration, tous vos acteurs — administration, enseignants, parents, élèves — accèdent à leurs espaces personnalisés via web ou mobile.
</div></div>
</div>
<div class="acc-item">
<div class="acc-trigger" onclick="toggleAcc(this)">
<span class="acc-q t" data-fr="Combien coûte Skolya ?" data-en="How much does Skolya cost?">Combien coûte Skolya ?</span>
<span class="acc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9"/></svg></span>
</div>
<div class="acc-body"><div class="acc-body-inner t"
data-fr="Nos offres sont adaptées à la taille et aux besoins de chaque établissement. Contactez-nous pour un devis personnalisé. Nous proposons des formules flexibles sans engagement long terme."
data-en="Our pricing is adapted to the size and needs of each institution. Contact us for a personalized quote. We offer flexible plans with no long-term commitment.">
Nos offres sont adaptées à la taille et aux besoins de chaque établissement. Contactez-nous pour un devis personnalisé. Nous proposons des formules flexibles sans engagement long terme.
</div></div>
</div>
<div class="acc-item">
<div class="acc-trigger" onclick="toggleAcc(this)">
<span class="acc-q t" data-fr="La migration de mes données est-elle sécurisée ?" data-en="Is my data migration secure?">La migration de mes données est-elle sécurisée ?</span>
<span class="acc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9"/></svg></span>
</div>
<div class="acc-body"><div class="acc-body-inner t"
data-fr="Absolument. Nous utilisons un chiffrement de bout en bout et nos serveurs respectent les standards internationaux de sécurité. Votre équipe est accompagnée à chaque étape de la migration."
data-en="Absolutely. We use end-to-end encryption and our servers comply with international security standards. Your team is guided every step of the way.">
Absolument. Nous utilisons un chiffrement de bout en bout et nos serveurs respectent les standards internationaux de sécurité. Votre équipe est accompagnée à chaque étape de la migration.
</div></div>
</div>
<div class="acc-item">
<div class="acc-trigger" onclick="toggleAcc(this)">
<span class="acc-q t" data-fr="Y a-t-il une application mobile ?" data-en="Is there a mobile app?">Y a-t-il une application mobile ?</span>
<span class="acc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9"/></svg></span>
</div>
<div class="acc-body"><div class="acc-body-inner t"
data-fr="Oui ! Skolya dispose d'applications natives iOS et Android. L'expérience mobile est pensée pour être fluide et intuitive même avec une connexion limitée, une priorité en Afrique."
data-en="Yes! Skolya has native iOS and Android apps. The mobile experience is designed to be smooth even with a limited connection — a key priority in Africa.">
Oui ! Skolya dispose d'applications natives iOS et Android. L'expérience mobile est pensée pour être fluide et intuitive même avec une connexion limitée, une priorité en Afrique.
</div></div>
</div>
<div class="acc-item">
<div class="acc-trigger" onclick="toggleAcc(this)">
<span class="acc-q t" data-fr="Quelle est la durée de mise en place ?" data-en="What is the setup time?">Quelle est la durée de mise en place ?</span>
<span class="acc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><polyline points="6 9 12 15 18 9"/></svg></span>
</div>
<div class="acc-body"><div class="acc-body-inner t"
data-fr="En moyenne, un établissement est pleinement opérationnel en moins de 2 semaines. Notre équipe assure la formation de vos personnels et l'onboarding complet."
data-en="On average, an institution is fully operational in less than 2 weeks. Our team handles staff training and complete onboarding.">
En moyenne, un établissement est pleinement opérationnel en moins de 2 semaines. Notre équipe assure la formation de vos personnels et l'onboarding complet.
</div></div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- ════════════════════════════════════
CONTACT
════════════════════════════════════ -->
<section id="contact">
<div class="container">
<div class="contact-card fi">
<div class="contact-sweep"></div>
<h2 class="contact-title t"
data-fr="Envie de transformer l'image de votre établissement ?"
data-en="Ready to transform your institution's image?">
Envie de transformer l'image de votre établissement ?
</h2>
<p class="contact-sub t"
data-fr="Rejoignez les établissements qui font confiance à Skolya pour digitaliser le suivi scolaire de leurs élèves. Notre équipe est disponible pour vous accompagner."
data-en="Join the schools that trust Skolya to digitize their management. Our team is ready to support you.">
Rejoignez les établissements qui font confiance à Skolya pour digitaliser le suivi scolaire de leurs élèves. Notre équipe est disponible pour vous accompagner.
</p>
<a href="https://wa.me/237696864017?text=Bonjour%2C%20je%20souhaite%20plus%20d%27informations%20sur%20Skolya" class="btn-wa" target="_blank" rel="noopener">
<svg viewBox="0 0 24 24"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg>
<span class="t" data-fr="Nous contacter sur WhatsApp" data-en="Contact us on WhatsApp">Nous contacter sur WhatsApp</span>
</a>
</div>
</div>
</section>
<!-- ════════════════════════════════════
FOOTER
════════════════════════════════════ -->
<footer>
<div class="footer-top">
<div class="footer-brand">
<a href="#accueil" class="nav-logo" style="margin-bottom:14px;display:inline-flex">
<div class="nav-logo-mark">
<svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
<path d="M22 10v6M2 10l10-5 10 5-10 5z"/>
<path d="M6 12.5v4c3 3 9 3 12 0v-4"/>
</svg>
</div>
<span class="nav-logo-name shimmer-txt">Skolya</span>
</a>
<p class="t"
data-fr="La plateforme éducative intelligente qui révolutionne le suivi scolaire en Afrique."
data-en="The intelligent education platform revolutionizing school management across Africa.">
La plateforme éducative intelligente qui révolutionne le suivi scolaire en Afrique.
</p>
<div class="footer-socials">
<a href="#" aria-label="Facebook"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z"/></svg></a>
<a href="#" aria-label="LinkedIn"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M16 8a6 6 0 016 6v7h-4v-7a2 2 0 00-2-2 2 2 0 00-2 2v7h-4v-7a6 6 0 016-6zM2 9h4v12H2z"/><circle cx="4" cy="4" r="2"/></svg></a>
<a href="#" aria-label="Twitter/X"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M23 3a10.9 10.9 0 01-3.14 1.53 4.48 4.48 0 00-7.86 3v1A10.66 10.66 0 013 4s-4 9 5 13a11.64 11.64 0 01-7 2c9 5 20 0 20-11.5a4.5 4.5 0 00-.08-.83A7.72 7.72 0 0023 3z"/></svg></a>
</div>
</div>
<div class="footer-col">
<h5 class="t" data-fr="Produit" data-en="Product">Produit</h5>
<ul>
<li><a href="#fonctionnalites" class="t" data-fr="Fonctionnalités" data-en="Features">Fonctionnalités</a></li>
<li><a href="#faq" class="t" data-fr="FAQ" data-en="FAQ">FAQ</a></li>
<li><a href="#" class="t" data-fr="Documentation" data-en="Documentation">Documentation</a></li>
<li><a href="#" class="t" data-fr="Nouveautés" data-en="Updates">Nouveautés</a></li>
</ul>
</div>
<div class="footer-col">
<h5 class="t" data-fr="Entreprise" data-en="Company">Entreprise</h5>
<ul>
<li><a href="#" class="t" data-fr="À propos" data-en="About us">À propos</a></li>
<li><a href="#" class="t" data-fr="Blog" data-en="Blog">Blog</a></li>
<li><a href="#" class="t" data-fr="Carrières" data-en="Careers">Carrières</a></li>
<li><a href="#" class="t" data-fr="Partenaires" data-en="Partners">Partenaires</a></li>
</ul>
</div>
<div class="footer-col">
<h5 class="t" data-fr="Contact" data-en="Contact">Contact</h5>
<div class="footer-clist">
<div class="footer-ci">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22,6 12,13 2,6"/></svg>
contact@skolya.cm
</div>
<div class="footer-ci">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 014.69 9.81a19.79 19.79 0 01-3.07-8.67A2 2 0 013.62 1h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 8.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z"/></svg>
+237 696 864 017
</div>
<div class="footer-ci">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z"/><circle cx="12" cy="10" r="3"/></svg>
Yaoundé, Cameroun
</div>
</div>
</div>
</div>
<div class="footer-bot">
<p>© 2025 Skolya. <span class="t" data-fr="Tous droits réservés." data-en="All rights reserved.">Tous droits réservés.</span></p>
<div class="footer-bot-links">
<a href="#" class="t" data-fr="Confidentialité" data-en="Privacy">Confidentialité</a>
<a href="#" class="t" data-fr="Conditions" data-en="Terms">Conditions</a>
</div>
</div>
</footer>
<!-- ════════════════════════════════════
FLOATING WHATSAPP
════════════════════════════════════ -->
<a href="https://wa.me/237696864017?text=Bonjour%2C%20je%20souhaite%20plus%20d%27informations%20sur%20Skolya"
class="wa-float" target="_blank" rel="noopener" aria-label="WhatsApp">
<svg viewBox="0 0 24 24"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg>
</a>
<!-- ════════════════════════════════════
SCRIPTS
════════════════════════════════════ -->
<script>
(function(){
/* ── THEME ── */
const html = document.documentElement;
const saved = localStorage.getItem('sk-theme') || 'light';
html.setAttribute('data-theme', saved);
applyIcon(saved);
document.getElementById('themeBtn').addEventListener('click', () => {
const next = html.getAttribute('data-theme') === 'light' ? 'dark' : 'light';
html.setAttribute('data-theme', next);
localStorage.setItem('sk-theme', next);
applyIcon(next);
});
function applyIcon(t) {
document.getElementById('iconSun').style.display = t==='light' ? 'block':'none';
document.getElementById('iconMoon').style.display = t==='dark' ? 'block':'none';
}
/* ── LANGUAGE ── */
let lang = localStorage.getItem('sk-lang') || 'fr';
applyLang(lang);
window.setLang = function(l) {
lang = l;
localStorage.setItem('sk-lang', l);
applyLang(l);
document.getElementById('langMenu').classList.remove('open');
document.getElementById('langBtn').classList.remove('open');
};
function applyLang(l) {
document.getElementById('flagEl').textContent = l==='fr' ? '🇫🇷' : '🇬🇧';
document.getElementById('codeEl').textContent = l.toUpperCase();
document.querySelectorAll('.t').forEach(el => {
const v = el.getAttribute('data-'+l);
if (v) el.textContent = v;
});
document.documentElement.lang = l;
}
const langBtn = document.getElementById('langBtn');
const langMenu = document.getElementById('langMenu');
langBtn.addEventListener('click', e => {
e.stopPropagation();
langMenu.classList.toggle('open');
langBtn.classList.toggle('open');
});
document.addEventListener('click', () => {
langMenu.classList.remove('open');
langBtn.classList.remove('open');
});
/* ── HAMBURGER ── */
const hambBtn = document.getElementById('hambBtn');
const mobileNav = document.getElementById('mobileNav');
hambBtn.addEventListener('click', () => {
hambBtn.classList.toggle('open');
mobileNav.classList.toggle('open');
});
window.closeMob = function() {
hambBtn.classList.remove('open');
mobileNav.classList.remove('open');
};
/* ── NAVBAR ── */
const navbar = document.getElementById('navbar');
window.addEventListener('scroll', () => {
navbar.classList.toggle('scrolled', window.scrollY > 20);
highlightNav();
}, { passive:true });
const sections = document.querySelectorAll('section[id]');
const links = document.querySelectorAll('.nav-links a');
function highlightNav() {
let cur = '';
sections.forEach(s => { if (window.scrollY >= s.offsetTop - 90) cur = s.id; });
links.forEach(a => a.classList.toggle('active', a.getAttribute('href') === '#'+cur));
}
/* ── COUNTERS ── */
function animCounter(el) {
if (el.dataset.done) return;
el.dataset.done = '1';
const target = +el.dataset.target;
const fmt = el.dataset.fmt;
const dur = 1800;
const t0 = performance.now();
(function tick(now) {
const p = Math.min((now-t0)/dur, 1);
const ease = 1 - Math.pow(1-p, 3);
const v = Math.round(ease * target);
if (fmt === 'kplus') el.textContent = (v>=1000 ? (v/1000).toFixed(1)+'K' : v) + '+';
else if (fmt === 'pct') el.textContent = v + '%';
else el.textContent = v + '+';
if (p < 1) requestAnimationFrame(tick);
})(t0);
}
/* ── INTERSECTION OBSERVER ── */
const io = new IntersectionObserver(entries => {
entries.forEach(e => {
if (!e.isIntersecting) return;
e.target.classList.add('visible');
const num = e.target.querySelector('.ctr-num');
if (num) animCounter(num);
});
}, { threshold:0.12 });
document.querySelectorAll('.fi, .counter-card').forEach(el => io.observe(el));
/* ── ACCORDION ── */
window.toggleAcc = function(trigger) {
const item = trigger.closest('.acc-item');
const isOpen = item.classList.contains('open');
document.querySelectorAll('.acc-item').forEach(i => {
i.classList.remove('open');
i.querySelector('.acc-body').classList.remove('open');
});
if (!isOpen) {
item.classList.add('open');
item.querySelector('.acc-body').classList.add('open');
}
};
})();
</script>
</body>
</html>