/* ============ Copilote d'Entreprise — feuille de style commune ============ */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
.sec[id] { scroll-margin-top:70px; } /* ancres non masquées par le menu fixe */
body { font-family:'Libre Franklin',sans-serif; background:#0b1d2e; color:#e8eef4; -webkit-font-smoothing:antialiased; }
a { color:#d4a574; text-decoration:none; }
a:hover { color:#e8c98f; }
.mono { font-family:'JetBrains Mono',monospace; }
.pf { font-family:'Playfair Display',serif; }
summary { list-style:none; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
.faq-item[open] .faq-plus { transform:rotate(45deg); }
.faq-plus { transition:transform .2s ease; }

/* ---------- Formulaire ---------- */
.form-input { width:100%; background:#0b1d2e; border:1px solid rgba(255,255,255,.14); border-radius:10px; padding:14px 16px; font-size:15px; color:#e8eef4; font-family:'Libre Franklin',sans-serif; }
.form-input::placeholder { color:#6d859e; }
.form-input:focus { outline:none; border-color:#d4a574; }
textarea.form-input { resize:vertical; min-height:130px; }
.contact-form { background:#132741; border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:34px; text-align:left; margin:0 auto 40px; max-width:720px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.form-label { display:block; font-size:13px; font-weight:600; color:#a9bccf; margin-bottom:6px; }
.form-consent { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.55; color:#8aa3bd; margin:16px 0 22px; }
.form-consent input { margin-top:3px; accent-color:#d4a574; flex-shrink:0; }
.form-submit { background:#d4a574; color:#0b1d2e; border:none; padding:17px 32px; border-radius:9px; font-weight:700; font-size:16px; font-family:'Libre Franklin',sans-serif; cursor:pointer; width:100%; }
.form-submit:hover { background:#e8c98f; }
.hp-field { position:absolute; left:-9999px; }

/* ---------- Menu mobile ---------- */
.nav-toggle { display:none; background:none; border:1px solid rgba(255,255,255,.2); border-radius:8px; width:44px; height:44px; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.nav-toggle span { display:block; width:20px; height:2px; background:#e8eef4; border-radius:2px; transition:transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav-mobile { display:none; }

@media (max-width: 880px) {
  .nav-inner { padding:14px 18px !important; }
  .nav-links { gap:12px !important; }
  .nav-links a:not(.nav-cta) { display:none !important; }
  .nav-cta { padding:10px 14px !important; font-size:13px !important; }
  .nav-toggle { display:flex; }
  .nav-mobile.open { display:flex; flex-direction:column; padding:6px 18px 18px; border-top:1px solid rgba(255,255,255,.08); }
  .nav-mobile a { color:#c3d0de; font-size:16px; font-weight:500; padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.06); }
  .nav-mobile a:last-child { border-bottom:none; }
  .sec { padding:58px 20px !important; }
  .hero-sec { padding:60px 20px 46px !important; }
  .hero-h1 { font-size:38px !important; }
  .hero-p { font-size:17px !important; }
  .h2-lg { font-size:29px !important; }
  .grid-collapse { grid-template-columns:1fr !important; gap:16px !important; }
  .split, .about { grid-template-columns:1fr !important; gap:34px !important; }
  .about { text-align:center; }
  .about > div:first-child > div { width:220px !important; height:220px !important; }
  .eco { grid-template-columns:1fr !important; gap:0 !important; padding:24px !important; }
  .eco > div { border-left:none !important; padding-left:0 !important; border-top:1px solid rgba(255,255,255,.1); padding:16px 0 !important; }
  .eco > .mono { border-top:none !important; padding:0 0 6px !important; max-width:none !important; }
  .table-scroll { overflow-x:auto !important; -webkit-overflow-scrolling:touch; border-radius:14px; }
  .table-inner { min-width:760px !important; }
  .contact-form { padding:24px 18px; }
  .form-grid { grid-template-columns:1fr; }
}
@media (max-width: 380px) {
  .brand-name { font-size:15px !important; }
}
