/* ════════════════════════════════════════════════════════════════════════
   Type / 850, feuille de styles du site statique
   HTML/CSS pur, aucune dépendance, aucun JavaScript.
   Ambiance « alternée » · titres Grotesk · onde figée.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  --grotesk:"Geist", system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono:"Geist Mono", ui-monospace, monospace;
  --display:"Instrument Serif", "Newsreader", serif;
  --serif:"Newsreader", Georgia, serif;

  /* Accent (modifiable une fois pour tout le site) */
  --accent:#2f6fd1;
  --accent-bright:color-mix(in oklab, var(--accent), white 26%);
  --accent-deep:color-mix(in oklab, var(--accent), black 18%);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{margin:0;padding:0;overflow-x:hidden;max-width:100%;}
body{
  background:#15171a;
  font-family:var(--grotesk);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
::selection{background:var(--accent);color:#fff;}

/* ── Tonalités ───────────────────────────────────────────────────────── */
.tone-dark{
  --bg:#15171a; --bg-2:#1d2024; --ink:#efece4;
  --ink-soft:rgba(239,236,228,0.64); --ink-faint:rgba(239,236,228,0.40);
  --rule:rgba(239,236,228,0.14); --field-bg:rgba(239,236,228,0.05);
  color-scheme:dark;
}
.tone-cream{
  --bg:#efece4; --bg-2:#f5f3ec; --ink:#15171a;
  --ink-soft:rgba(21,23,26,0.62); --ink-faint:rgba(21,23,26,0.42);
  --rule:rgba(21,23,26,0.13); --field-bg:rgba(21,23,26,0.02);
}

/* ── Sections ────────────────────────────────────────────────────────── */
.section{
  position:relative; background:var(--bg); color:var(--ink);
  padding:clamp(72px,8.5vw,124px) 0; overflow:hidden;
}
.container{
  position:relative; z-index:1; width:100%; max-width:1200px;
  margin:0 auto; padding:0 clamp(20px,4vw,48px);
}

/* ── Fond picoté + clairière (SVG figé en arrière-plan) ──────────────── */
.spk{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;}
.spk.tone-dark{background-image:url("img/speckle-dark.svg");}
.spk.tone-cream{background-image:url("img/speckle-cream.svg");}
/* Clairière : dégradé séparé (aucune dépendance à color-mix) pour que le
   picoté reste visible même sur les navigateurs plus anciens. */
.spk::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(115% 85% at 50% 46%, var(--bg) 0%, transparent 72%);}

/* ── Wordmark ────────────────────────────────────────────────────────── */
.wm{display:inline-flex;align-items:baseline;white-space:nowrap;line-height:1;}
.wm-t{font-family:var(--grotesk);font-weight:800;letter-spacing:-0.055em;}
.wm-s{font-family:var(--mono);font-weight:600;padding:0 .04em;font-size:1.08em;color:var(--accent-bright);}
.wm-n{font-family:var(--grotesk);font-weight:600;font-style:italic;letter-spacing:-0.075em;margin-left:-0.18em;}

/* ── Kicker ──────────────────────────────────────────────────────────── */
.kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-family:var(--mono);font-size:11px;font-weight:500;
  letter-spacing:0.26em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;
}
.kicker::before{content:"";width:26px;height:1px;background:currentColor;opacity:.55;}
.kicker-accent{color:var(--accent);}
.tone-dark .kicker-accent{color:var(--accent-bright);}

/* ── Titres ──────────────────────────────────────────────────────────── */
.display-title{font-family:var(--grotesk);font-weight:700;letter-spacing:-0.032em;line-height:1.04;text-wrap:balance;}

/* ── Boutons ─────────────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--mono);font-size:11.5px;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  padding:15px 24px;cursor:pointer;border:1px solid transparent;white-space:nowrap;
  text-decoration:none;border-radius:1px;transition:.18s ease;line-height:1;
}
.btn-solid{background:var(--accent);color:#fff;}
.btn-solid:hover{background:var(--accent-deep);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--ink);
  border-color:color-mix(in oklab,var(--ink),transparent 62%);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.tone-dark .btn-outline:hover{border-color:var(--accent-bright);color:var(--accent-bright);}

/* ── Placeholders image ──────────────────────────────────────────────── */
.imgslot{
  position:relative;width:100%;overflow:hidden;border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.imgslot-dark{background:rgba(239,236,228,0.035);}
.imgslot-cream{background:rgba(21,23,26,0.035);}
.imgslot-grain{position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(135deg,
    color-mix(in oklab,var(--ink),transparent 90%) 0 1px, transparent 1px 11px);}
.imgslot-label{
  position:relative;z-index:1;max-width:74%;
  font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-faint);line-height:1.6;
}

/* ── Panneau d'onde (toujours sombre, autonome quelle que soit la section) ─ */
.wavepanel{
  position:relative;overflow:hidden;color:#efece4;
  --bg:#15171a;--ink:#efece4;--ink-faint:rgba(239,236,228,0.40);--rule:rgba(239,236,228,0.14);
  --accent-bright:color-mix(in oklab, var(--accent), white 26%);
  border:1px solid var(--rule);margin:clamp(36px,5vw,64px) 0;
  padding:clamp(28px,4vw,52px) clamp(18px,3vw,40px) clamp(20px,3vw,34px);
  background-color:var(--bg);
  background-image:url("img/speckle-dark.svg");background-size:cover;background-position:center;
}
.wavepanel::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 120% at 50% 50%, var(--bg) 0%, transparent 70%);}
/* Dans une section déjà sombre : l'onde flotte directement, sans la carte */
.section.tone-dark .wavepanel{background-image:none;border-color:transparent;padding-left:0;padding-right:0;margin-top:clamp(20px,3vw,36px);}
.section.tone-dark .wavepanel::before{display:none;}
.wavepanel-inner{position:relative;z-index:1;}
.wavepanel-meta{
  display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.24em;
  text-transform:uppercase;color:var(--ink-faint);margin-bottom:6px;
}
.wave{display:block;overflow:visible;width:100%;}
.wave .wave-num{font-family:var(--mono);font-size:13px;letter-spacing:.18em;fill:currentColor;opacity:.5;}
.wave .wave-nom{font-family:var(--display);font-style:italic;font-size:31px;fill:currentColor;}
.wave .wave-verbe{font-family:var(--serif);font-style:italic;font-size:14px;fill:currentColor;opacity:.62;}
@media (prefers-reduced-motion: no-preference){
  .wave-pulse{transform-box:fill-box;transform-origin:center;animation:wavePulse 3.2s ease-in-out infinite;}
}
@keyframes wavePulse{0%,100%{r:7;}50%{r:8.6;}}
.wave-scroll-hint{display:none;}
.wave-scroll-arrow{display:inline-block;color:var(--accent-bright);}
@keyframes waveScrollNudge{
  0%,100%{transform:translateX(0);opacity:.7;}
  50%{transform:translateX(6px);opacity:1;}
}
@media (prefers-reduced-motion: reduce){
  .wave-scroll-arrow{animation:none !important;}
}

/* ── NAV (sticky, fond translucide permanent, aucun JS) ─────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;color:var(--ink);
  background:color-mix(in oklab,var(--bg),transparent 14%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--rule);}
.nav-toggle{position:absolute;opacity:0;pointer-events:none;}
.nav-inner{max-width:1200px;margin:0 auto;padding:14px clamp(20px,4vw,48px);
  display:flex;align-items:center;gap:24px;}
.nav-logo{text-decoration:none;flex-shrink:0;}
.nav-logo-chip{display:inline-flex;align-items:center;background:transparent;color:#15171a;
  padding:6px 0;font-size:21px;transition:color .15s;}
.nav.is-scrolled .nav-logo-chip{color:#efece4;}
.nav-links{display:flex;align-items:center;gap:26px;margin-left:auto;}
.nav-link{position:relative;text-decoration:none;font-family:var(--grotesk);
  font-weight:500;font-size:14.5px;letter-spacing:-0.01em;color:var(--ink-soft);
  transition:color .15s;padding:4px 0;}
.nav-slash{color:var(--accent);margin-right:3px;font-family:var(--mono);font-weight:600;font-size:1.18em;}
.tone-dark .nav-slash{color:var(--accent-bright);}
.nav-link:hover{color:var(--ink);}
.nav-link.is-active{color:var(--ink);}
.nav-link.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--accent);}
.tone-dark .nav-link.is-active::after{background:var(--accent-bright);}
.nav-cta{margin-left:8px;}
.nav-cta .btn{padding:11px 18px;}
.nav-lang{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;padding:8px 11px;border:1px solid var(--rule);
  border-radius:1px;transition:.15s;white-space:nowrap;margin-left:6px;}
.nav-lang:hover{color:var(--ink);border-color:color-mix(in oklab,var(--ink),transparent 40%);}
.nav-drawer .nav-lang{display:inline-block;align-self:flex-start;margin:16px 0 0;}
.nav-burger{display:none;margin-left:auto;flex-direction:column;gap:5px;
  cursor:pointer;padding:8px;}
.nav-burger span{width:22px;height:1.6px;background:var(--ink);transition:.2s;display:block;}
.nav-drawer{display:none;flex-direction:column;gap:2px;
  background:color-mix(in oklab,var(--bg),transparent 4%);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border-top:1px solid var(--rule);padding:14px clamp(20px,4vw,48px) 22px;}
.nav-drawer-link{text-decoration:none;font-family:var(--grotesk);font-weight:500;
  font-size:19px;color:var(--ink-soft);padding:11px 0;border-bottom:1px solid var(--rule);}
.nav-drawer-link.is-active{color:var(--ink);}
.nav-drawer-cta{margin-top:16px;}

/* ── HERO ────────────────────────────────────────────────────────────── */
.hero{padding-top:clamp(118px,15vh,176px);}
.page-head{padding-top:clamp(118px,15vh,170px);}
.hero-grid{display:grid;grid-template-columns:1.12fr 0.88fr;gap:clamp(36px,5vw,72px);align-items:center;}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px;}
.hero-title{font-size:clamp(38px,5.2vw,72px);margin:0;max-width:13ch;}
.hero-lede{margin:0;font-size:clamp(16px,1.25vw,18.5px);line-height:1.62;color:var(--ink-soft);max-width:52ch;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;}
.hero-media{position:relative;}
.hero-media .imgslot{box-shadow:0 30px 70px -40px rgba(0,0,0,.6);}

/* ── MÉTHODE ─────────────────────────────────────────────────────────── */
.methode-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px);align-items:end;}
.section-title{font-size:clamp(30px,3.4vw,48px);margin:14px 0 0;}
.methode-intro{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(15px,1.2vw,18px);
  line-height:1.62;color:var(--ink-soft);max-width:54ch;}
.temps-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px);margin-top:8px;}
.temps-col{display:flex;flex-direction:column;gap:12px;padding-top:24px;border-top:1px solid var(--rule);}
.temps-col-title{margin:0;font-family:var(--grotesk);font-weight:700;font-size:clamp(26px,2.1vw,30px);letter-spacing:-0.02em;}
.temps-col-n{color:var(--accent);}
.tone-dark .temps-col-n{color:var(--accent-bright);}
.temps-col-sub{margin:0;font-weight:600;font-size:clamp(17px,1.3vw,19px);color:var(--ink);}
.temps-col-desc{margin:0;font-size:14.5px;line-height:1.66;color:var(--ink-soft);}
.methode-more{margin-top:clamp(36px,4vw,56px);}
.textlink{font-family:var(--mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--accent),transparent 60%);padding-bottom:3px;transition:.15s;}
.tone-dark .textlink{color:var(--accent-bright);}
.textlink:hover{border-bottom-color:currentColor;}
.textlink span{transition:transform .2s;display:inline-block;}
.textlink:hover span{transform:translateX(4px);}

/* ── PAGE HEAD générique ─────────────────────────────────────────────── */
.page-head-inner{max-width:760px;display:flex;flex-direction:column;gap:22px;}
.page-title{font-size:clamp(34px,4.6vw,64px);margin:8px 0 0;}
.page-lede{margin:0;font-size:clamp(16px,1.2vw,18.5px);line-height:1.6;color:var(--ink-soft);max-width:56ch;}
.muted{color:var(--ink-faint);}

/* ── SERVICES ────────────────────────────────────────────────────────── */
.services-wave{margin-top:clamp(28px,4vw,52px);}
.svc-grid{display:grid;grid-template-columns:0.42fr 1fr;gap:clamp(28px,5vw,72px);align-items:start;}
.svc-aside{display:flex;flex-direction:column;gap:6px;position:sticky;top:96px;}
.svc-n{font-family:var(--mono);font-size:13px;letter-spacing:0.24em;color:var(--ink-faint);}
.svc-nom{font-size:clamp(34px,4vw,58px);margin:2px 0 0;}
.svc-verbe{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--accent);}
.tone-dark .svc-verbe{color:var(--accent-bright);}
.svc-titre{margin:0 0 16px;font-weight:700;font-size:clamp(20px,2vw,26px);letter-spacing:-0.02em;max-width:24ch;}
.svc-desc{margin:0 0 26px;font-size:16px;line-height:1.66;color:var(--ink-soft);max-width:60ch;}
.svc-livrables{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;border-top:1px solid var(--rule);padding-top:22px;}
.svc-livrables li{display:flex;gap:11px;font-size:14.5px;color:var(--ink);align-items:baseline;}
.svc-plus{font-family:var(--mono);color:var(--accent);font-size:13px;}
.tone-dark .svc-plus{color:var(--accent-bright);}

/* ── AGENCE ──────────────────────────────────────────────────────────── */
.founder-grid{display:grid;grid-template-columns:0.82fr 1fr;
  grid-template-areas:"media lede" "media copy";
  column-gap:clamp(32px,5vw,72px);row-gap:22px;align-items:start;}
.founder-lede{grid-area:lede;margin:0;font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.72;color:var(--ink-soft);}
.founder-lede em{font-family:var(--serif);font-style:italic;color:var(--ink);}
.founder-media{grid-area:media;position:sticky;top:96px;}
.founder-copy{grid-area:copy;display:flex;flex-direction:column;gap:22px;}
.founder-copy p{margin:0;font-size:clamp(15.5px,1.2vw,17.5px);line-height:1.72;color:var(--ink-soft);}
.founder-copy em{font-family:var(--serif);font-style:italic;color:var(--ink);}
.creds-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);}
.cred{display:flex;flex-direction:column;gap:10px;padding-top:24px;border-top:2px solid var(--accent);}
.tone-dark .cred{border-top-color:var(--accent-bright);}
.cred-k{font-size:clamp(30px,3.2vw,46px);line-height:1;}
.cred-v{font-size:15px;color:var(--ink-soft);line-height:1.5;max-width:26ch;}

/* ── RÉALISATIONS ────────────────────────────────────────────────────── */
.real .container,.blog .container{display:flex;flex-direction:column;gap:clamp(28px,4vw,52px);}
.case{display:block;text-decoration:none;color:inherit;}
.case-featured{display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(24px,4vw,52px);align-items:center;
  border:1px solid var(--rule);padding:clamp(18px,2.5vw,32px);transition:.2s;}
.case-featured:hover{border-color:color-mix(in oklab,var(--accent),transparent 40%);transform:translateY(-2px);}
.case-body{display:flex;flex-direction:column;gap:14px;}
.case-seg{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink-faint);}
.case-titre{font-size:clamp(26px,2.6vw,40px);margin:0;}
.case-titre-sm{font-size:20px;font-weight:700;letter-spacing:-0.02em;margin:0;}
.case-note{margin:0;font-size:15px;line-height:1.6;color:var(--ink-soft);}
.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}
.tag{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--ink-soft);border:1px solid var(--rule);padding:6px 10px;border-radius:1px;}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,36px);}
.case-grid .case{border:1px solid var(--rule);transition:.2s;}
.case-grid .case:hover{border-color:color-mix(in oklab,var(--accent),transparent 40%);transform:translateY(-2px);}
.case-grid .case-body{padding:20px 20px 24px;}
.case-grid .case-media .imgslot{border:0;border-bottom:1px solid var(--rule);}

/* ── BLOGUE ──────────────────────────────────────────────────────────── */
.post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.post{display:grid;grid-template-columns:160px 1fr auto;gap:clamp(18px,3vw,44px);align-items:baseline;
  text-decoration:none;color:inherit;padding:clamp(22px,3vw,34px) 0;border-top:1px solid var(--rule);transition:.18s;}
.post-list li:last-child .post{border-bottom:1px solid var(--rule);}
.post:hover{padding-left:10px;}
.post-meta{display:flex;flex-direction:column;gap:6px;}
.post-date{font-family:var(--mono);font-size:12px;letter-spacing:0.14em;color:var(--ink-faint);}
.post-cat{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);}
.tone-dark .post-cat{color:var(--accent-bright);}
.post-titre{margin:0;font-weight:700;font-size:clamp(19px,1.8vw,25px);letter-spacing:-0.02em;line-height:1.2;max-width:30ch;}
.post-excerpt{grid-column:2;margin:10px 0 0;font-size:15px;line-height:1.6;color:var(--ink-soft);max-width:56ch;}
.post-read{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;}
.post-read span{display:inline-block;transition:transform .2s;}
.post:hover .post-read span{transform:translateX(4px);}

/* ── ARTICLE (long-format) ───────────────────────────────────────────── */
.article-head-inner{max-width:780px;display:flex;flex-direction:column;gap:20px;}
.article-back{align-self:flex-start;font-family:var(--mono);font-size:11px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-soft);text-decoration:none;display:inline-flex;gap:8px;
  align-items:center;transition:.15s;}
.article-back span{display:inline-block;transition:transform .2s;}
.article-back:hover{color:var(--accent);}
.tone-dark .article-back:hover{color:var(--accent-bright);}
.article-back:hover span{transform:translateX(-4px);}
.article-title{font-size:clamp(32px,4.4vw,60px);margin:4px 0 0;max-width:18ch;}
.article-dek{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.5vw,21px);
  line-height:1.55;color:var(--ink-soft);max-width:52ch;}
.article-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);}
.article-byline-dot{opacity:.5;}
.article-body-sec .container{display:flex;flex-direction:column;align-items:center;}
.article-figure{width:100%;max-width:900px;margin-bottom:clamp(36px,5vw,64px);}
.prose{width:100%;max-width:680px;}
.prose p{margin:0 0 1.35em;font-family:var(--serif);font-size:clamp(17px,1.35vw,19.5px);
  line-height:1.74;color:var(--ink);text-wrap:pretty;}
.prose p.lead-cap::first-letter{font-family:var(--display);font-size:3.1em;line-height:.82;
  float:left;padding:6px 12px 0 0;color:var(--accent);}
.tone-dark .prose p.lead-cap::first-letter{color:var(--accent-bright);}
.prose-h{font-family:var(--grotesk);font-weight:700;letter-spacing:-0.02em;
  font-size:clamp(22px,2.1vw,28px);line-height:1.2;margin:1.8em 0 .65em;color:var(--ink);}
.prose-quote{margin:1.6em 0;padding:6px 0 6px 26px;border-left:2px solid var(--accent);}
.tone-dark .prose-quote{border-left-color:var(--accent-bright);}
.prose-quote p{font-family:var(--display);font-style:italic;font-size:clamp(21px,2vw,27px);
  line-height:1.32;color:var(--ink);margin:0 0 .4em;}
.prose-quote cite{font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--ink-faint);}
.prose-list{list-style:none;margin:1.5em 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.prose-list li{display:flex;gap:14px;font-family:var(--serif);font-size:clamp(16px,1.3vw,18.5px);
  line-height:1.6;color:var(--ink);align-items:baseline;}
.prose-list-mark{font-family:var(--mono);color:var(--accent);font-size:15px;flex-shrink:0;}
.tone-dark .prose-list-mark{color:var(--accent-bright);}
.prose-sign{margin:2.2em 0 0;font-family:var(--grotesk);font-weight:700;
  font-size:18px;letter-spacing:-0.04em;color:var(--ink-faint);}
.prose-sign-slash{font-family:var(--mono);font-weight:400;color:var(--accent);padding:0 .04em;}
.tone-dark .prose-sign-slash{color:var(--accent-bright);}
.article-foot{width:100%;max-width:900px;margin-top:clamp(48px,6vw,80px);
  display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.article-foot-link{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;
  border:1px solid var(--rule);padding:22px 24px;transition:.2s;}
.article-foot-link:hover{border-color:color-mix(in oklab,var(--accent),transparent 40%);transform:translateY(-2px);}
.article-foot-link.is-next{text-align:right;align-items:flex-end;}
.article-foot-dir{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent);}
.tone-dark .article-foot-dir{color:var(--accent-bright);}
.article-foot-titre{font-family:var(--grotesk);font-weight:700;font-size:16.5px;letter-spacing:-0.015em;
  line-height:1.3;color:var(--ink);max-width:26ch;}

/* ── CONTACT ─────────────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(36px,5vw,80px);align-items:start;}
.contact-intro{display:flex;flex-direction:column;gap:22px;}
.contact-coords{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:0;}
.contact-coords li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--rule);}
.contact-coords li:last-child{border-bottom:1px solid var(--rule);}
.contact-coords-k{font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint);}
.contact-coords a,.contact-coords span:not(.contact-coords-k){color:var(--ink);text-decoration:none;font-size:15px;}
.contact-coords a:hover{color:var(--accent-bright);}
.contact-form-wrap{position:relative;background:var(--bg-2);border:1px solid var(--rule);padding:clamp(24px,3vw,40px);}
.form{display:flex;flex-direction:column;gap:18px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field>span{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-soft);}
.field input,.field select{
  font-family:var(--grotesk);font-size:15px;color:var(--ink);
  background:var(--field-bg);border:1px solid var(--rule);border-radius:1px;
  padding:13px 14px;outline:none;transition:.15s;width:100%;}
.field input::placeholder{color:var(--ink-faint);}
.field input:focus,.field select:focus{border-color:var(--accent);background:transparent;}
.field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'><path fill='%23888' d='M0 0h12L6 7z'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;}
.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px;}
.form-note{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-soft);}

/* ── CTA ─────────────────────────────────────────────────────────────── */
.cta-section{text-align:center;}
.cta-inner{display:flex;flex-direction:column;align-items:center;gap:18px;}
.cta-title{font-size:clamp(28px,3.6vw,50px);margin:6px 0 0;max-width:20ch;}
.cta-sub{margin:0;font-size:17px;color:var(--ink-soft);max-width:48ch;}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:12px;}

/* ── FOOTER (toujours sombre) ────────────────────────────────────────── */
.footer{position:relative;overflow:hidden;background:#15171a;color:#efece4;
  padding:clamp(56px,6vw,88px) 0 32px;
  background-image:url("img/speckle-dark.svg");background-size:cover;background-position:center;}
.footer{--accent-bright:color-mix(in oklab, var(--accent), white 26%);
  --ink:#efece4;--ink-soft:rgba(239,236,228,0.64);--ink-faint:rgba(239,236,228,0.40);--rule:rgba(239,236,228,0.14);}
.footer::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 100% at 30% 30%, #15171a 0%, transparent 75%);}
.footer-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;
  padding:0 clamp(20px,4vw,48px);display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(36px,5vw,72px);}
.footer-brand{display:flex;flex-direction:column;gap:16px;}
.footer-brand .wm{font-size:40px;}
.footer-tag{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--ink-soft);line-height:2;}
.footer-tag-en{color:var(--ink-faint);}
.footer-loc{margin:0;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft);}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);}
.footer-col{display:flex;flex-direction:column;gap:12px;}
.footer-col h4{margin:0 0 6px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--ink-faint);font-weight:500;}
.footer-col a{color:var(--ink-soft);text-decoration:none;font-size:14.5px;transition:.15s;}
.footer-col a:hover{color:var(--accent-bright);}
.footer-base{position:relative;z-index:1;max-width:1200px;margin:clamp(40px,5vw,64px) auto 0;
  padding:24px clamp(20px,4vw,48px) 0;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--ink-faint);}
.footer-base-note{font-family:var(--serif);font-style:italic;letter-spacing:0;font-size:14px;color:var(--ink-soft);}

/* ── Responsive ──────────────────────────────────────────────────────── */
/* Tablette : grilles 3 → 2 colonnes avant l'empilement complet */
@media (max-width:1080px) and (min-width:981px){
  .case-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
  .nav-links,.nav-cta{display:none;}
  .nav-inner>.nav-lang{display:none;}
  .nav-burger{display:flex;}
  .nav-toggle:checked ~ .nav-drawer{display:flex;}
  .nav-toggle:checked ~ .nav-inner .nav-burger span:nth-child(1){transform:translateY(6.6px) rotate(45deg);}
  .nav-toggle:checked ~ .nav-inner .nav-burger span:nth-child(2){opacity:0;}
  .nav-toggle:checked ~ .nav-inner .nav-burger span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}
  .hero-grid,.methode-head,.founder-grid,.svc-grid,.contact-grid,.case-featured{grid-template-columns:1fr;}
  .temps-cols,.creds-grid,.footer-cols,.case-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .svc-aside,.founder-media{position:static;}
  .hero-media{order:0;max-width:none;margin-top:clamp(20px,4vw,32px);}
  .methode-intro{max-width:none;}
  .founder-grid{grid-template-areas:"lede" "media" "copy";}
  .wavepanel-inner{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
  .wavepanel-inner .wave{min-width:760px;}
  .wave-scroll-hint{
    display:flex;align-items:center;justify-content:center;gap:10px;
    margin-top:14px;
    font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;
    color:var(--ink-faint);
  }
  .wave-scroll-arrow{width:46px;height:12px;color:var(--accent-bright);animation:waveScrollNudge 1.8s ease-in-out infinite;}
  .post{grid-template-columns:1fr;gap:8px;}
  .post-excerpt{grid-column:1;}
  .post-read{display:none;}
  .article-foot{grid-template-columns:1fr;}
  .article-foot-link.is-next{text-align:left;align-items:flex-start;}
}
@media (max-width:560px){
  .form-row{grid-template-columns:1fr;}
  .svc-livrables{grid-template-columns:1fr;}
  .creds-grid{gap:8px;}
  .nav-logo-chip{font-size:18px;}
  .footer-base{flex-direction:column;gap:10px;}
}

/* ── Nav · état scrolled (après 80px) ────────────────────────────────── */
.nav{transition:background 240ms ease-out,border-bottom-color 240ms ease-out,color 240ms ease-out;}
.nav.is-scrolled{
  background:color-mix(in oklab,#15171a,transparent 6%);
  border-bottom-color:rgba(239,236,228,0.14);
  color:#efece4;
}
.nav.is-scrolled .nav-link,
.nav.is-scrolled .nav-lang{color:rgba(239,236,228,0.78);}
.nav.is-scrolled .nav-link:hover,
.nav.is-scrolled .nav-link.is-active{color:#efece4;}
.nav.is-scrolled .nav-link.is-active::after,
.nav.is-scrolled .nav-slash{color:var(--accent-bright);background:var(--accent-bright);}
.nav.is-scrolled .nav-slash{background:transparent;}
.nav.is-scrolled .nav-lang{border-color:rgba(239,236,228,0.30);}
.nav.is-scrolled .nav-lang:hover{border-color:rgba(239,236,228,0.52);color:#efece4;}
.nav.is-scrolled .btn-outline{
  color:#efece4;
  border-color:rgba(239,236,228,0.38);
}
.nav.is-scrolled .btn-outline:hover{
  border-color:var(--accent-bright);
  color:var(--accent-bright);
}

/* ── FAQ ─────────────────────────────────────────────────────────────── */
.faq-section{padding-bottom:clamp(56px,6vw,96px);}
.faq-head{max-width:760px;display:flex;flex-direction:column;gap:14px;margin:0 0 clamp(28px,3.4vw,48px);}
.faq-title{font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-0.01em;margin:0;}
.faq-list{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--rule);max-width:880px;}
.faq-item{border-bottom:1px solid var(--rule);}
.faq-item > summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:22px 0;
  font-family:var(--sans);font-weight:500;
  font-size:clamp(16.5px,1.25vw,19px);line-height:1.4;color:var(--ink);
  position:relative;
}
.faq-item > summary::-webkit-details-marker{display:none;}
.faq-item > summary::after{
  content:"+";flex:0 0 auto;
  font-family:var(--mono);font-weight:400;font-size:22px;line-height:1;
  color:var(--accent-bright);transition:transform .25s ease;
  margin-top:2px;
}
.faq-item[open] > summary::after{content:"–";}
.faq-q{flex:1;}
.faq-a{padding:0 0 22px;max-width:72ch;}
.faq-a p{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(15.5px,1.18vw,17.5px);line-height:1.72;color:var(--ink-soft);}
.nav.is-scrolled .nav-burger span{background:#efece4;}
