:root{--c-bg: #0a1929;--c-bg-elev: #112236;--c-bg-card: #16273d;--c-text: #e8eef5;--c-text-muted: #94a8c0;--c-text-dim: #6b8198;--c-accent: #00d97e;--c-accent-dark: #00a862;--c-border: #1f3654;--c-border-strong: #2d4a6b;--c-warn: #f59e0b;--c-danger: #ef4444;--max-w: 1180px;--radius: 10px;--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 18px rgba(0, 0, 0, .25);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--c-text);background:var(--c-bg);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Inter,-apple-system,sans-serif;color:#fff;line-height:1.25;margin-top:0;letter-spacing:-.01em}h1{font-size:clamp(1.85rem,4vw,2.6rem);margin-bottom:1rem;font-weight:800}h2{font-size:clamp(1.4rem,3vw,1.95rem);margin-bottom:.75rem;font-weight:700}h3{font-size:1.2rem;margin-bottom:.5rem;font-weight:600}a{color:var(--c-accent);text-decoration:none}a:hover{color:var(--c-accent-dark);text-decoration:underline}p{margin:0 0 1rem}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.1rem}.site-header{background:#0a1929eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;padding-bottom:.85rem}.brand{font-weight:800;font-size:1.1rem;color:#fff;text-decoration:none;display:flex;align-items:center;gap:.5rem;letter-spacing:-.02em}.brand:hover{color:var(--c-accent);text-decoration:none}.brand .dot{color:var(--c-accent)}.nav{display:flex;gap:1.4rem;align-items:center}.nav a{color:var(--c-text-muted);font-size:.94rem;font-weight:500}.nav a:hover{color:#fff;text-decoration:none}.nav a.cta{background:var(--c-accent);color:#0a1929;padding:.5rem 1rem;border-radius:var(--radius);font-weight:700}.nav a.cta:hover{background:var(--c-accent-dark);color:#0a1929}.site-footer{background:#061322;color:var(--c-text-muted);margin-top:4rem;padding:3rem 0 1.5rem;font-size:.92rem;border-top:1px solid var(--c-border)}.site-footer h4{color:#fff;font-size:1rem;margin-bottom:.9rem}.site-footer a{color:var(--c-text-muted)}.site-footer a:hover{color:var(--c-accent)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{padding:.25rem 0}.footer-disclaimer{background:#f59e0b14;border:1px solid rgba(245,158,11,.25);border-radius:8px;padding:1rem 1.2rem;margin:1.5rem 0;color:#fde68a;font-size:.85rem}.footer-bottom{border-top:1px solid var(--c-border);padding-top:1.25rem;text-align:center;font-size:.82rem;color:var(--c-text-dim)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.service-card{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius);padding:1.4rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:.55rem;height:100%}.service-card:hover{border-color:var(--c-accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.service-card a.title{color:#fff;text-decoration:none}.service-card a.title:hover{color:var(--c-accent)}.service-card h3{font-size:1.15rem;margin:0}.service-card .desc{color:var(--c-text-muted);font-size:.92rem;margin:0}.service-card .meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.35rem}.badge{display:inline-block;font-size:.72rem;padding:.2rem .6rem;border-radius:999px;font-weight:600;letter-spacing:.02em}.badge.gratuit{background:#00d97e26;color:var(--c-accent)}.badge.freemium{background:#60a5fa26;color:#93c5fd}.badge.publique{background:#f59e0b26;color:#fbbf24}.badge.cat{background:#ffffff0f;color:var(--c-text-muted)}.hero{background:radial-gradient(800px 400px at 90% -10%,rgba(0,217,126,.12),transparent),radial-gradient(600px 300px at 10% 110%,rgba(0,217,126,.08),transparent),linear-gradient(180deg,#0e1f33,#0a1929);color:#fff;padding:4rem 0 3.2rem;border-bottom:1px solid var(--c-border);position:relative}.hero h1{color:#fff;max-width:800px}.hero .lede{font-size:1.18rem;max-width:720px;color:var(--c-text-muted);margin-bottom:1.6rem}.hero .actions{display:flex;flex-wrap:wrap;gap:.8rem}.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:var(--radius);font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;font-size:.98rem}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background:var(--c-accent);color:#0a1929}.btn-primary:hover{background:var(--c-accent-dark);color:#0a1929;box-shadow:var(--shadow)}.btn-ghost{border:1.5px solid var(--c-border-strong);color:var(--c-text);background:transparent}.btn-ghost:hover{background:#ffffff0a;color:#fff}section.block{padding:3.2rem 0}section.block.alt{background:var(--c-bg-elev);border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.section-head{text-align:center;max-width:720px;margin:0 auto 2.2rem}.section-head h2{margin-bottom:.55rem}.section-head p{color:var(--c-text-muted)}.crumb{font-size:.85rem;color:var(--c-text-muted);padding:1rem 0}.crumb a{color:var(--c-text-muted)}.crumb a:hover{color:var(--c-accent)}.crumb span.sep{margin:0 .4rem;opacity:.5}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.4rem;text-align:center;padding:1.7rem 1.2rem;background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius);margin-top:-1.5rem;position:relative;z-index:2}.stats .stat strong{display:block;font-size:1.9rem;color:var(--c-accent);font-weight:800}.stats .stat span{color:var(--c-text-muted);font-size:.9rem}.detail-head{display:grid;grid-template-columns:1fr;gap:1.4rem;padding:2.5rem 0 1rem}.detail-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.2rem}.info-box{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius);padding:1.3rem 1.4rem;margin:1.5rem 0}.info-box h3{font-size:1.05rem;margin-bottom:.7rem;color:var(--c-accent)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem 2rem}.info-grid dt{font-size:.8rem;color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.info-grid dd{margin:0 0 .7rem;color:#fff;font-weight:500}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1.6rem 0}@media (max-width: 700px){.pros-cons{grid-template-columns:1fr}}.pros,.cons{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius);padding:1.2rem 1.3rem}.pros h3{color:var(--c-accent)}.cons h3{color:var(--c-warn)}.pros ul,.cons ul{list-style:none;padding:0;margin:0}.pros li,.cons li{padding:.35rem 0 .35rem 1.4rem;position:relative;color:var(--c-text);font-size:.94rem}.pros li:before{content:"✓";position:absolute;left:0;color:var(--c-accent);font-weight:700}.cons li:before{content:"!";position:absolute;left:.25rem;color:var(--c-warn);font-weight:700}.seo-content{max-width:760px;margin:2.5rem auto;color:var(--c-text)}.seo-content h2{margin-top:2rem;color:#fff}.seo-content h3{margin-top:1.5rem;color:#fff}.seo-content ul{margin-bottom:1rem;padding-left:1.4rem}.seo-content li{margin-bottom:.35rem}.seo-content p{color:var(--c-text)}.faq{max-width:760px;margin:0 auto}.faq details{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--radius);padding:1rem 1.3rem;margin-bottom:.7rem}.faq summary{cursor:pointer;font-weight:600;color:#fff;list-style:none;padding-right:1.5rem;position:relative}.faq summary:after{content:"+";position:absolute;right:0;top:0;font-size:1.3rem;color:var(--c-accent);transition:transform .15s}.faq details[open] summary:after{content:"-"}.faq details p{margin:.8rem 0 0;color:var(--c-text-muted)}.sitemap-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.35rem 1rem;list-style:none;padding:0;margin:0}.sitemap-list li{padding:.25rem 0}.sitemap-list a{color:var(--c-text)}.sitemap-list a:hover{color:var(--c-accent)}@media (max-width: 720px){.nav{gap:.8rem;font-size:.88rem}.nav a:not(.cta){display:none}.nav a.cta{padding:.45rem .8rem;font-size:.85rem}.hero{padding:2.5rem 0 2rem}.stats{margin-top:0}.detail-head{padding:1.5rem 0 .5rem}}@media (max-width: 480px){h1{font-size:1.65rem}}
