/* Layout concept: colonne de lecture étroite, visuels LinkedIn à la largeur de la colonne, accent cyan de la marque */
:root{
  --bg:#F4F7FA; --surface:#FFFFFF; --fg:#0B1B2E; --muted:#51647A; --line:#D8E1EA; --accent:#0A7F93; --accent-fg:#FFFFFF; --soft:#E3F1F5; --shadow:0 1px 2px rgba(11,27,46,.08),0 8px 24px rgba(11,27,46,.06);
  --display:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif; --body:'Newsreader',Georgia,'Times New Roman',serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#07121F;--surface:#0D1D30;--fg:#E7EEF5;--muted:#9BB0C4;--line:#1B3048;--accent:#3ED0E3;--accent-fg:#06202A;--soft:#0F2A3A;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);color-scheme:dark}}
:root[data-theme="dark"]{--bg:#07121F;--surface:#0D1D30;--fg:#E7EEF5;--muted:#9BB0C4;--line:#1B3048;--accent:#3ED0E3;--accent-fg:#06202A;--soft:#0F2A3A;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:1.15rem;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:3px}
a:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
img{max-width:100%;height:auto;display:block}
.top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.top-in{max-width:1120px;margin:0 auto;padding:.7rem 16px;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.mark{font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--fg);text-decoration:none;letter-spacing:-.02em;display:flex;align-items:baseline;gap:.5rem}
.wm span{color:var(--accent)}
.mark em{font-style:normal;font-weight:500;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.tnav{display:flex;gap:.3rem 1.1rem;flex-wrap:wrap;font-family:var(--display);font-size:.85rem;font-weight:500}
.tnav a{color:var(--muted);text-decoration:none;padding:.15rem 0;border-bottom:2px solid transparent}
.tnav a:hover,.tnav a[aria-current]{color:var(--fg);border-color:var(--accent)}
.wrap{max-width:1120px;margin:0 auto;padding:2.2rem 16px 3rem}
article{max-width:720px;margin:0 auto}
.crumb{max-width:720px;margin:0 auto 1.4rem;font-family:var(--display);font-size:.82rem;color:var(--muted);display:flex;gap:.5rem;flex-wrap:wrap}
.crumb a{color:var(--muted)}
.eyebrow{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .7rem}
h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.02em;line-height:1.12;margin:0}
h1{font-size:clamp(2rem,5.2vw,3.1rem);font-weight:800}
.byline{display:flex;align-items:center;gap:.8rem;margin:1.3rem 0 1.6rem;font-family:var(--display);font-size:.95rem;font-weight:700;line-height:1.3}
.byline small{font-weight:500;color:var(--muted);font-size:.82rem}
.av{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none}
.hero{margin:0 0 1.8rem}.hero a{display:block}
.hero img{width:100%;border-radius:8px;box-shadow:var(--shadow);background:var(--surface)}
.hero.port img{max-width:560px;margin:0 auto}
.cover{aspect-ratio:16/7;border-radius:8px;margin:0 0 1.8rem;background:radial-gradient(120% 140% at 85% 0%,#14506b 0,#0A1F36 55%,#061220 100%);color:#fff;padding:clamp(1rem,4vw,2rem);display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow)}
.cover span{font-family:var(--display);font-weight:800;font-size:1.3rem}.cover b{color:#3ED0E3}
.cover strong{font-family:var(--display);font-weight:500;font-size:clamp(.9rem,2.4vw,1.15rem);color:#BFD6E6;max-width:26ch}
.chapo{font-size:1.3rem;line-height:1.5;font-style:italic;border-left:3px solid var(--accent);padding-left:1.1rem;margin:0 0 2rem}
.prose{display:flow-root}
.prose h2{font-size:clamp(1.4rem,3.2vw,1.8rem);font-weight:700;margin:2.4rem 0 .9rem}
.prose p{margin:0 0 1.05rem;max-width:68ch}
.prose ul{margin:0 0 1.2rem;padding-left:1.3rem}.prose li{margin:.3rem 0}
.prose blockquote{margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;border-left:3px solid var(--line);color:var(--muted);font-style:italic}
.prose blockquote p{margin:.3rem 0}
.fig{margin:1.8rem 0}.fig a{display:block}
.fig img{border-radius:8px;box-shadow:var(--shadow);width:100%;background:var(--surface)}
.fig.port img,.fig.sq img{max-width:560px;margin:0 auto}
.retenir{margin:2.6rem 0 1.6rem;padding:1.4rem 1.5rem;background:var(--soft);border-radius:10px}
.retenir h2,.rel h2{font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.7rem;color:var(--accent)}
.retenir ul{margin:0;padding-left:1.2rem}.retenir li{margin:.4rem 0}
.cta{margin:1.6rem 0;padding:1.6rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cta p{margin:0;font-family:var(--display);font-weight:700;font-size:1.15rem}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);font-family:var(--display);font-weight:700;padding:.75rem 1.3rem;border-radius:6px;text-decoration:none;font-size:1rem}
.btn:hover{filter:brightness(1.08)}
.rel{margin-top:2.4rem}
.rel ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.8rem}
.rel a{display:block;height:100%;padding:1rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);text-decoration:none;font-family:var(--display);font-weight:700;font-size:.98rem;line-height:1.3}
.rel a:hover{border-color:var(--accent)}
.rel small{display:block;font-weight:500;color:var(--accent);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}
.author{max-width:720px;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;gap:1rem;align-items:center;font-family:var(--display)}
.author img{width:64px;height:64px;border-radius:50%;object-fit:cover}.author p{margin:0;line-height:1.35}
.foot{max-width:1120px;margin:0 auto;padding:1.5rem 16px 3rem;font-family:var(--display);font-size:.85rem;color:var(--muted)}
.intro{max-width:760px;margin:1rem 0 3.2rem}
.intro h1{font-size:clamp(2.2rem,6vw,3.8rem)}
.lead{font-size:1.25rem;color:var(--muted);margin:1rem 0}
.theme{margin:0 0 3.4rem;scroll-margin-top:4.5rem}
.thead{max-width:760px;margin-bottom:1.3rem}
.thead h2{font-size:clamp(1.5rem,3.4vw,2.1rem);font-weight:800}
.thead p{margin:.5rem 0 0}
.thead .cnt{font-family:var(--display);font-size:.8rem;color:var(--muted);letter-spacing:.04em}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.1rem}
.card{display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;color:var(--fg);text-decoration:none;transition:border-color .15s,transform .15s}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.th{aspect-ratio:16/9;overflow:hidden;background:#0A1F36}
.th img{width:100%;height:100%;object-fit:cover;object-position:top}
.th.cv{display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 140% at 85% 0%,#14506b 0,#0A1F36 60%,#061220 100%);color:#fff;font-family:var(--display);font-weight:800;font-size:1.4rem}.th.cv b{color:#3ED0E3}
.ct{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem}
.ct small{font-family:var(--display);color:var(--muted);font-size:.78rem}
.ct h3{font-size:1.1rem;font-weight:700}
.ct p{margin:0;font-size:.95rem;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wide{max-width:1400px}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
table{border-collapse:collapse;font-family:var(--display);font-size:.82rem;line-height:1.4;min-width:1100px}
th,td{text-align:left;vertical-align:top;padding:.55rem .7rem;border-bottom:1px solid var(--line)}
th{background:var(--soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
td small{color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:600px){body{font-size:1.08rem}.tnav{display:none}.cta{flex-direction:column;align-items:flex-start}}

/* Ajouts d'intégration : lien de retour vers le site et crédits */
.tnav a.site{font-weight:700;white-space:nowrap}
.foot small{display:block;margin-top:8px;opacity:.7;font-size:.8em}
