:root { --ink:#17202a; --muted:#5c6773; --blue:#155eef; --light:#f5f8ff; --line:#dfe6ef; --green:#087443; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif; line-height:1.5; }
.wrap { max-width:1120px; margin:auto; padding:0 24px; } header { border-bottom:1px solid var(--line); background:#fff; }
nav { height:72px; display:flex; align-items:center; justify-content:space-between; position:relative; } .logo { display:flex; align-items:center; } .logo img { display:block; height:30px; width:auto; } nav a { color:var(--ink); text-decoration:none; margin-left:22px; font-size:14px; }
.burger { display:none; width:40px; height:40px; margin-left:auto; padding:9px; background:none; border:0; cursor:pointer; }
.burger span { display:block; width:22px; height:2px; margin:5px 0; background:var(--ink); }
.btn { display:inline-block; background:var(--blue); color:white; border-radius:8px; padding:12px 18px; text-decoration:none; font-weight:700; border:0; cursor:pointer; }
.btn.secondary { background:white; color:var(--blue); border:1px solid #b8c9f5; } .hero { background:linear-gradient(120deg,#f5f8ff,#fff); padding:86px 0 72px; }
.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:54px; align-items:center; } h1 { font-size:clamp(38px,5vw,64px); line-height:1.03; letter-spacing:-.055em; margin:0 0 22px; } h2 { font-size:32px; letter-spacing:-.03em; margin:0 0 14px; } p { color:var(--muted); }
.lead { font-size:20px; max-width:690px; } .actions { display:flex; gap:12px; flex-wrap:wrap; margin:28px 0 18px; } .note { font-size:13px; color:var(--muted); }
.card { background:white; border:1px solid var(--line); border-radius:16px; padding:25px; box-shadow:0 12px 35px rgba(28,61,110,.08); } .card h3 { margin-top:0; } .check { display:flex; gap:10px; margin:15px 0; } .check span { color:var(--green); font-weight:800; }
section { padding:72px 0; }
section.light { background:var(--light); }
.duo { display:grid; grid-template-columns:.9fr 1.1fr; gap:40px; align-items:center; }
.photo-large { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:16px; display:block; } .center { text-align:center; } .grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; } .grid.deux { grid-template-columns:repeat(2,1fr); } .feature { border:1px solid var(--line); border-radius:12px; padding:22px; } .feature h3 { margin-top:0; }
.pricing { background:var(--light); } .price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:30px; } .price { background:#fff; border:1px solid var(--line); border-radius:14px; padding:24px; } .price.highlight { border:2px solid var(--blue); }
.price.option { margin-top:18px; display:grid; grid-template-columns:1fr 260px; gap:26px; align-items:center; }
.price.option h3 { margin-top:0; } .price.option .option-prix { text-align:center; }
.price.option .option-prix .note { margin:8px 0 16px; } .price strong { font-size:30px; } .price ul { padding-left:20px; color:var(--muted); }
.audit { background:#17202a; color:#fff; } .audit p { color:#d7dde5; } .audit .card { color:var(--ink); } /* `.audit p` vise le fond sombre : la carte, elle, est blanche. */
.audit .card p, .audit .card li { color:var(--muted); } .audit-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center; }
footer { border-top:1px solid var(--line); padding:28px 0; font-size:13px; color:var(--muted); } @media(max-width:760px) { .hero-grid,.audit-grid,.duo { grid-template-columns:1fr; } .grid,.grid.deux,.price-grid,.price.option { grid-template-columns:1fr; } .hero { padding-top:55px; } }
/* Menu replié sous 1040 px (2026-09-15) : avec l'entrée « Subventions », logo et menu (~990 px) ne tiennent plus sur une ligne en dessous. */
@media(max-width:1040px) {
  .burger { display:block; }
  #menu-mobile { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:4px; background:#fff; border:1px solid var(--line); border-top:0; padding:10px 24px 18px; box-shadow:0 12px 24px rgba(23,32,42,.08); }
  #menu-mobile.ouvert { display:flex; }
  #menu-mobile a { margin-left:0; padding:12px 0; border-bottom:1px solid var(--line); }
  #menu-mobile a.btn { margin-top:10px; text-align:center; border-bottom:0; }
}

/* Pages de contenu : CGV, mentions légales, confidentialité. */
.contenu { max-width: 820px; padding-top: 48px; padding-bottom: 64px; }
.contenu h1 { font-size: clamp(30px, 4vw, 44px); }
.contenu h2 { font-size: 24px; margin-top: 38px; }
.contenu h3 { font-size: 18px; margin-top: 26px; }
.contenu li { color: var(--muted); margin-bottom: 6px; }
.contenu blockquote {
  border-left: 4px solid var(--blue);
  background: var(--light);
  margin: 22px 0;
  padding: 14px 20px;
  border-radius: 0 10px 10px 0;
}
.contenu code { background: var(--light); padding: 2px 6px; border-radius: 4px; font-size: 14px; }
.a-completer { background: #fffbeb; border-left: 4px solid #f59e0b; padding: 12px 18px; border-radius: 0 10px 10px 0; }
nav a.actif { font-weight: 700; color: var(--blue); }

/* Information sur les cookies (2026-09-14) : discrète, en bas à droite ; rouvrable depuis le pied de page. */
.lien-cookies { background:none; border:0; padding:0; font:inherit; color:LinkText; text-decoration:underline; cursor:pointer; }
.info-cookies { position:fixed; right:16px; bottom:16px; z-index:50; max-width:380px; display:flex; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px 16px; box-shadow:0 12px 35px rgba(28,61,110,.14); font-size:14px; }
.info-cookies[hidden] { display:none; } /* sans cela, display:flex l'emporte sur l'attribut hidden */
.info-cookies p { margin:0; color:var(--muted); }
.info-cookies .btn { padding:8px 14px; white-space:nowrap; }
@media(max-width:760px) { .info-cookies { left:16px; max-width:none; } }
.contenu table { width:100%; border-collapse:collapse; font-size:15px; margin:18px 0; }
.contenu th, .contenu td { text-align:left; vertical-align:top; padding:8px 10px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
@media(max-width:760px) { .contenu table { font-size:14px; } .contenu th, .contenu td { padding:6px; } }

/* Page contact (2026-09-14) : formulaire Formbricks embarqué, hauteur fixée pour éviter une iframe écrasée. */
.formulaire-contact { position:relative; height:80dvh; min-height:560px; margin:24px 0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.formulaire-contact iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
