/* NEVOR ADVISORY — feuille de style du site vitrine
   Système "Modernist" : grille visible, 0 arrondi, filets 2px, N&B, cobalt en accent unique.
   S'appuie sur tokens.css (variables de marque) — ne pas redéfinir les couleurs ici. */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--nevor-white);
  color: var(--nevor-text);
  font-family: var(--nevor-font-body);
  font-size: var(--nevor-body);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

img, svg { display: block; max-width: 100%; }

a { color: var(--nevor-ink); text-decoration: none; }
a:hover { color: var(--nevor-cobalt); }

.wrap {
  max-width: var(--nevor-max-width);
  margin: 0 auto;
  padding: 0 var(--nevor-gutter);
}

/* ---------- Bilinguisme : FR par défaut, EN affiché si data-lang="en" ---------- */
html[data-lang="fr"] .t-en { display: none; }
html[data-lang="en"] .t-fr { display: none; }
[data-lang="en"] { }

/* ---------- Typo utilitaires ---------- */
.kicker {
  font-family: var(--nevor-font-mono);
  font-size: var(--nevor-small);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nevor-cobalt);
  margin: 0 0 var(--nevor-sp-3);
}
h1, h2, h3, h4 {
  font-family: var(--nevor-font-heading);
  font-weight: 800;
  margin: 0;
  text-align: left;
}
h1 { font-size: clamp(32px, 5vw, var(--nevor-h1)); line-height: 1.08; letter-spacing: -.01em; }
h2 { font-size: clamp(26px, 4vw, var(--nevor-h2)); line-height: 1.15; }
h3 { font-size: var(--nevor-h3); line-height: 1.2; }
p { margin: 0 0 var(--nevor-sp-4); }
.lead { font-size: 19px; color: var(--nevor-text); max-width: 62ch; }
.mono { font-family: var(--nevor-font-mono); }

.rule { border: none; border-top: var(--nevor-rule); margin: 0; }
.rule-hair { border: none; border-top: var(--nevor-hair); margin: 0; }

/* ---------- En-tête ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--nevor-white);
  border-bottom: var(--nevor-rule);
}
.site-header .wrap {
  display: flex; align-items: center; justify-content: space-between;
  height: 76px; gap: var(--nevor-sp-6);
}
.brand { display: flex; align-items: center; }
.brand svg, .brand img { height: 28px; width: auto; }

.main-nav { display: flex; align-items: center; gap: var(--nevor-sp-8); }
.main-nav ul { list-style: none; display: flex; gap: var(--nevor-sp-6); margin: 0; padding: 0; }
.main-nav a {
  font-family: var(--nevor-font-mono); font-size: var(--nevor-small);
  text-transform: uppercase; letter-spacing: .06em; font-weight: 500;
  color: var(--nevor-text);
  padding-bottom: 2px; border-bottom: 2px solid transparent;
}
.main-nav a:hover { color: var(--nevor-cobalt); border-bottom-color: var(--nevor-cobalt); }

.lang-toggle {
  font-family: var(--nevor-font-mono); font-size: var(--nevor-small); font-weight: 600;
  display: inline-flex; border: var(--nevor-rule); background: var(--nevor-white); cursor: pointer;
}
.lang-toggle button {
  font: inherit; color: var(--nevor-text); background: none; border: none; cursor: pointer;
  padding: 6px 12px; letter-spacing: .04em;
}
.lang-toggle button[aria-pressed="true"] { background: var(--nevor-ink); color: var(--nevor-white); }

.nav-toggle { display: none; }

/* ---------- Bouton ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--nevor-font-mono); font-size: var(--nevor-small); font-weight: 600;
  text-transform: uppercase; letter-spacing: .05em;
  padding: 13px 22px; border: var(--nevor-rule);
  background: var(--nevor-ink); color: var(--nevor-white);
  cursor: pointer;
}
.btn:hover { background: var(--nevor-cobalt); border-color: var(--nevor-cobalt); color: var(--nevor-white); }
.btn-outline { background: transparent; color: var(--nevor-ink); }
.btn-outline:hover { background: var(--nevor-ink); color: var(--nevor-white); border-color: var(--nevor-ink); }

/* ---------- Hero ---------- */
.hero { padding: var(--nevor-sp-16) 0 var(--nevor-sp-12); border-bottom: var(--nevor-rule); }
.hero-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--nevor-gutter); align-items: end; }
.hero-copy { grid-column: 1 / 9; }
.hero-mark { grid-column: 9 / 13; justify-self: end; opacity: .9; }
.hero h1 { margin-bottom: var(--nevor-sp-4); }
.hero-actions { display: flex; gap: var(--nevor-sp-4); margin-top: var(--nevor-sp-8); flex-wrap: wrap; }

/* motif de grille décoratif, densité faible, jamais sous du texte courant */
.grid-motif { display: grid; grid-template-columns: repeat(4, 18px); grid-template-rows: repeat(4, 18px); gap: 6px; }
.grid-motif span { background: var(--nevor-ink); display: block; }
.grid-motif span:nth-child(6), .grid-motif span:nth-child(11) { background: var(--nevor-cobalt); }

/* ---------- Sections génériques ---------- */
section { padding: var(--nevor-sp-16) 0; border-bottom: var(--nevor-rule); }
.section-head { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--nevor-gutter); margin-bottom: var(--nevor-sp-12); }
.section-head .kicker, .section-head h2 { grid-column: 1 / 8; }
.section-head .section-note { grid-column: 8 / 13; font-size: var(--nevor-small); color: var(--nevor-text-muted); align-self: end; }

/* ---------- Positionnement ---------- */
.values-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--nevor-gutter); margin-top: var(--nevor-sp-8); }
.value-item { border-top: var(--nevor-rule); padding-top: var(--nevor-sp-3); }
.value-item .num { font-family: var(--nevor-font-mono); color: var(--nevor-cobalt); font-size: var(--nevor-small); display: block; margin-bottom: 4px; }
.value-item .label { font-weight: 700; }

/* ---------- Offres ---------- */
.offers-primary { display: grid; grid-template-columns: repeat(3, 1fr); border: var(--nevor-rule); border-bottom: none; }
.offer-card { padding: var(--nevor-sp-8) var(--nevor-sp-6); border-right: var(--nevor-hair); }
.offer-card:last-child { border-right: none; }
.offer-num { font-family: var(--nevor-font-mono); color: var(--nevor-cobalt); font-size: var(--nevor-small); }
.offer-tag {
  display: inline-block; margin-top: var(--nevor-sp-3);
  font-family: var(--nevor-font-mono); font-size: var(--nevor-caption); text-transform: uppercase; letter-spacing: .06em;
  color: var(--nevor-text-muted);
}
.offer-card h3 { margin: var(--nevor-sp-3) 0 var(--nevor-sp-3); }
.offer-card p { margin: 0; color: var(--nevor-text-muted); font-size: var(--nevor-small); }

.offer-secondary {
  border: var(--nevor-rule); border-top: 4px solid var(--nevor-cobalt);
  background: var(--nevor-accent-100);
  padding: var(--nevor-sp-8) var(--nevor-sp-6);
  display: grid; grid-template-columns: auto 1fr; gap: var(--nevor-sp-6); align-items: center;
}
.offer-secondary .offer-num { color: var(--nevor-cobalt-deep); }
.offer-secondary h3 { margin: var(--nevor-sp-2) 0 var(--nevor-sp-2); }
.offer-secondary p { margin: 0; color: var(--nevor-text); }

/* ---------- Parcours / preuves ---------- */
.stats-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: var(--nevor-rule); border-left: var(--nevor-rule); margin-top: var(--nevor-sp-8); }
.stat-card { border-right: var(--nevor-rule); border-bottom: var(--nevor-rule); padding: var(--nevor-sp-6) var(--nevor-sp-4); }
.stat-num { font-family: var(--nevor-font-mono); font-weight: 600; font-size: 30px; color: var(--nevor-cobalt); display: block; margin-bottom: var(--nevor-sp-2); }
.stat-label { font-size: var(--nevor-small); color: var(--nevor-text-muted); }

.timeline { margin-top: var(--nevor-sp-12); border-top: var(--nevor-rule); }
.timeline-row { display: grid; grid-template-columns: 140px 260px 1fr; gap: var(--nevor-gutter); padding: var(--nevor-sp-6) 0; border-bottom: var(--nevor-hair); }
.timeline-row .period { font-family: var(--nevor-font-mono); font-weight: 600; color: var(--nevor-cobalt); }
.timeline-row .role { font-weight: 700; }
.timeline-row .fact { color: var(--nevor-text-muted); }

/* ---------- Témoignage (préparé, non publié — cf. décisions de session) ---------- */
.testimonial { border-left: 4px solid var(--nevor-cobalt); background: var(--nevor-n100); padding: var(--nevor-sp-8); }
.testimonial p { font-size: 19px; }
.testimonial cite { font-family: var(--nevor-font-mono); font-size: var(--nevor-small); font-style: normal; color: var(--nevor-text-muted); }

/* ---------- Contact ---------- */
.contact-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--nevor-sp-16); }
.contact-info { border-left: var(--nevor-rule); padding-left: var(--nevor-sp-8); }
.contact-info dt { font-family: var(--nevor-font-mono); font-size: var(--nevor-caption); text-transform: uppercase; letter-spacing: .06em; color: var(--nevor-text-muted); margin-top: var(--nevor-sp-6); }
.contact-info dt:first-child { margin-top: 0; }
.contact-info dd { margin: 4px 0 0; font-size: 18px; }

form.contact-form { display: grid; gap: var(--nevor-sp-4); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--nevor-sp-4); }
label { display: block; font-family: var(--nevor-font-mono); font-size: var(--nevor-caption); text-transform: uppercase; letter-spacing: .06em; color: var(--nevor-text-muted); margin-bottom: 6px; }
input, textarea {
  width: 100%; font: inherit; font-size: var(--nevor-body); padding: 12px; border: var(--nevor-rule);
  background: var(--nevor-white); color: var(--nevor-text); border-radius: 0;
}
input:focus, textarea:focus { outline: 2px solid var(--nevor-cobalt); outline-offset: 1px; }
textarea { resize: vertical; min-height: 130px; }
.form-note { font-size: var(--nevor-caption); color: var(--nevor-text-muted); margin-top: var(--nevor-sp-2); }

/* ---------- Pied de page ---------- */
.site-footer { background: var(--nevor-ink); color: var(--nevor-white); padding: var(--nevor-sp-12) 0 var(--nevor-sp-8); }
.site-footer a { color: var(--nevor-white); }
.site-footer a:hover { color: var(--nevor-accent-300); }
.footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--nevor-gutter); padding-bottom: var(--nevor-sp-8); border-bottom: 1px solid rgba(255,255,255,.2); }
.footer-grid h4 { font-family: var(--nevor-font-mono); font-size: var(--nevor-caption); text-transform: uppercase; letter-spacing: .06em; color: var(--nevor-n400); margin-bottom: var(--nevor-sp-3); }
.footer-grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--nevor-sp-3); padding-top: var(--nevor-sp-6); font-size: var(--nevor-caption); color: var(--nevor-n400); }
.footer-bottom .brand svg { height: 20px; }

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
  .main-nav ul { display: none; }
  .hero-copy { grid-column: 1 / 13; }
  .hero-mark { display: none; }
  .section-head .kicker, .section-head h2 { grid-column: 1 / 13; }
  .section-head .section-note { grid-column: 1 / 13; margin-top: var(--nevor-sp-3); }
  .values-row { grid-template-columns: repeat(2, 1fr); }
  .offers-primary { grid-template-columns: 1fr; border-bottom: var(--nevor-rule); }
  .offer-card { border-right: none; border-bottom: var(--nevor-hair); }
  .offer-card:last-child { border-bottom: none; }
  .offer-secondary { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .timeline-row { grid-template-columns: 1fr; gap: 4px; }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-info { border-left: none; border-top: var(--nevor-rule); padding-left: 0; padding-top: var(--nevor-sp-6); }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}
