/* Shared internal-page design tokens, independent of homepage sections. */
:root{--nuit:#050d18;--nuit-2:#081522;--encre:#101b27;--ligne:#26394b;--ivoire:#f8f6ef;--texte:#f5f7f8;--doux:#adbac8;--jaune:#f1e91c;--bleu:#7fb0e8;--pad:clamp(22px,4vw,64px);--gutter:max(28px,calc((100% - 1580px)/2));--ease:cubic-bezier(.22,.61,.36,1)}
body{background:var(--nuit)}
main,main *{box-sizing:border-box}
.wp-site-blocks>main{width:100%;margin:0 auto!important;min-width:0}
.dn-page-banner,.dn-page-body,.dn-section,.dn-post-hero,.dn-post-content,.dn-post-footer{width:100%;margin-inline:auto}
.dn-section>p,.dn-section>ul,.dn-section>ol{max-width:760px;color:var(--doux);font-size:clamp(16px,1.2vw,18px);line-height:1.75}
.dn-section>p+p{margin-top:1em}
.dn-breadcrumb{flex-wrap:wrap}
.dn-card-title a{color:inherit;text-decoration:none}
.dn-card-title a:hover{color:var(--jaune)}
.dn-author-avatar{display:grid;place-items:center;color:var(--bleu);font-size:14px}
@media(max-width:600px){.wp-block-post-template.is-layout-grid{grid-template-columns:1fr}.dn-btn{white-space:normal}}

/* ============================================================
   Diginative — pages internes (hors home)
   Variables autonomes : les sections de la home ont leur propre portée.
   ============================================================ */

/* Sur les pages internes, home.js n'est pas chargé : les éléments .dn-rise
   n'obtiennent jamais la classe .is-visible. On les affiche directement. */
.dn-rise { opacity: 1 !important; translate: 0 0 !important; transition: none !important; }

/* ---------- Fil d'Ariane ---------- */
.dn-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 18px var(--gutter) 0;
  font-size: 12px;
  color: #78899a;
  letter-spacing: .01em;
}
.dn-breadcrumb a { color: inherit; text-decoration: none; }
.dn-breadcrumb a:hover { color: var(--ivoire); }
.dn-breadcrumb span[aria-hidden] { opacity: .5; }

/* ---------- Bandeau page ---------- */
.dn-page-banner {
  padding: clamp(40px,5vw,72px) var(--gutter) clamp(28px,3.5vw,48px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  position: relative;
}
.dn-page-banner .dn-eyebrow {
  margin: 0 0 16px;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--jaune);
}
.dn-page-banner h1 {
  font-size: clamp(30px,4vw,58px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 0 0 18px;
  color: #f5f3ed;
  max-width: 840px;
}
.dn-page-banner p.dn-lead {
  font-size: clamp(15px,1.4vw,19px);
  line-height: 1.6;
  color: #b5bec3;
  max-width: 600px;
  margin: 0;
}

/* ---------- Corps de page (prose) ---------- */
.dn-page-body {
  padding: clamp(40px,5vw,72px) var(--pad);
  max-width: calc(780px + 2 * var(--pad));
}
.dn-page-body h2 {
  font-size: clamp(22px,2.4vw,34px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -.03em;
  margin: 2em 0 .6em;
  color: #eef2f5;
}
.dn-page-body h3 {
  font-size: clamp(16px,1.5vw,22px);
  font-weight: 500;
  letter-spacing: -.02em;
  margin: 1.6em 0 .5em;
  color: #dce5ec;
}
.dn-page-body p, .dn-page-body li {
  font-size: clamp(15px,1.2vw,17px);
  line-height: 1.75;
  color: #b8c4cc;
}
.dn-page-body ul, .dn-page-body ol { padding-left: 1.4em; }
.dn-page-body li { margin-bottom: .4em; }
.dn-page-body a { color: var(--jaune); }
.dn-page-body a:hover { color: #fff; }
.dn-page-body strong { color: #dce5ec; }
.dn-page-body blockquote {
  margin: 1.5em 0;
  padding: .8em 1.2em;
  border-left: 2px solid var(--jaune);
  color: #adb9c2;
  font-size: 1.05em;
  font-style: italic;
}

/* ---------- Section page (contenu large) ---------- */
.dn-section {
  padding: clamp(48px,6vw,88px) var(--gutter);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.dn-section:last-of-type { border-bottom: 0; }
.dn-section-head {
  margin-bottom: clamp(28px,3vw,48px);
}
.dn-section-head h2 {
  font-size: clamp(24px,2.8vw,42px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 8px 0 14px;
  color: #f0f2ed;
}
.dn-section-head p {
  font-size: clamp(14px,1.2vw,17px);
  line-height: 1.65;
  color: #8fa0ae;
  max-width: 560px;
  margin: 0;
}

/* ---------- Grille de cartes ---------- */
.dn-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px,1fr));
  gap: clamp(16px,2vw,28px);
}
.dn-card {
  background: #0e1418;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, transform .25s var(--ease);
}
.dn-card:hover {
  border-color: rgba(255,255,255,.24);
  transform: translateY(-4px);
}
.dn-card-cover {
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #181f24;
}
.dn-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s var(--ease);
}
.dn-card:hover .dn-card-cover img { transform: scale(1.04); }
.dn-card-body {
  padding: 20px 22px 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.dn-card-tag {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jaune);
}
.dn-card-title {
  font-size: clamp(16px,1.4vw,20px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -.02em;
  color: #eef2f5;
  margin: 0;
}
.dn-card-excerpt {
  font-size: 13px;
  line-height: 1.6;
  color: #7d909a;
  margin: 0;
  flex: 1;
}
.dn-card-meta {
  font-size: 11px;
  color: #5e7182;
  display: flex;
  gap: 12px;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.06);
}

/* ---------- Réalisation — page détaillée ---------- */
.dn-real-hero {
  padding: clamp(36px,4.5vw,64px) var(--gutter);
  display: grid;
  grid-template-columns: 1fr minmax(0,480px);
  gap: 56px;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.dn-real-hero-cover {
  border-radius: 16px;
  overflow: hidden;
  order: 2;
}
.dn-real-hero-cover img { width: 100%; display: block; border-radius: 16px; }
.dn-real-client {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jaune);
  margin: 0 0 14px;
}
.dn-real-title {
  font-size: clamp(28px,3.5vw,52px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 0 0 20px;
  color: #f0f2ed;
}
.dn-real-pitch {
  font-size: clamp(15px,1.3vw,18px);
  line-height: 1.65;
  color: #95a8b5;
  margin: 0 0 28px;
}
.dn-real-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dn-tag {
  display: inline-flex;
  padding: 5px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  font-size: 11px;
  color: #8fa4b3;
  letter-spacing: .01em;
}
.dn-real-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1px;
  background: rgba(255,255,255,.07);
  border-radius: 12px;
  overflow: hidden;
  margin-top: 28px;
}
.dn-real-stat {
  padding: 18px 16px;
  background: #0b1217;
  text-align: center;
}
.dn-real-stat strong {
  display: block;
  font-size: clamp(20px,2vw,28px);
  font-weight: 500;
  letter-spacing: -.03em;
  color: var(--jaune);
  line-height: 1;
}
.dn-real-stat span {
  display: block;
  font-size: 11px;
  color: #6a7e8c;
  margin-top: 5px;
}

/* ---------- Article de blog ---------- */
.dn-post-hero {
  padding: clamp(36px,4.5vw,64px) var(--pad) clamp(24px,3vw,40px);
  border-bottom: 1px solid rgba(255,255,255,.07);
  max-width: calc(780px + 2 * var(--pad));
}
.dn-post-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
  font-size: 11px;
  color: #5e7182;
  flex-wrap: wrap;
}
.dn-post-meta .dn-cat {
  color: var(--jaune);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.dn-post-meta .dn-sep { opacity: .4; }
.dn-post-title {
  font-size: clamp(26px,3.2vw,48px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 0 0 18px;
  color: #f0f2ed;
}
.dn-post-excerpt {
  font-size: clamp(15px,1.3vw,18px);
  line-height: 1.65;
  color: #8fa8b8;
  margin: 0;
}
.dn-post-content {
  padding: clamp(36px,4.5vw,60px) var(--pad);
  max-width: calc(720px + 2 * var(--pad));
}
.dn-post-content h2 { font-size: clamp(20px,2.2vw,30px); font-weight: 400; line-height: 1.2; letter-spacing: -.03em; margin: 2em 0 .7em; color: #eef2f5; }
.dn-post-content h3 { font-size: clamp(16px,1.5vw,22px); font-weight: 500; letter-spacing: -.02em; margin: 1.6em 0 .5em; color: #dce5ec; }
.dn-post-content p, .dn-post-content li { font-size: clamp(15px,1.2vw,17px); line-height: 1.8; color: #b5c2cc; }
.dn-post-content ul, .dn-post-content ol { padding-left: 1.4em; }
.dn-post-content li { margin-bottom: .45em; }
.dn-post-content a { color: var(--jaune); }
.dn-post-content strong { color: #dce5ec; }
.dn-post-content blockquote { margin: 1.6em 0; padding: 1em 1.4em; border-left: 2px solid var(--jaune); color: #9ab0bc; font-size: 1.05em; }
.dn-post-content img { max-width: 100%; border-radius: 12px; display: block; margin: 2em auto; }
.dn-post-content code { font-family: monospace; font-size: .88em; padding: 2px 6px; background: rgba(255,255,255,.07); border-radius: 4px; color: #c6d4dc; }
.dn-post-content pre { background: #0b1217; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 1.2em 1.4em; overflow-x: auto; margin: 1.6em 0; }
.dn-post-content pre code { background: none; padding: 0; font-size: .875em; color: #c6d4dc; }

/* ---------- Article footer (auteur + navigation) ---------- */
.dn-post-footer {
  padding: clamp(28px,3.5vw,48px) var(--pad) clamp(36px,4.5vw,64px);
  max-width: calc(720px + 2 * var(--pad));
  border-top: 1px solid rgba(255,255,255,.07);
}
.dn-author-card {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding: 22px 24px;
  background: #0b1217;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  margin-bottom: 32px;
}
.dn-author-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  flex-shrink: 0;
  overflow: hidden;
}
.dn-author-avatar img { width: 100%; height: 100%; object-fit: cover; }
.dn-author-name { font-size: 14px; font-weight: 600; color: #eef2f5; margin: 0 0 4px; }
.dn-author-bio { font-size: 13px; line-height: 1.6; color: #6e8696; margin: 0; }
.dn-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.dn-post-nav a {
  display: block;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s;
}
.dn-post-nav a:hover { border-color: rgba(255,255,255,.2); }
.dn-post-nav a span { display: block; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #5e7182; margin-bottom: 6px; }
.dn-post-nav a strong { display: block; font-size: 14px; font-weight: 500; color: #c8d5dd; }
.dn-post-nav a:nth-child(2) { text-align: right; }

/* ---------- Archive des articles ---------- */
.dn-archive-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: rgba(255,255,255,.06);
  border-radius: 16px;
  overflow: hidden;
}
.dn-archive-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 22px 24px;
  background: #0b1217;
  text-decoration: none;
  color: inherit;
  transition: background .2s;
}
.dn-archive-item:hover { background: #10191f; }
.dn-archive-item-title { font-size: clamp(16px,1.5vw,20px); font-weight: 500; letter-spacing: -.02em; color: #eef2f5; margin: 0 0 6px; }
.dn-archive-item-excerpt { font-size: 13px; line-height: 1.6; color: #6b8092; margin: 0; }
.dn-archive-item-date { font-size: 11px; color: #4f6778; white-space: nowrap; }

/* ---------- Page "Parlons" (hors chat.css) ---------- */
.dn-parlons-wrap {
  min-height: calc(100vh - 88px);
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 0;
}
.dn-parlons-context {
  padding: clamp(36px,5vw,72px) var(--pad);
  border-right: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dn-parlons-context h1 {
  font-size: clamp(26px,3vw,44px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.04em;
  margin: 0 0 20px;
  color: #f0f2ed;
}
.dn-parlons-context p {
  font-size: clamp(14px,1.2vw,16px);
  line-height: 1.7;
  color: #8a9eab;
  max-width: 440px;
}
.dn-parlons-context .dn-pilier {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.dn-parlons-context .dn-pilier-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: var(--jaune);
  font-size: 14px;
  margin-top: 2px;
}
.dn-parlons-context .dn-pilier p { margin: 0; font-size: 13px; }
.dn-parlons-context .dn-pilier strong { display: block; color: #dce5ec; font-size: 14px; margin-bottom: 3px; }

@media (max-width: 900px) {
  .dn-parlons-wrap { grid-template-columns: 1fr; }
  .dn-parlons-context { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
}

/* ---------- Retour / navigation contextuelle ---------- */
.dn-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #5e7182;
  text-decoration: none;
  padding: 6px 0;
  transition: color .2s;
}
.dn-back:hover { color: var(--ivoire); }
.dn-back::before { content: '←'; }

/* ---------- CTA de section ---------- */
.dn-section-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.dn-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 40px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background .2s, transform .2s;
  white-space: nowrap;
}
.dn-btn--primary {
  background: var(--jaune);
  color: #131611;
}
.dn-btn--primary:hover { background: #fff764; transform: translateY(-2px); }
.dn-btn--ghost {
  border: 1px solid rgba(255,255,255,.18);
  color: #c8d5dd;
}
.dn-btn--ghost:hover { border-color: rgba(255,255,255,.38); color: #fff; }

/* ---------- Responsive général ---------- */
@media (max-width: 800px) {
  .dn-real-hero { grid-template-columns: 1fr; }
  .dn-real-hero-cover { order: 0; }
  .dn-post-nav { grid-template-columns: 1fr; }
  .dn-card-grid { grid-template-columns: 1fr; }
  .dn-archive-item { grid-template-columns: 1fr; }
  .dn-archive-item-date { display: none; }
}

/* Lead blocks use the same left edge as the page sections. */
.entry-content>.dn-page-body:has(.dn-lead){max-width:none;padding-top:28px;padding-bottom:28px}
.dn-lead{font-size:clamp(17px,1.5vw,21px)!important;line-height:1.65;color:var(--doux);max-width:760px;margin:0}
.wp-site-blocks main>.dn-page-banner,.wp-site-blocks main>.dn-breadcrumb{margin-top:0}
.wp-block-query .wp-block-post-template{padding:0;list-style:none}
.wp-block-query .dn-card{height:100%;background:#0b1b2b}
.wp-block-query .wp-block-post-excerpt__excerpt{margin:0}

.dn-archive-grid{padding:40px var(--gutter) 64px}.dn-archive-grid .wp-block-query{max-width:none!important}.dn-card-tag a{color:var(--jaune);text-decoration:none}
