/* ============================================================ Nav statique — reproduit Nav.jsx au pixel près (ADR-033 2026-05-15) ============================================================ */ .qllm-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(7,9,12,0.82); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); border-bottom: 1px solid var(--border); } .qllm-nav-spacer { height: 108px; } .qllm-nav-container { max-width: 1280px; margin: 0 auto; padding: 0 32px; } .qllm-nav-grid { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px; height: 76px; } .qllm-nav-ticker { border-bottom: 1px solid var(--border); background: rgba(7,9,12,0.4); height: 32px; overflow: hidden; } .qllm-nav-ticker .qllm-nav-container { display: flex; align-items: center; justify-content: space-between; height: 32px; font-family: var(--font-mono); font-size: 10px; color: var(--text-mute); letter-spacing: 0.08em; text-transform: uppercase; } .qllm-ticker-left { display: flex; align-items: center; gap: 18px; } .qllm-ticker-right { display: flex; align-items: center; gap: 14px; } .qllm-live { display: inline-flex; align-items: center; gap: 6px; } .qllm-live-txt { color: var(--neon); } .qllm-pulse { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--neon); animation: qllmNavPulse 2s ease-in-out infinite; } @keyframes qllmNavPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(74,222,128,0.5); } 50% { box-shadow: 0 0 0 5px rgba(74,222,128,0); } } .qllm-lockup { display: flex; align-items: center; gap: 12px; text-decoration: none; } .qllm-logo { display: block; color: var(--text); } .qllm-brand { display: flex; flex-direction: column; line-height: 1; } .qllm-brand-title { display: inline-flex; align-items: center; gap: 6px; font-family: 'Archivo', sans-serif; font-size: 19px; font-weight: 700; letter-spacing: -0.03em; color: var(--text); } .qllm-brand-fr { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 2px 5px 1px; border-radius: 3px; border: 1px solid rgba(255,255,255,0.18); color: var(--text-dim); transform: translateY(-1px); } .qllm-brand-tag { font-family: 'Inter Tight', sans-serif; font-size: 10.5px; font-weight: 400; color: var(--text-dim); margin-top: 4px; letter-spacing: -0.002em; } .qllm-nav-links { display: flex; align-items: center; justify-content: center; gap: 28px; } .qllm-nav-links > a { position: relative; padding: 8px 0; font-size: 14px; font-weight: 400; letter-spacing: -0.005em; color: var(--text-dim); text-decoration: none; transition: color 0.18s; display: inline-flex; align-items: baseline; gap: 8px; } .qllm-nav-links > a:hover { color: var(--text); } .qllm-nav-num { font-family: var(--font-mono); font-size: 10px; color: var(--text-mute); letter-spacing: 0.05em; } .qllm-nav-cta { display: flex; align-items: center; gap: 10px; } .qllm-cta { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; height: 38px; background: var(--neon); color: #0A0F0A; border: 1px solid var(--neon); border-radius: 10px; font-size: 13px; font-weight: 500; text-decoration: none; box-shadow: 0 0 24px -8px var(--neon-glow); transition: opacity 0.15s; white-space: nowrap; box-sizing: border-box; } .qllm-cta:hover { opacity: 0.88; } /* Dropdowns Outils + Projet (statique, JS vanilla) — reproduit NavDropdown de Nav.jsx */ .qllm-nav-dropdown { position: relative; } .qllm-nav-trigger { background: transparent; border: 0; cursor: pointer; padding: 8px 0; font-family: inherit; font-size: 14px; font-weight: 400; letter-spacing: -0.005em; color: var(--text-dim); display: inline-flex; align-items: baseline; gap: 8px; transition: color 0.18s; } .qllm-nav-trigger:hover, .qllm-nav-trigger[aria-expanded="true"] { color: var(--text); } .qllm-chev { transform: translateY(2px); transition: transform 0.2s; opacity: 0.7; } .qllm-nav-trigger[aria-expanded="true"] .qllm-chev { transform: translateY(2px) rotate(180deg); opacity: 1; } .qllm-dropdown-panel { position: absolute; top: calc(100% + 14px); left: 50%; transform: translateX(-50%); min-width: 280px; padding: 8px; background: rgba(13,17,23,0.96); backdrop-filter: blur(20px) saturate(140%); -webkit-backdrop-filter: blur(20px) saturate(140%); border: 1px solid var(--border); border-radius: 12px; box-shadow: 0 18px 48px -12px rgba(0,0,0,0.65), 0 0 0 1px rgba(255,255,255,0.02); z-index: 51; } .qllm-dropdown-panel[hidden] { display: none; } .qllm-dropdown-panel a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--text); transition: background 0.15s; } .qllm-dropdown-panel a:hover { background: var(--bg-elev); } .qllm-dd-icon { width: 32px; height: 32px; flex: 0 0 32px; display: inline-flex; align-items: center; justify-content: center; background: var(--bg-elev); border: 1px solid var(--border); border-radius: 8px; color: var(--neon); font-size: 14px; font-family: var(--font-mono); } .qllm-dd-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; } .qllm-dd-label { font-size: 13px; font-weight: 500; color: var(--text); line-height: 1.2; } .qllm-dd-desc { font-size: 11px; color: var(--text-mute); line-height: 1.3; } @media (max-width: 1200px) { .qllm-ticker-hide { display: none !important; } } @media (max-width: 1000px) { .qllm-nav-links { display: none !important; } .qllm-nav-grid { grid-template-columns: auto 1fr auto; gap: 16px; } .qllm-nav-ticker { display: none !important; } .qllm-nav-spacer { height: 76px; } } @media (max-width: 720px) { .qllm-nav-container { padding: 0 18px !important; } .qllm-nav-grid { gap: 12px !important; height: 64px; } .qllm-nav-spacer { height: 64px; } .qllm-brand-tag { display: none; } .qllm-cta { font-size: 12px; padding: 8px 12px; height: 34px; } } @media (max-width: 480px) { .qllm-nav-container { padding: 0 14px !important; } .qllm-nav-grid { height: 60px; gap: 10px !important; } .qllm-nav-spacer { height: 60px; } .qllm-cta > span { display: none; } .qllm-cta { padding: 8px 10px; } } /* ============================================================ Seo-footer dense — identique à generate-pages.mjs::renderSeoFooter() (lignes 433-454) pour cohérence visuelle avec les pages SPA. ============================================================ */ .seo-footer .seo-row { display:grid;grid-template-columns:minmax(220px, 1fr) 2fr;gap:20px;margin-bottom:14px } .seo-footer .seo-block { margin-bottom:14px } .seo-footer .seo-row .seo-block, .seo-footer .seo-block:last-of-type { margin-bottom:0 } .seo-footer h2 { color:#6b7280;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;margin:0 0 6px } .seo-footer .seo-pills { display:flex;flex-wrap:wrap;gap:4px } .seo-footer .seo-pills a { display:inline-flex;align-items:center; padding:3px 9px;font-size:11.5px;line-height:1.35; color:#9aa3af;text-decoration:none; background:#0f141b;border:1px solid #1a1f27;border-radius:999px; white-space:nowrap;transition:border-color .15s,color .15s } .seo-footer .seo-pills a.wide { white-space:normal;max-width:100% } .seo-footer .seo-pills a:hover { border-color:#4ade80;color:#e5e7eb } .seo-footer .seo-bottom { margin-top:16px;padding-top:12px;border-top:1px solid #1a1f27;font-size:11px;color:#6b7280 } .seo-footer .seo-bottom p { margin:0 } @media (max-width:720px){ .seo-footer .seo-row { grid-template-columns:1fr;gap:14px } }

Politique de confidentialité

Cette page décrit les traitements de données personnelles réalisés sur quelllm.fr, conformément au Règlement (UE) 2016/679 (RGPD) et à la loi Informatique et Libertés.

Responsable de traitement

Falcon Consulting (SIREN 894 578 962), représentée par Mohamed Meguedmi — contact : page contact.

Données collectées

Le site ne propose ni compte utilisateur ni formulaire de collecte. Les seuls traitements sont :

Cookies et consentement

Au premier accès, aucun cookie de mesure d'audience ni de publicité n'est déposé : le mode de consentement Google (« Consent Mode v2 ») est configuré par défaut sur refusé. Le bandeau de consentement (tarteaucitron.js, auto-hébergé — aucune donnée transmise à un tiers par le bandeau lui-même) vous permet d'accepter ou refuser chaque service. Vous pouvez modifier votre choix à tout moment via le lien « Gérer mes cookies » présent en pied de page. Le cookie « tarteaucitron » mémorise votre choix pendant 365 jours maximum.

Durées de conservation

Transferts hors Union européenne

Les services Google (Analytics, Tag Manager, AdSense) peuvent impliquer des transferts de données vers les États-Unis, encadrés par le Data Privacy Framework et/ou des clauses contractuelles types.

Vos droits

Vous disposez des droits d'accès, de rectification, d'effacement, de limitation, d'opposition et de portabilité sur vos données. Pour les exercer : page contact. Vous pouvez également introduire une réclamation auprès de la CNIL (www.cnil.fr).