:root { --primary:#0047FF; --dark:#0F172A; --bg:#F8FAFC; --urgent:#DC2626; }
* { margin:0; padding:0; box-sizing:border-box; scroll-behavior:smooth; }
body { font-family:'Outfit',sans-serif; background:var(--bg); color:var(--dark); line-height:1.6; }

/* NAV */
nav { background:#fff; border-bottom:3px solid var(--primary); padding:10px 5%; display:flex; justify-content:space-between; align-items:center; position:sticky; top:0; z-index:100; }
.logo-text { font-family:'Barlow'; font-weight:900; font-size:1.5rem; text-transform:uppercase; }
.logo-text span { color:var(--primary); }
.slogan { font-size:0.7rem; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:0.5px; }
.nav-links a { text-decoration:none; color:var(--dark); font-weight:700; margin-left:15px; font-size:0.75rem; text-transform:uppercase; }
.nav-links a.urgent { color:white; background:var(--urgent); padding:5px 10px; border-radius:4px; }

/* HERO */
.hero { padding:100px 5%; background: linear-gradient(rgba(15,23,42,0.85), rgba(15,23,42,0.85)), url('https://images.unsplash.com/photo-1621905251918-48416bd8575a?auto=format&fit=crop&w=1600'); background-size: cover; color:#fff; text-align:center; }
.hero h1 { font-family:'Barlow'; font-size:3rem; margin-bottom:10px; }
.hero p { font-size:1.1rem; margin-bottom:20px; }

/* CTA */
.cta-container { margin-top:20px; display:flex; justify-content:center; flex-wrap:wrap; gap:15px; }
.cta-container a { padding:15px 30px; border-radius:6px; font-weight:700; text-decoration:none; display:inline-block; transition: transform 0.2s, box-shadow 0.2s; }
.cta-primary { background:var(--primary); color:white; }
.cta-secondary { background:white; color:var(--primary); border:2px solid var(--primary); }
.cta-container a:hover { transform:translateY(-3px); box-shadow:0 8px 20px rgba(0,0,0,0.2); }

/* BULLLES STICKY */
.toc { position:sticky; top:100px; right:20px; display:flex; flex-direction:column; gap:10px; padding:10px; align-items:flex-end; z-index:150; }
.toc a { text-decoration:none; background:var(--primary); color:white; padding:10px 18px; border-radius:25px; font-weight:700; font-size:0.85rem; white-space:nowrap; transition:background 0.3s; }
.toc a.urgent { background:var(--urgent); }
.toc a:hover { background:#002bb5; }
@media screen and (max-width:1024px) { .toc { position:static; flex-direction:row; justify-content:center; flex-wrap:wrap; margin:20px 0; } }

/* SECTIONS */
.section { padding:80px 5%; max-width:1000px; margin:auto; background:var(--bg); border-radius:8px; margin-bottom:40px; }
.section h2 { font-family:'Barlow',sans-serif; color:var(--primary); margin-bottom:20px; }
.section p, .section ul { margin-bottom:15px; }
.highlight { background:#f8f9fa; padding:25px; border:1px solid #ddd; margin:20px 0; }
.card-cta { margin-top:30px; padding:20px; background:#f0f4ff; text-align:center; border-radius:6px; }
.card-cta a { background:var(--primary); color:white; padding:15px 30px; text-decoration:none; border-radius:6px; font-weight:700; display:inline-block; margin-top:10px; }
.card-cta a.call { background:#22c55e; margin-left:15px; }

/* TABLE */
table { width:100%; border-collapse:collapse; margin:20px 0; background:white; }
th, td { padding:15px; border-bottom:1px solid #ddd; text-align:left; }
th { background:#0F172A; color:white; }
th.sol { background:#0047FF; color:white; }
td.green { color:#22c55e; font-weight:700; }

/* GRID */
.grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:20px; }
.grid div { background:#f0f4ff; padding:30px; border-top:5px solid var(--primary); }

/* FORMULAIRES */
input, textarea, button { width:100%; padding:10px; margin-bottom:10px; border-radius:5px; border:1px solid #ccc; }
button { background:var(--primary); color:white; border:none; font-weight:700; cursor:pointer; }

/* FOOTER */
footer { background:#000; color:#fff; padding:40px; text-align:center; font-size:0.8rem; }
