:root{
  --marine:#0c2857;      /* bleu marine */
  --turquoise:#2ac3c9;   /* accent digital */
  --gris:#f3f5f7;        /* fond doux */
  --cuivre:#c28848;      /* CTA cuivre */
  --text:#10131a;
  --marine: #0c2857;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial HEIGT, sans-serif;
  color:var(--text);
  background:var(--white);
  color: var(--marine);
font-weight: bold;
}

/* Header */
.site-header{
  position:-ms-page; top:0; z-index:50;
  max-height: 90px; /* Agrandit le logo du header */
  width: auto;
  display:flex; align-items:center; gap:1rem;
  padding:1rem 1.25rem;
  background:var(--white); color:var(--white);
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.brand{font-family:Poppins, sans-serif; font-weight:700; letter-spacing:.5px}
.logo {
  width: auto;
  max-height: 200px;   /* Limite la hauteur du logo */
  vertical-align: middle;
  margin-right: 5px;n-right: 5px;
}
.accent{color:var(--turquoise); font-weight:600}
.nav-toggle{
  margin-left:auto; display:none;
  font-size:1.5rem; line-height:1;
  background:none; border:0; color:var(--white); cursor:pointer;
}
.site-nav{
  margin-left:auto; display:flex; flex-wrap:wrap; gap:.75rem;
}
.site-nav a{
  color:var(--white); text-decoration:none; padding:.5rem .75rem; border-radius:.5rem;
  transition:background-color .2s ease,color .2s ease;
}
.site-nav a:hover {
  background: none;
  color: var(--white); /* ou la couleur de base souhaitée */
}

/* View + transitions */
.view{
  max-width:1100px; margin:0 auto; padding:2rem 1.25rem;
  min-height:40vh;
  opacity:1; transform:translateY(0);
  transition:opacity .35s ease, transform .35s ease;
}
.view.leave{ opacity:0; transform:translateY(12px) }
.view.enter{ opacity:0; transform:translateY(-8px) }
.view.enter-active{ opacity:1; transform:translateY(0) }
@media (prefers-reduced-motion: reduce){ .view{ transition:none } }

/* Cards & images */
.grid{
  display:grid; gap:1.25rem;
  grid-template-columns:repeat(12,1fr);
}
.card{
  grid-column:span 4;
  background:var(--white); border-radius:12px; overflow:hidden;
  box-shadow:0 8px 20px rgba(16,19,26,.06);
  transition:transform .2s ease, box-shadow .2s ease;
  cursor:pointer;
}
.card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(16,19,26,.10) }
.card img{ width:100%; height:180px; object-fit:cover }
.card .body{ padding:1rem }
.card .body h3{ margin:.25rem 0 .5rem; font-family:Poppins, sans-serif; font-weight:600; color:var(--marine) }
.card .body p{ margin:0; color:#374151; line-height:1.5 }

/* Sections */
h1,h2{font-family:Poppins, sans-serif; color:var(--marine); margin:.25rem 0 1rem}
h1{font-size:clamp(1.6rem, 2.4vw + 1rem, 2.4rem)}
h2{font-size:clamp(1.25rem, 1.6vw + .9rem, 1.8rem)}

.hero{
  background:linear-gradient(135deg, var(--marine) 0%, #0f1f38 60%, var(--turquoise) 100%);
  color:var(--white); border-radius:14px; padding:2rem 1.5rem; margin-bottom:1.25rem;
  box-shadow:0 10px 24px rgba(16,19,26,.15);
}
.cta{
  display:inline-block; margin-top:.5rem;
  background:var(--cuivre); color:var(--white);
  padding:.6rem 1rem; border-radius:.5rem; text-decoration:none; font-weight:600;
  transition:filter .2s ease, transform .2s ease;
}
.cta:hover{ filter:brightness(1.05); transform:translateY(-1px) }

/* Footer */
.site-footer{
   margin-top:2rem;
  background: #fff;      /* Fond blanc */
  color: var(--marine);  /* Texte bleu marine */
  padding:2rem 1.25rem;
}
.contact-form{
  max-width:900px; margin:0 auto 1rem; background:var(--white); color:var(--text);
  padding:1rem; border-radius:10px;
}
.contact-form form{ display:grid; gap:.75rem; grid-template-columns:repeat(12,1fr) }
.contact-form input,.contact-form textarea{
  grid-column:span 12; padding:.7rem .8rem; border:1px solid #e5e7eb; border-radius:8px; font-size:1rem;
}
.contact-form button{
  grid-column:span 12; padding:.75rem 1rem; background:var(--cuivre); color:var(--white);
  border:0; border-radius:8px; cursor:pointer; font-weight:600;
}
.copyright a {
  color: var(--marine);
  text-decoration: none;
}
.copyright a:hover {
  text-decoration: underline;
}

/* Responsive */
@media (max-width: 920px){
  .card{ grid-column:span 6 }
}
@media (max-width: 640px){
  .nav-toggle{ display:block }
  .site-nav{ display:none; width:100%; flex-direction:column; margin-left:0; margin-top:.75rem }
  .site-nav.open{ display:flex }
  .card{ grid-column:span 12 }
  .contact-form form{ grid-template-columns:repeat(6,1fr) }
  .contact-form input,.contact-form textarea,.contact-form button{ grid-column:span 6 }
}
/* Texte des sous-sections en noir et normal */
section p,
section li,
section span {
  color: #10131a;      /* noir */
  font-weight: normal; /* pas gras */
}
.hero,
.hero h1,
.hero h2,
.hero p,
.hero span,
.hero li {
  color: #fff; /* Texte blanc pour visibilité sur fond sombre */
  }
  .cabinet-address .logo {
  max-height: 160px; /* Agrandit le logo dans la section contact */
  width: auto;
  display: block;
  margin: 0 auto 1rem;
}
.contact-form h3,
.contact-form p,
.contact-form input,
.contact-form textarea,
.contact-form button,
.cabinet-address p {
  font-size: 1.15rem;
}

.contact-form h3 {
  font-size: 2.50rem;
  font-weight: 700;
}