:root{
  --bg:#f4f5f7; --card:#ffffff; --brd:#e6e8eb; --brd2:#d6d9de;
  --txt:#111827; --muted:#6b7280; --faint:#9aa1ad;
  --accent:#3b5bdb; --accent-bg:#edf0fd;
  --vert:#0a9d5a; --vert-bg:#e7f6ee; --rouge:#d33a3a;
  --r:14px;
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
  --shadow-lg:0 10px 30px rgba(16,24,40,.10), 0 2px 8px rgba(16,24,40,.05);
  --maxw:1120px;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--txt);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.55;
  background-image:radial-gradient(1100px 400px at 100% -140px, rgba(59,91,219,.07), transparent 70%);
  background-attachment:fixed;
}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3{letter-spacing:-.3px;line-height:1.15;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:100;}
.skip-link:focus{left:0;}

:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;background:var(--card);color:var(--txt);border:1px solid var(--brd2);
  padding:11px 20px;border-radius:11px;cursor:pointer;font-size:15px;font-weight:600;
  text-decoration:none;box-shadow:var(--shadow);transition:.15s;
}
.btn:hover{border-color:var(--accent);color:var(--accent);}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);}
.btn-primary:hover{color:#fff;opacity:.92;border-color:var(--accent);}
.btn-ghost{background:#fff;}
.btn-sm{padding:8px 14px;font-size:14px;}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--brd);}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--txt);font-weight:700;}
.brand-mark{display:inline-flex;color:var(--txt);}
.brand-name{font-size:19px;letter-spacing:-.4px;}
.nav-links{display:flex;align-items:center;gap:22px;}
.nav-links a{text-decoration:none;color:var(--muted);font-size:15px;font-weight:500;}
.nav-links a:hover{color:var(--accent);}
.nav-links a.btn{color:#fff;}

/* ---------- Hero ---------- */
.hero{padding:64px 0 40px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.eyebrow{color:var(--accent);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;}
.hero h1{font-size:clamp(34px,5vw,54px);margin:0 0 18px;font-weight:800;}
.grad{background:linear-gradient(120deg,#1e293b,#3b5bdb 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.lead{font-size:18px;color:var(--muted);margin:0 0 26px;max-width:48ch;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}
.hero-badges{list-style:none;display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:28px 0 0;color:var(--muted);font-size:14.5px;font-weight:500;}

/* Hero mock */
.hero-art{display:flex;justify-content:center;}
.mock-window{width:100%;max-width:460px;background:var(--card);border:1px solid var(--brd);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;}
.mock-bar{display:flex;gap:7px;padding:13px 15px;border-bottom:1px solid var(--brd);}
.mock-bar .dot{width:11px;height:11px;border-radius:50%;background:var(--brd2);}
.mock-bar .dot:first-child{background:#ff5f57;}
.mock-bar .dot:nth-child(2){background:#febc2e;}
.mock-bar .dot:nth-child(3){background:#28c840;}
.mock-body{display:grid;grid-template-columns:120px 1fr;min-height:300px;}
.mock-side{background:var(--bg);border-right:1px solid var(--brd);padding:14px 10px;display:flex;flex-direction:column;gap:7px;}
.ms-item{font-size:12.5px;color:var(--muted);padding:7px 9px;border-radius:8px;font-weight:500;}
.ms-item.on{background:var(--accent);color:#fff;}
.mock-main{padding:16px;display:grid;gap:14px;}
.mock-card{background:linear-gradient(135deg,#fff,var(--accent-bg) 160%);border:1px solid #dfe4fa;border-radius:12px;padding:13px 15px;display:flex;flex-direction:column;gap:2px;}
.mc-label{font-size:12px;color:var(--muted);}
.mc-value{font-size:24px;font-weight:700;color:var(--accent);}
.mc-pos{font-size:13px;color:var(--vert);font-weight:600;}
.mock-chart{display:flex;align-items:flex-end;gap:8px;height:90px;padding:0 4px;}
.mock-chart .bar{flex:1;background:linear-gradient(180deg,var(--accent),#7d92e8);border-radius:5px 5px 0 0;opacity:.85;}
.mock-donut{height:64px;width:64px;border-radius:50%;background:conic-gradient(var(--accent) 0 45%,var(--vert) 45% 70%,#febc2e 70% 88%,var(--rouge) 88% 100%);justify-self:center;mask:radial-gradient(circle 17px at 50% 50%,transparent 98%,#000 100%);-webkit-mask:radial-gradient(circle 17px at 50% 50%,transparent 98%,#000 100%);}

/* ---------- Sections ---------- */
.section{padding:72px 0;}
.section-alt{background:#fff;border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px;}
.section-head h2{font-size:clamp(26px,3.5vw,36px);margin:0 0 12px;}
.section-head p{color:var(--muted);font-size:17px;margin:0;}

/* Features */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.feature-card{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:24px 22px;box-shadow:var(--shadow);transition:.18s;}
.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.fc-icon{font-size:30px;margin-bottom:14px;}
.feature-card h3{font-size:18px;margin:0 0 10px;}
.feature-card p{color:var(--muted);font-size:14.5px;margin:0;}

/* Demo */
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.demo-grid h2{font-size:clamp(26px,3.5vw,34px);margin:0 0 16px;}
.note{font-size:13.5px;color:var(--faint);margin:0 0 22px;}
.demo-shot{background:linear-gradient(135deg,var(--accent-bg),#fff);border:1px dashed var(--brd2);border-radius:16px;height:300px;display:flex;align-items:center;justify-content:center;color:var(--faint);font-weight:600;box-shadow:var(--shadow);}
.demo-figure{align-self:center;}
.demo-img{width:100%;height:auto;aspect-ratio:760/400;border-radius:16px;border:1px solid var(--brd);box-shadow:var(--shadow-lg);display:block;}
.shot-note{font-size:12.5px;color:var(--faint);margin:10px 0 0;}

/* Screenshots */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.shot{margin:0;}
.shot-ph{background:linear-gradient(135deg,#fff,var(--bg));border:1px dashed var(--brd2);border-radius:14px;height:220px;display:flex;align-items:center;justify-content:center;color:var(--faint);font-weight:600;box-shadow:var(--shadow);}
.shot-img{width:100%;height:auto;aspect-ratio:480/320;border-radius:14px;border:1px solid var(--brd);box-shadow:var(--shadow);display:block;transition:transform .18s,box-shadow .18s;}
.shot-img:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.shot figcaption{text-align:center;margin-top:12px;color:var(--muted);font-size:14.5px;font-weight:500;}

/* Compte à rebours de lancement */
.countdown{display:inline-flex;flex-direction:column;align-items:center;gap:5px;background:var(--accent-bg);border:1px solid #cdd6f7;border-radius:var(--r);padding:16px 30px;min-width:300px;}
.cd-label{font-size:13px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.4px;}
.cd-time{font-size:30px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.5px;}
.cd-sub{font-size:13px;color:var(--muted);}
.store-btn.live{background:var(--accent);color:#fff;border-color:var(--accent);}

/* À venir : plateformes */
.soon-platforms{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px 0 4px;}
.soon-label{font-size:13px;color:var(--muted);font-weight:500;}
.soon-chip{font-size:13px;font-weight:600;color:var(--muted);background:var(--bg);border:1px solid var(--brd2);border-radius:999px;padding:5px 12px;}

/* Privacy */
.privacy{max-width:720px;margin:0 auto;text-align:center;}
.privacy-icon{font-size:42px;margin-bottom:8px;}
.privacy h2{font-size:clamp(26px,3.5vw,34px);margin:0 0 14px;}
.checklist{list-style:none;padding:0;margin:28px auto 0;max-width:480px;text-align:left;display:grid;gap:12px;}
.checklist li{position:relative;padding-left:32px;color:var(--txt);font-size:15.5px;}
.checklist li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;background:var(--vert-bg);color:var(--vert);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;}

/* Pricing */
.price-card{max-width:440px;margin:0 auto;background:var(--card);border:1px solid var(--brd);border-radius:18px;box-shadow:var(--shadow-lg);padding:36px 30px;text-align:center;}
.price-tag{display:block;font-size:64px;font-weight:800;color:var(--accent);line-height:1;}
.price-sub{color:var(--muted);margin:6px 0 22px;font-size:15px;}
.price-feats{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px;text-align:left;}
.price-feats li{position:relative;padding-left:28px;color:var(--txt);font-size:15px;}
.price-feats li::before{content:"✓";position:absolute;left:0;color:var(--vert);font-weight:700;}
.store-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.store-btn{background:#111827;color:#fff;text-decoration:none;border-radius:11px;padding:11px 16px;font-size:13px;display:inline-flex;flex-direction:column;line-height:1.2;transition:.15s;}
.store-btn:hover{opacity:.88;}
.store-pre{font-size:10.5px;opacity:.8;}
.store-name{font-size:15px;font-weight:700;}
.price-foot{color:var(--faint);font-size:13px;margin:22px 0 0;}

/* ---------- Footer ---------- */
.site-footer{background:#fff;border-top:1px solid var(--brd);padding:48px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:36px;}
.brand-footer{margin-bottom:8px;}
.footer-tag{color:var(--muted);font-size:14.5px;margin:0;}
.footer-col h3{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--faint);margin:0 0 12px;}
.footer-col a{display:block;text-decoration:none;color:var(--muted);font-size:14.5px;margin-bottom:8px;}
.footer-col a:hover{color:var(--accent);}
.footer-legal p{color:var(--muted);font-size:14px;margin:0 0 10px;line-height:1.7;}
.footer-legal a{color:var(--accent);text-decoration:none;}
.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid var(--brd);}
.footer-bottom p{color:var(--faint);font-size:13px;margin:0;}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:36px;}
  .hero{padding:44px 0 24px;}
  .cards{grid-template-columns:repeat(2,1fr);}
  .demo-grid{grid-template-columns:1fr;gap:28px;}
  .shots{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
}
@media (max-width:600px){
  .nav-links a:not(.btn){display:none;}
  .cards{grid-template-columns:1fr;}
  .hero-badges{gap:12px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none!important;}
}
