:root { --fond:#0d1210; --texte:#f5efe4; --vert:#a8c59c; --bois:#9c512d; --ligne:rgba(245,239,228,.2); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--fond); color:var(--texte); font-family:Arial,Helvetica,sans-serif; line-height:1.55; }
a { color:inherit; }
.navigation { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 7vw; border-bottom:1px solid var(--ligne); }
.nom { font-size:18px; font-weight:700; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:20px; }
nav a { color:#ddd5c8; font-size:14px; text-decoration:none; }
nav a:hover { color:#fff; }

.accueil { min-height:calc(100svh - 78px); display:grid; place-items:center; padding:12px 0; background:#070a09; }
.scene-tableau { position:relative; width:min(88vw,1500px,calc((100svh - 102px) * 1.91)); aspect-ratio:1.91; container-type:inline-size; }
.scene-tableau > img { display:block; width:100%; height:100%; object-fit:contain; }
.message-principal { position:absolute; top:20%; left:17%; width:43%; color:#fffdf7; text-shadow:0 2px 12px rgba(0,0,0,.9); }
.sur-titre { margin:0 0 1.1cqw; color:var(--vert); font-size:clamp(10px,.9cqw,13px); font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

}
h1,h2,h3 { line-height:1.05; letter-spacing:-.04em; }
h1 { margin:0 0 1.4cqw; font-size:clamp(30px,4.8cqw,62px); }
h1 em { font-family:Georgia,serif; font-weight:400; }
.message-principal > p:not(.sur-titre) {
  max-width: 520px;
  margin-bottom: 1.8cqw;
  font-size: clamp(15px, 1.45cqw, 20px);
  transform: translateY(-0.5cm);
}.message-principal > h1 {
  transform: translateY(-1cm);
}
.message-principal > .sur-titre {
  width: 150%;
  transform: translateY(-1.7cm);
}

.bouton {
  display: inline-block;
  padding: clamp(10px, .9cqw, 13px) clamp(14px, 1.3cqw, 18px);
  border-radius: 4px;
  background: var(--texte);
  color: #0e1512;
  font-size: clamp(13px, 1.05cqw, 16px);
  font-weight: 700;
  text-decoration: none;
  transform: translateX(0cm);
}.suite { position:absolute; bottom:4%; left:50%; color:#d9d2c5; font-size:clamp(10px,.9cqw,13px); letter-spacing:.04em; text-decoration:none; text-shadow:0 1px 8px #000; transform:translateX(-50%); }
.suite span { margin-left:7px; color:var(--vert); font-size:18px; vertical-align:-1px; }

.services,.analyses,.parcours,.contact { padding:95px 7vw; }
h2 { margin:0 0 34px; font-size:clamp(36px,5vw,65px); }
.cartes { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ligne); border-left:1px solid var(--ligne); }
.cartes article { min-height:230px; padding:28px; border-right:1px solid var(--ligne); border-bottom:1px solid var(--ligne); background:#151d1a; }
.cartes article:first-child { background:var(--bois); }
.cartes h3 { margin:0 0 15px; font-size:24px; }
.cartes p,.analyses > p,.parcours > p,.contact > p { max-width:680px; color:#d5d8d0; }
.analyses { background:#17211d; }
.parcours { background:#d6c3a4; color:#152019; }
.parcours p { color:#24362b; font-size:18px; }
.contact { background:#334b3a; text-align:center; }
.contact h2 { margin-bottom:16px; }
.contact p { margin-right:auto; margin-left:auto; }
footer { display:flex; justify-content:space-between; gap:20px; padding:24px 7vw; border-top:1px solid var(--ligne); color:#bebeb6; font-size:13px; }

@media (max-width:850px) { .cartes { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .navigation { align-items:flex-start; flex-direction:column; } .accueil { min-height:auto; padding:16px 0 0; } .scene-tableau { width:100%; aspect-ratio:auto; } .scene-tableau > img { height:auto; } .suite { display:none; } .message-principal { position:relative; top:auto; left:auto; width:auto; padding:28px 7vw 38px; background:#0d1210; } .services,.analyses,.parcours,.contact { padding:70px 7vw; } .cartes { grid-template-columns:1fr; } footer { flex-direction:column; } }
