/* ── Hero ─────────────────────────────────────────────── */
  .nh-hero {
    min-height: 80vh;
    background: var(--ink);
    color: var(--paper);
    padding: 160px var(--gutter) 100px;
    display: flex; flex-direction: column; justify-content: flex-end;
    position: relative; overflow: hidden;
  }
  .nh-hero::before {
    content:''; position:absolute; inset:0;
    background: radial-gradient(ellipse at 70% 80%, rgba(132,212,154,0.1), transparent 55%),
                radial-gradient(ellipse at 10% 20%, rgba(132,212,154,0.06), transparent 50%);
  }
  .nh-hero-inner { max-width: var(--container); margin:0 auto; width:100%; position:relative; }
  .nh-hero h1 {
    font-size: clamp(44px, 7vw, 100px);
    font-weight: 300; letter-spacing: -0.045em; line-height: 0.92;
    margin-bottom: 24px;
  }
  .nh-hero h1 em { font-style:normal; color:var(--algae); }
  .nh-hero .sub {
    font-size: clamp(16px, 2vw, 20px);
    opacity: .65; max-width: 620px;
    line-height: 1.55; margin-bottom: 48px;
  }
  .nh-ctas { display:flex; gap:16px; flex-wrap:wrap; }

  /* ── Section utility ─────────────────────────────────── */
  .nh-section { padding: 96px var(--gutter); }
  .nh-section .container { max-width: var(--container); margin:0 auto; }
  .nh-label {
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--leaf); margin-bottom: 12px; display:block;
  }
  .nh-title {
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 300; letter-spacing: -0.035em;
    line-height: 1.05; margin-bottom: 8px;
  }
  .nh-subtitle {
    font-size: 15px; color: var(--muted);
    line-height: 1.6; margin-bottom: 56px; max-width: 560px;
  }

  /* ── Fondateurs ──────────────────────────────────────── */
  .founders-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 2px;
    background: var(--line); border: 1px solid var(--line);
    border-radius: var(--radius-lg); overflow: hidden;
  }
  .founder-card {
    background: var(--paper); padding: 56px 48px;
  }
  .founder-photo {
    width: 140px; height: 140px; border-radius: 50%;
    object-fit: cover; object-position: center top;
    margin-bottom: 28px;
    border: 2px solid var(--line);
  }
  .founder-name { font-size: 22px; font-weight: 500; letter-spacing: -0.025em; margin-bottom: 4px; }
  .founder-role {
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: .08em; text-transform: uppercase;
    color: var(--leaf); margin-bottom: 20px;
  }
  .founder-scope { font-size: 14px; color: var(--muted); line-height: 1.65; }
  .founders-footer {
    border: 1px solid var(--line); border-top: none;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    background: var(--mist);
    padding: 20px 48px;
    display: flex; align-items: center; justify-content: space-between;
    font-size: 13px; color: var(--muted);
    font-family: var(--font-mono); letter-spacing: .04em;
  }
  .founders-footer a { color: var(--leaf); text-decoration: none; }
  .founders-footer a:hover { text-decoration: underline; }

  /* ── Thèse — 4 constats ──────────────────────────────── */
  .thesis-grid {
    display: grid; grid-template-columns: repeat(4,1fr); gap: 0;
    border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
    background: var(--line);
  }
  .thesis-card {
    background: var(--paper); padding: 48px 36px;
  }
  .thesis-num {
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: .12em; color: var(--leaf);
    margin-bottom: 28px; display:block;
  }
  .thesis-card h3 { font-size: 19px; font-weight: 500; letter-spacing:-0.02em; margin-bottom: 16px; line-height:1.2; }
  .thesis-card p { font-size: 14px; color: var(--muted); line-height: 1.7; }
  .thesis-conclusion {
    margin-top: 48px; padding: 40px 48px;
    border: 1px solid var(--line); border-radius: var(--radius);
    background: var(--cream);
  }
  .thesis-conclusion p { font-size: 16px; line-height: 1.75; color: var(--ink); }
  .thesis-conclusion p strong { font-weight: 600; }

  /* ── Construction — 4 briques ────────────────────────── */
  .bricks {
    display: grid; grid-template-columns: repeat(2,1fr); gap: 2px;
    background: var(--line); border: 1px solid var(--line);
    border-radius: var(--radius-lg); overflow: hidden;
  }
  .brick {
    background: var(--paper); padding: 52px 48px;
    display: grid; grid-template-columns: 40px 1fr; gap: 24px; align-items: start;
  }
  .brick-num {
    font-family: var(--font-mono); font-size: 22px; font-weight: 500;
    color: var(--leaf); line-height: 1; padding-top: 4px;
  }
  .brick h3 { font-size: 20px; font-weight: 500; letter-spacing:-0.02em; margin-bottom: 12px; }
  .brick p { font-size: 14px; color: var(--muted); line-height: 1.7; }
  .bricks-note {
    margin-top: 40px; padding: 32px 40px;
    border-left: 3px solid var(--leaf);
    background: var(--mist); border-radius: 0 var(--radius) var(--radius) 0;
    font-size: 15px; line-height: 1.7; color: var(--ink);
  }

  /* ── Distinction — 5 éléments ────────────────────────── */
  .distinctions { display: flex; flex-direction: column; gap: 0;
    border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
  .distinction-row {
    display: grid; grid-template-columns: 56px 1fr;
    gap: 32px; align-items: start;
    padding: 36px 48px; border-bottom: 1px solid var(--line);
    background: var(--paper); transition: background 200ms;
  }
  .distinction-row:last-child { border-bottom: none; }
  .distinction-row:hover { background: var(--cream); }
  .distinction-index {
    font-family: var(--font-mono); font-size: 12px;
    letter-spacing: .1em; color: var(--leaf);
    padding-top: 4px;
  }
  .distinction-row h3 { font-size: 17px; font-weight: 600; letter-spacing:-0.01em; margin-bottom: 8px; }
  .distinction-row p { font-size: 14px; color: var(--muted); line-height: 1.65; }

  /* ── Six piliers ─────────────────────────────────────── */
  .pillars-grid {
    display: grid; grid-template-columns: repeat(3,1fr); gap: 2px;
    background: var(--line); border: 1px solid var(--line);
    border-radius: var(--radius-lg); overflow: hidden;
  }
  .pillar {
    background: var(--paper); padding: 48px 40px;
  }
  .pillar-label {
    font-family: var(--font-mono); font-size: 10px;
    letter-spacing: .12em; text-transform: uppercase;
    color: var(--muted); margin-bottom: 20px; display:block;
  }
  .pillar h3 { font-size: 19px; font-weight: 500; letter-spacing:-0.02em; margin-bottom: 16px; line-height:1.2; }
  .pillar p { font-size: 14px; color: var(--muted); line-height: 1.7; }

  /* ── Hors périmètre ──────────────────────────────────── */
  .out-of-scope {
    display: flex; flex-direction: column; gap: 0;
    border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
  }
  .oos-item {
    display: grid; grid-template-columns: 24px 1fr;
    gap: 20px; align-items: baseline;
    padding: 24px 40px; border-bottom: 1px solid var(--line);
    background: var(--paper);
  }
  .oos-item:last-child { border-bottom: none; }
  .oos-dash {
    font-family: var(--font-mono); color: var(--muted); font-size: 16px; line-height: 1.6;
  }
  .oos-item p { font-size: 15px; line-height: 1.65; color: var(--ink); }
  .oos-item p strong { font-weight: 600; }

  /* ── Interlocuteurs ──────────────────────────────────── */
  .interlocutors {
    display: grid; grid-template-columns: repeat(2,1fr); gap: 2px;
    background: var(--line); border: 1px solid var(--line);
    border-radius: var(--radius-lg); overflow: hidden;
  }
  .interlocutor {
    background: var(--paper); padding: 48px 44px;
    display: grid; grid-template-columns: 48px 1fr; gap: 24px; align-items: start;
  }
  .interlocutor-icon {
    width: 48px; height: 48px; border-radius: 50%;
    background: var(--mist); display: flex; align-items: center; justify-content: center;
    color: var(--leaf); flex-shrink: 0;
  }
  .interlocutor h3 { font-size: 17px; font-weight: 600; letter-spacing:-0.01em; margin-bottom: 10px; }
  .interlocutor p { font-size: 14px; color: var(--muted); line-height: 1.65; }
  .interlocutors-note {
    margin-top: 32px; padding: 28px 40px;
    border: 1px solid var(--line); border-radius: var(--radius);
    font-family: var(--font-mono); font-size: 12px; color: var(--muted); letter-spacing: .04em;
  }

  /* ── Identité — table ────────────────────────────────── */
  .identity-table {
    width: 100%; border-collapse: collapse;
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    overflow: hidden; font-size: 15px;
  }
  .identity-table tr { border-bottom: 1px solid var(--line); }
  .identity-table tr:last-child { border-bottom: none; }
  .identity-table tr:nth-child(even) td { background: var(--cream); }
  .identity-table td { padding: 20px 32px; vertical-align: top; line-height: 1.5; }
  .identity-table td:first-child {
    font-family: var(--font-mono); font-size: 11px;
    letter-spacing: .08em; text-transform: uppercase;
    color: var(--muted); width: 220px; white-space: nowrap;
    vertical-align: middle;
  }
  .identity-table td:last-child { font-weight: 500; color: var(--ink); }

  /* ── CTA finale ──────────────────────────────────────── */
  .nh-final {
    background: var(--ink); color: var(--paper);
    padding: 96px var(--gutter); text-align: center;
  }
  .nh-final h2 {
    font-size: clamp(32px, 5vw, 64px);
    font-weight: 300; letter-spacing: -0.04em; margin-bottom: 16px;
  }
  .nh-final p { opacity: .65; max-width: 540px; margin: 0 auto 40px; font-size: 16px; line-height: 1.6; }

  /* ── Responsive ──────────────────────────────────────── */
  @media (max-width: 1100px) {
    .thesis-grid { grid-template-columns: repeat(2,1fr); }
    .pillars-grid { grid-template-columns: repeat(2,1fr); }
  }
  @media (max-width: 880px) {
    .founders-grid { grid-template-columns: 1fr; }
    .bricks { grid-template-columns: 1fr; }
    .interlocutors { grid-template-columns: 1fr; }
    .founders-footer { flex-direction: column; gap: 8px; }
  }
  @media (max-width: 640px) {
    .thesis-grid { grid-template-columns: 1fr; }
    .pillars-grid { grid-template-columns: 1fr; }
    .distinction-row { grid-template-columns: 1fr; gap: 8px; }
    .brick { grid-template-columns: 1fr; gap: 8px; }
    .interlocutor { grid-template-columns: 1fr; gap: 12px; }
    .identity-table td:first-child { display: none; }
    .oos-item { grid-template-columns: 1fr; }
    .oos-dash { display: none; }
  }
