/*
Theme Name: Codebrun Premium
Theme URI: https://codebrun.com/
Author: OpenAI pour Hervé & Vanessa
Author URI: https://codebrun.com/
Description: Thème WordPress satirique premium pour CODEBRUN.COM — Observatoire du naufrage managérial.
Version: 2.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: codebrun-premium
*/

:root{
  --bg:#ECF8FF;
  --bg-soft:#F9FDFF;
  --ink:#153B60;
  --ink-soft:#4E718C;
  --accent:#FFD878;
  --accent-2:#4CC7DE;
  --gold:#F8DB9C;
  --line:rgba(21,59,96,.12);
  --card:#ffffff;
  --shadow:0 18px 55px rgba(15,55,88, .12);
  --shadow-soft:0 10px 30px rgba(15,55,88, .08);
  --radius:22px;
  --radius-lg:34px;
  --max:1200px;
  --header-h:86px;
  --grad:linear-gradient(135deg, rgba(21,59,96,.95), rgba(15,72,78,.88));
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max), calc(100% - 32px)); margin:0 auto}
.section{padding:96px 0}
.section.alt{background:var(--bg-soft)}
.section-dark{
  background:linear-gradient(180deg, #114D7B 0%, #0E668D 100%);
  color:#F5FBFF;
}
.section-title{
  font-size:clamp(2rem, 4vw, 3.35rem);
  line-height:1.05;
  letter-spacing:-.03em;
  margin:0 0 14px;
}
.eyebrow{
  display:inline-flex;
  gap:10px;
  align-items:center;
  font-size:.82rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  color:#4E89AB;
  margin-bottom:16px;
}
.section-dark .eyebrow{color:#A3DEEC}
.eyebrow::before{
  content:"";
  width:10px;height:10px;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 6px rgba(255,216,120,.18);
}
.lead{
  font-size:1.08rem;
  color:var(--ink-soft);
  max-width:760px;
}
.section-dark .lead{color:rgba(247,251,251,.84)}
.grid{display:grid;gap:24px}
.btn, button, input[type="submit"]{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:15px 24px;
  background:var(--ink);
  color:#fff;
  font-weight:700;
  font-size:1rem;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow:0 10px 30px rgba(21,59,96,.18);
}
.btn:hover, button:hover, input[type="submit"]:hover{transform:translateY(-2px)}
.btn.secondary{
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:none;
}
.btn.lime{
  background:var(--accent);
  color:#193F60;
}
.badge{
  display:inline-flex;
  align-items:center;
  padding:9px 16px;
  border-radius:999px;
  background:rgba(255,216,120,.16);
  color:#1F4868;
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.topband{
  background:#133D62;
  color:#F7FCFF;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topband .container{
  display:flex; gap:18px; align-items:center; justify-content:space-between;
  padding:12px 0;
}
.topband p{margin:0; font-weight:600}
.topband a{color:#FFE6A2; font-weight:800}
.site-header{
  position:sticky; top:0; z-index:1000;
  backdrop-filter:saturate(160%) blur(14px);
  background:rgba(252,251,248,.85);
  border-bottom:1px solid rgba(21,59,96,.08);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  min-height:var(--header-h);
  gap:20px;
}
.brand{
  display:flex; align-items:center; gap:14px;
}
.brand-mark{
  width:50px; height:50px; border-radius:50%;
  background:radial-gradient(circle at 50% 50%, #FFD878 0%, #4EC5E4 38%, #11709C 100%);
  box-shadow:inset 0 0 0 8px rgba(255,255,255,.14), 0 10px 30px rgba(17,112,156,.18);
}
.brand-text strong{display:block;font-size:1.25rem;letter-spacing:-.02em}
.brand-text span{font-size:.82rem;color:#67869B;display:block;line-height:1.2}
.primary-nav{
  display:flex; align-items:center; gap:24px;
}
.primary-nav a{
  font-weight:700; color:#1A557B; position:relative; padding:10px 0;
}
.primary-nav a::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--accent); transition:width .2s ease;
}
.primary-nav a:hover::after{width:100%}
.mobile-toggle{display:none}
.hero{
  position:relative;
  min-height:calc(100vh - var(--header-h) - 52px);
  display:flex; align-items:center;
  overflow:hidden;
}
.hero-media{
  position:absolute; inset:0;
}
.hero-media::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,30,31,.88) 0%, rgba(8,30,31,.74) 38%, rgba(8,30,31,.34) 100%),
    linear-gradient(180deg, rgba(8,30,31,.2), rgba(8,30,31,.55));
}
.hero-media img{width:100%; height:100%; object-fit:cover}
.hero-content{
  position:relative; z-index:2; color:#fff; padding:84px 0;
  display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(290px, .75fr); gap:40px; align-items:end;
}
.hero h1{
  font-size:clamp(3rem, 8vw, 6.3rem);
  line-height:.95; letter-spacing:-.06em; margin:0 0 22px;
}
.hero .subtitle{
  font-size:1.18rem; max-width:670px; color:rgba(255,255,255,.82); margin-bottom:28px;
}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:26px}
.hero-stats{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:26px;
}
.stat{
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15);
  border-radius:18px; padding:18px 16px;
}
.stat strong{display:block; font-size:1.7rem; line-height:1; margin-bottom:6px}
.stat span{font-size:.94rem; color:rgba(255,255,255,.8)}
.hero-card{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow);
  border-radius:var(--radius-lg);
  padding:26px;
}
.hero-card h3{margin:0 0 8px; font-size:1.2rem}
.hero-card p{margin:0 0 16px; color:rgba(255,255,255,.82)}
.pill-list{display:flex; flex-wrap:wrap; gap:10px}
.pill{
  padding:8px 12px; border-radius:999px;
  background:rgba(255,255,255,.14); font-size:.86rem; font-weight:700;
}
.card{
  background:var(--card);
  border:1px solid rgba(21,59,96,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px}
.service-card{padding:28px}
.service-card h3{margin:0 0 12px; font-size:1.25rem}
.service-card p{margin:0 0 16px; color:var(--ink-soft)}
.service-card ul{padding-left:18px; margin:0; color:#537B96}
.service-card li+li{margin-top:7px}
.kicker{
  color:#6898B5; font-size:.88rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em;
}
.dual{
  display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:start;
}
.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:32px}
.metric{padding:22px}
.metric strong{display:block; font-size:2rem; margin-bottom:8px}
.metric .trend{font-size:.9rem; color:#5487A6; margin-top:10px}
.alert-wall{
  margin-top:28px;
  display:grid; grid-template-columns:1.2fr .8fr; gap:24px;
}
.bulletin, .radar{padding:26px}
.radar-list{display:grid; gap:14px; margin-top:8px}
.radar-item{display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center}
.bar{
  height:10px; border-radius:999px; background:#E8F5FB; overflow:hidden; position:relative;
}
.bar > span{display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, #53C4E3, #FFD878)}
.postcards{grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px}
.postcard{
  overflow:hidden;
}
.postcard .thumb{aspect-ratio:4/3; overflow:hidden}
.postcard .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease}
.postcard:hover .thumb img{transform:scale(1.06)}
.postcard-body{padding:22px}
.quote{
  font-size:1.04rem; font-weight:700; line-height:1.45; margin-bottom:14px;
}
.caption{font-size:.96rem; color:var(--ink-soft)}
.gallery{
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:18px; margin-top:34px;
}
.gallery figure{margin:0; overflow:hidden; border-radius:20px; position:relative}
.gallery img{width:100%; height:100%; object-fit:cover; min-height:240px}
.gallery figcaption{
  position:absolute; left:16px; bottom:16px;
  background:rgba(21,59,96,.7); color:#fff;
  font-size:.9rem; padding:8px 12px; border-radius:999px;
  backdrop-filter: blur(10px);
}
.gallery figure.tall{grid-row:span 2}
.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:34px}
.post-card{overflow:hidden}
.post-card .post-thumb{aspect-ratio:16/10; background:#E5F4FC}
.post-card .post-thumb img{width:100%; height:100%; object-fit:cover}
.post-card .post-body{padding:22px}
.post-card .meta{font-size:.84rem; color:#5D8EAE; text-transform:uppercase; letter-spacing:.08em; font-weight:800}
.post-card h3{margin:10px 0 10px; font-size:1.22rem; line-height:1.25}
.post-card p{margin:0 0 18px; color:var(--ink-soft)}
.diag-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:28px; margin-top:34px}
.form-shell{padding:28px}
.quiz-grid{display:grid; gap:18px}
.quiz-row{
  padding:16px 18px; border:1px solid rgba(21,59,96,.1); border-radius:18px;
  background:var(--bg-soft);
}
.quiz-row strong{display:block; margin-bottom:10px}
.quiz-options{display:flex; flex-wrap:wrap; gap:10px}
.quiz-options label{
  display:inline-flex; align-items:center; gap:8px; padding:10px 12px;
  background:#fff; border:1px solid rgba(21,59,96,.12); border-radius:999px; cursor:pointer; font-weight:600;
}
.quiz-options input{accent-color:#164C72}
.diag-result{
  background:linear-gradient(180deg, rgba(255,216,120,.18), rgba(255,255,255,.85));
  border:1px solid rgba(21,59,96,.1);
  padding:28px; border-radius:var(--radius);
  min-height:100%;
}
.score-circle{
  width:114px; height:114px; border-radius:50%;
  display:grid; place-items:center;
  background:radial-gradient(circle at center, #fff 48%, transparent 50%), conic-gradient(#FFD878 0, #3AB9DD 50%, #0A6590 100%);
  margin-bottom:16px;
}
.score-circle strong{font-size:2rem}
.smallprint{font-size:.9rem; color:#6C8EA6}
.team-sign{
  display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:34px;
}
.person-card{padding:22px}
.person-card h3{margin:0 0 6px}
.person-card p{margin:0; color:var(--ink-soft)}
.footer-cta{
  padding:32px; border-radius:28px; background:linear-gradient(135deg, #123F68, #177DA5);
  color:#fff; display:flex; justify-content:space-between; align-items:center; gap:20px;
}
.site-footer{
  background:#0D2E4B; color:#EAF8FF; padding:32px 0 48px; margin-top:0;
}
.footer-grid{
  display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:20px; align-items:start;
}
.site-footer h4{margin:0 0 12px}
.site-footer p, .site-footer li{color:rgba(234,248,255,.78)}
.site-footer ul{list-style:none;padding:0;margin:0}
.footer-bottom{
  margin-top:22px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:.92rem;
}
.article-shell{padding:56px 0 90px}
.article-card{padding:40px}
.article-card h1{font-size:clamp(2rem,4vw,3.5rem); line-height:1.05; margin:0 0 16px}
.article-meta{font-size:.92rem; color:#5D8CA6; margin-bottom:22px}
.article-content{font-size:1.05rem}
.article-content h2, .article-content h3{line-height:1.2; margin-top:1.6em}
.article-content blockquote{
  margin:24px 0; padding:20px 24px; border-left:4px solid var(--accent); background:var(--bg-soft);
  border-radius:0 18px 18px 0;
}
.article-content img{border-radius:18px; box-shadow:var(--shadow-soft)}
.empty-posts{padding:24px; border-radius:22px; background:rgba(255,255,255,.8); border:1px dashed rgba(21,59,96,.18)}
.notice{padding:18px 20px; border-radius:18px; background:rgba(255,216,120,.2); color:#193F60}
.hidden{display:none !important}
@media (max-width: 1100px){
  .services-grid, .metrics-grid, .blog-grid, .postcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery figure.tall{grid-row:auto}
  .dual, .diag-wrap, .alert-wall, .hero-content, .footer-grid{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .mobile-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:48px;height:48px;border-radius:50%; background:#fff; border:1px solid var(--line);
    box-shadow:none; color:var(--ink)
  }
  .primary-nav{
    position:fixed; inset:86px 16px auto 16px; background:#fff; border:1px solid var(--line);
    border-radius:24px; box-shadow:var(--shadow); padding:18px; display:none; flex-direction:column; align-items:flex-start;
  }
  .primary-nav.is-open{display:flex}
  .hero-stats{grid-template-columns:1fr}
  .services-grid, .metrics-grid, .blog-grid, .postcards, .team-sign{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
  .topband .container{flex-direction:column; align-items:flex-start}
}

/* CODEBRUN v2.2 — Studio tropical */
:root{--lagon:#69D6ED;--limo:#FFE1A0}
body{overflow-wrap:anywhere}
section[id]{scroll-margin-top:104px}
:focus-visible{outline:3px solid #FFE1A0;outline-offset:4px}
.primary-nav ul.wp-menu-inline{display:flex;gap:18px;list-style:none;padding:0;margin:0;align-items:center}
.primary-nav ul.wp-menu-inline li{list-style:none}
.studio-tag{display:inline-block;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850;border-radius:99px;padding:7px 13px;background:#FFF2C8;color:#245878}
.fun-section{padding:80px 0;background:#E9F7FF}
.fun-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}
.fun-tile{border-radius:26px;background:#fff;border:1px solid #D5E9F4;padding:28px;box-shadow:0 12px 35px rgba(22,76,114,.06)}
.fun-tile.dark{background:#123C63;color:#fff}
.fun-tile h3{font-size:1.5rem;line-height:1.2;margin:8px 0 10px}
.fun-output{padding:22px;margin:20px 0;border-radius:18px;background:#E8F8FF;color:#16486C;min-height:100px;font-size:1.07rem;line-height:1.55;font-weight:680}
.fun-tile.dark .fun-output{background:#115D87;color:#fff}
.fun-action{display:flex;flex-wrap:wrap;gap:10px}
.fun-action button{font-size:.9rem;padding:12px 18px}
.episode{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}
.episode article{padding:28px;border-radius:24px;background:#fff;border:1px solid #D5EAF6}
.episode article:last-child{background:#123C63;color:#F2FBFF}
.episode h3{font-size:1.45rem;margin:5px 0}
.episode article:last-child p{color:#CDE7F5}
.alerte{border:1px solid #C8E9F8;background:#E8F7FF;padding:14px 18px;border-radius:16px;font-size:.9rem;color:#315F7C;margin-top:16px}
.sey-quote{padding:36px 0;background:#FFE5A3}
.sey-quote-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.sey-quote q{font-size:clamp(1.4rem,2.5vw,2.3rem);font-weight:900;line-height:1.2;color:#204D70;letter-spacing:-.025em}
.naufrage-flash{background:#0E4A73;color:#F5FCFF;border-radius:23px;padding:26px;margin-top:25px}
.naufrage-flash p{color:#DAF2FF}
.naufrage-flash button{background:#FFE39C;color:#16456A}
.diag-print{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.diag-print button{font-size:.89rem;padding:11px 17px}
.home-disclaimer{font-size:.91rem;margin-top:14px;color:#DAEAF4}
@media(max-width:900px){.fun-grid,.episode{grid-template-columns:1fr}.sey-quote-inner{display:block}.sey-quote .btn{margin-top:18px;display:inline-block}}
@media(max-width:860px){.primary-nav ul.wp-menu-inline{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:600px){.fun-section{padding:58px 0}.fun-tile{padding:21px}}
@media print{.topband,.site-header,.site-footer,.fun-section,.diag-print{display:none!important}.diag-result{display:block!important;box-shadow:none!important}}
@media(prefers-reduced-motion: reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* ==========================================================
   CODEBRUN 2.3 - SEYCHELLES AZUR
   Refonte responsive compacte. Pas de surcharge d'en-tête.
   ========================================================== */
:root{
 --bg:#EAF7FF;
 --bg-soft:#F7FCFF;
 --ink:#123F63;
 --ink-soft:#426781;
 --accent:#FFD67B;
 --accent-2:#2AB5D5;
 --gold:#FFDA87;
 --line:rgba(23,78,112,.14);
 --card:#FFFFFF;
 --shadow:0 14px 38px rgba(26,84,122,.09);
 --shadow-soft:0 6px 20px rgba(24,91,140,.07);
 --radius:18px;
 --radius-lg:26px;
 --max:1300px;
 --header-h:70px;
 --grad:linear-gradient(128deg,rgba(12,64,110,.87),rgba(12,118,157,.66));
}
body{background:var(--bg);color:var(--ink);overflow-wrap:break-word}
h1,h2,h3,h4{color:inherit;text-wrap:balance}
p{margin-top:0}
section[id]{scroll-margin-top:82px}
.container{width:min(var(--max),calc(100% - 44px))}
.section{padding:58px 0}
.section.alt{background:#F7FCFF}
.section-dark{background:linear-gradient(150deg,#124B75 0%,#176B99 100%);color:#F8FCFF}
.section-title{
 font-size:clamp(1.75rem,2.6vw,2.75rem);
 line-height:1.13;
 letter-spacing:-.025em;
 max-width:980px;
 margin:0 0 12px;
}
.lead{font-size:1rem;line-height:1.65;max-width:900px;color:#456C88}
.section-dark .lead{color:#E6F6FF}
.eyebrow{font-size:.72rem;letter-spacing:.12em;margin-bottom:10px;color:#287EA7}
.section-dark .eyebrow{color:#B7EAF7}
.eyebrow::before{width:7px;height:7px;background:#FFC66A;box-shadow:0 0 0 4px rgba(255,212,115,.24)}
.btn,button,input[type="submit"]{font-size:.91rem;padding:11px 18px;box-shadow:none}
.btn.lime{background:#FFD36E;color:#153E60}
.btn.lime:hover{background:#FFE29B}
.btn.secondary{color:#134B6E;border:1px solid #BDD9E9}
.badge{
 background:rgba(255,226,158,.92);color:#183F62;
 font-size:.7rem;letter-spacing:.09em;padding:7px 12px
}
.topband{display:none!important}
.site-header{
 background:rgba(249,253,255,.97);border-bottom:1px solid #D5E7F1;
 backdrop-filter:blur(10px);
}
.header-inner{min-height:70px;gap:12px}
.brand{gap:10px;flex-shrink:0;min-width:0}
.brand-mark{
 width:39px;height:39px;flex:0 0 39px;
 background:radial-gradient(circle,#FFF7C6 0%,#77DDF0 30%,#1EA5D2 62%,#124A7B 100%);
 box-shadow:inset 0 0 0 5px rgba(255,255,255,.3),0 5px 15px rgba(22,125,172,.14)
}
.brand-text strong{font-size:1.06rem;letter-spacing:-.025em;white-space:nowrap;color:#143E61}
.brand-text span{font-size:.71rem;line-height:1.25;color:#6C8DA4;max-width:235px}
.primary-nav{display:flex;align-items:center;gap:13px;min-width:0}
.primary-nav a,.primary-nav ul.wp-menu-inline a{
 display:inline-flex;align-items:center;
 color:#1A4F72;
 font-size:.82rem;line-height:1.15;
 white-space:nowrap;overflow-wrap:normal;word-break:normal;
 padding:7px 0;
}
.primary-nav ul.wp-menu-inline{display:flex;align-items:center;gap:13px;list-style:none;padding:0;margin:0}
.primary-nav ul.wp-menu-inline li{margin:0;min-width:0}
.primary-nav .btn{font-size:.82rem;white-space:nowrap;padding:11px 15px;background:#146C99;color:white}
.primary-nav .btn:hover{background:#0E547A}
.hero{
 min-height:550px;
 display:flex;align-items:center;
 background:#164E79;
}
.hero-media::after{
 background:
 linear-gradient(90deg,rgba(9,52,90,.88) 0%,rgba(15,91,131,.73) 40%,rgba(20,99,144,.25) 100%),
 linear-gradient(180deg,rgba(9,52,90,.06),rgba(9,52,90,.34));
}
.hero-content{grid-template-columns:minmax(0,1.25fr) minmax(280px,.72fr);gap:35px;padding:56px 0}
.hero h1{
 font-size:clamp(2.5rem,5vw,4.85rem);
 line-height:1;letter-spacing:-.047em;margin:16px 0 15px;
 overflow-wrap:normal;word-break:keep-all;white-space:nowrap;
}
.hero .hero-dot{color:#FFE394}
.hero .subtitle{font-size:1.02rem;line-height:1.64;max-width:730px;margin-bottom:18px}
.hero-actions{margin-bottom:14px}
.hero .pill{padding:6px 9px;font-size:.76rem;background:rgba(255,255,255,.15)}
.hero-stats{gap:9px;margin-top:10px}
.stat{padding:12px;border-radius:13px}
.stat strong{font-size:1.38rem;margin-bottom:3px}
.stat span{font-size:.76rem;line-height:1.4;display:block}
.simulation-note{color:#DCEFFB;font-size:.72rem;margin:15px 0 0;letter-spacing:.02em}
.hero-card{
 border-radius:20px;padding:22px;background:rgba(12,61,102,.51);
 border:1px solid rgba(255,255,255,.33)
}
.hero-card h3{font-size:1.1rem}
.hero-card p{font-size:.95rem;margin-bottom:12px}
.hero-card .notice{padding:12px;font-size:.88rem;background:rgba(234,248,255,.9);color:#184E72}
.hero-card .pill{padding:6px 10px;font-size:.79rem}
.grid{gap:16px}
.services-grid,.metrics-grid,.postcards,.blog-grid{margin-top:24px}
.service-card,.metric,.bulletin,.radar,.form-shell,.diag-result,.postcard-body,.person-card,.post-card .post-body{padding:20px}
.service-card h3{font-size:1.14rem;margin-bottom:8px}
.service-card p{font-size:.95rem;margin-bottom:12px}
.service-card ul{font-size:.9rem}
.kicker{font-size:.72rem;color:#317FA5}
.metric strong{font-size:1.65rem;color:#126D98}
.metric .trend{font-size:.8rem}
.alert-wall,.gallery,.team-sign,.diag-wrap,.fun-grid,.episode{gap:16px;margin-top:24px}
.alert-wall{grid-template-columns:1.05fr .95fr}
.bar{background:#D8EDF7}
.bar>span{background:linear-gradient(90deg,#2FAACD,#FED17A)}
.gallery figure{border-radius:15px}
.gallery img{min-height:200px}
.postcard .thumb{aspect-ratio:16/10}
.postcard-body .quote{font-size:.98rem}
.fun-section{padding:54px 0;background:#E7F6FF}
.fun-tile{padding:22px;border-color:#D6EBF7;border-radius:18px}
.fun-tile.dark{background:#124D79}
.fun-tile.dark .fun-output{background:#166A97;color:#FFF}
.fun-tile h3{font-size:1.2rem}
.fun-output{font-size:.95rem;padding:16px;min-height:74px;background:#E1F5FF;color:#174C74}
.episode article{padding:20px;border-radius:18px;border-color:#D1E8F5}
.episode article:last-child{background:#154F7B;color:#FFF}
.episode article:last-child p{color:#E2F6FF}
.episode h3{font-size:1.18rem}
.alerte,.notice{background:#E0F4FF;color:#184C70;border:1px solid #C7E8F9}
.sey-quote{padding:26px 0;background:#FFE6B1}
.sey-quote q{color:#144B71;font-size:clamp(1.12rem,2vw,1.65rem)}
.naufrage-flash{background:#164C7B;padding:20px}
.naufrage-flash p{color:#E2F6FF}
.naufrage-flash button{background:#FFD87D;color:#163F60}
.diag-result{background:linear-gradient(145deg,#E1F6FF,#FFFDF7)}
.score-circle{
 width:88px;height:88px;
 background:radial-gradient(circle at center,#FFF 47%,transparent 49%),conic-gradient(#FFD878,#5AD0E8,#126C9D)
}
.score-circle strong{font-size:1.45rem}
.footer-cta{padding:23px;border-radius:20px;background:linear-gradient(135deg,#123F65,#137FA9)}
.footer-cta h3{font-size:1.35rem!important;line-height:1.2!important}
.site-footer{background:#103759;padding:28px 0 30px;color:#E8F5FF}
.footer-grid{gap:16px}
.article-shell{padding:34px 0 54px}
.article-card{padding:26px}
.article-card h1{font-size:clamp(1.8rem,3vw,2.7rem)}
.article-content{font-size:1rem}
.home-disclaimer{color:#D8F3FF}
.studio-tag{background:#FFF2CA;color:#184E72}
.site-footer a:hover{color:#FFD878}
.admin-bar .site-header{top:32px}
@media(max-width:1220px){
 .mobile-toggle{
   display:inline-flex;align-items:center;justify-content:center;
   width:42px;height:42px;border-radius:12px;
   background:#E8F7FF;border:1px solid #C5E4F3;color:#155A82;box-shadow:none;
   font-size:1.1rem;
 }
 .site-header{position:sticky;top:0}
 .admin-bar .site-header{top:32px}
 .header-inner{position:relative}
 .primary-nav{
   position:absolute;top:calc(100% - 2px);right:0;left:auto;width:min(390px,calc(100vw - 44px));
   max-height:calc(100vh - 100px);overflow:auto;
   padding:16px;gap:8px;
   display:none;flex-direction:column;align-items:stretch;
   background:#FFFFFF;border:1px solid #CFE5F3;border-radius:0 0 18px 18px;
   box-shadow:var(--shadow);
 }
 .primary-nav.is-open{display:flex}
 .primary-nav a,.primary-nav ul.wp-menu-inline a{font-size:.94rem;display:block;white-space:normal;padding:10px 8px;width:100%}
 .primary-nav ul.wp-menu-inline{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%}
 .primary-nav .btn{display:block;text-align:center;width:100%;padding:13px 16px;color:white;white-space:normal}
}
@media(max-width:900px){
 .hero{min-height:0}
 .hero-content{grid-template-columns:1fr;padding:42px 0;gap:20px}
 .hero h1{font-size:clamp(2.6rem,7vw,4.1rem)}
 .hero-card{max-width:680px}
 .services-grid,.metrics-grid,.postcards,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dual,.diag-wrap,.alert-wall,.footer-grid,.hero-content{grid-template-columns:1fr}
 .hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
 .gallery{grid-template-columns:1fr 1fr}
 .fun-grid,.episode{grid-template-columns:1fr}
}
@media(max-width:600px){
 .container{width:min(var(--max),calc(100% - 28px))}
 .section{padding:40px 0}
 .section-title{font-size:clamp(1.55rem,6vw,2rem)}
 .header-inner{min-height:61px}
 .brand-mark{width:33px;height:33px;flex-basis:33px}
 .brand-text strong{font-size:.96rem}
 .brand-text span{font-size:.66rem;max-width:180px}
 .hero-content{padding:35px 0}
 .hero h1{font-size:clamp(2rem,9.5vw,3rem)}
 .hero .subtitle{font-size:.95rem}
 .hero-stats{grid-template-columns:1fr}
 .stat{padding:10px 14px}
 .services-grid,.metrics-grid,.postcards,.blog-grid,.gallery,.team-sign{grid-template-columns:1fr}
 .gallery figure.tall{grid-row:auto}
 .fun-section{padding:38px 0}
 .fun-tile{padding:18px}
 .footer-cta{display:block}
 .footer-cta .btn{display:inline-block;margin-top:15px}
 .quiz-options label{font-size:.85rem;padding:8px}
 .article-card{padding:19px}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* CODEBRUN — Articles plus compacts | v2.3.1
   Ciblé uniquement sur les articles, sans modifier l'accueil. */
.single-post .article-shell {
  padding: 22px 0 36px;
}
.single-post .article-card {
  padding: 23px 26px;
}
.single-post .article-card > .eyebrow {
  margin-bottom: 8px;
}
.single-post .article-card h1 {
  font-size: clamp(1.7rem, 2.2vw, 2.25rem);
  line-height: 1.17;
  letter-spacing: -0.025em;
  margin: 0 0 9px;
}
.single-post .article-meta {
  font-size: .86rem;
  margin-bottom: 14px;
}
.single-post .article-content {
  font-size: .98rem;
  line-height: 1.58;
}
.single-post .article-content p {
  margin: 0 0 12px;
}
.single-post .article-content h2 {
  font-size: clamp(1.16rem, 1.6vw, 1.35rem);
  line-height: 1.25;
  margin: 21px 0 9px;
}
.single-post .article-content h3 {
  font-size: clamp(1.08rem, 1.35vw, 1.2rem);
  line-height: 1.28;
  margin: 17px 0 8px;
}
.single-post .article-content > :last-child {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .single-post .article-shell { padding: 18px 0 28px; }
  .single-post .article-card { padding: 17px; }
  .single-post .article-card h1 { font-size: 1.7rem; }
  .single-post .article-content h2 { font-size: 1.18rem; }
}


/* === CODEBRUN 2.4 : Grand Journal du Naufrage ===
   Conserve la palette azur et les tailles v2.3.1. */
.journal-ticker {
  background:#fff3d8;
  color:#135178;
  border-top:1px solid #f3e5c6;
  border-bottom:1px solid #eedba9;
}
.journal-ticker .container {
  display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
  min-height:49px; padding:8px 0; font-size:.84rem;
}
.journal-ticker strong {letter-spacing:.085em; font-size:.77rem}
.journal-ticker a{font-weight:800; color:#075b88; white-space:nowrap}
.journal-ticker a:hover{text-decoration:underline}
.journal-section-heading {
  display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:25px;
}
.journal-section-heading .lead{margin-bottom:0}
.journal-section-heading .btn{flex:none;white-space:nowrap}
.journal-btn-primary{background:#146b9a;color:#fff}
.journal-btn-primary:hover{background:#0f4f77;color:#fff}
.journal-btn-white{background:#fff;color:#174f78;box-shadow:none}
.journal-home-feature{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(260px,.75fr);gap:16px}
.journal-story{
  min-width:0;
  overflow:hidden;
  box-shadow:0 9px 26px rgba(19,83,121,.075);
  border:1px solid #d5eaf5;
  border-radius:17px;
  display:flex;
  flex-direction:column;
}
.journal-story-image{
  display:block;overflow:hidden;background:#b9e5f2;
  aspect-ratio:16/9;
}
.journal-story-image img,.journal-story-image .journal-image{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .45s ease;
}
.journal-story:hover .journal-story-image img{transform:scale(1.045)}
.journal-story-body{padding:17px 19px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.journal-story-meta{
  display:flex;gap:13px;align-items:center;flex-wrap:wrap;
  font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;
  color:#24749e;margin-bottom:9px;
}
.journal-story-meta time{color:#7496a8;font-weight:650}
.journal-story h3{
  font-size:clamp(1.02rem,1.4vw,1.2rem);
  line-height:1.24;margin:0 0 9px;letter-spacing:-.015em;
  color:#113b5d;
}
.journal-story h3 a:hover{color:#168db7}
.journal-story-body p{font-size:.9rem;line-height:1.56;color:#45677c;margin:0 0 16px}
.journal-story-read{margin-top:auto;color:#087ba9;font-size:.87rem;font-weight:850}
.journal-story-read:hover{text-decoration:underline}
.journal-story-lead .journal-story-image{aspect-ratio:16/7.6}
.journal-story-lead h3{font-size:clamp(1.27rem,2.1vw,1.75rem)}
.journal-story-lead .journal-story-body{padding:23px}
.journal-story-lead .journal-story-body p{font-size:.98rem}
.journal-home-aside{
  background:linear-gradient(150deg,#f9fcff,#e1f4fc);
  border-radius:17px;border:1px solid #d5eaf5;
  padding:18px;display:flex;flex-direction:column;gap:14px;
}
.journal-aside-banner{padding:17px;background:#125479;border-radius:13px;color:#fff}
.journal-aside-banner h3{font-size:1.28rem;line-height:1.2;letter-spacing:-.025em;margin:13px 0 9px}
.journal-aside-banner p{font-size:.87rem;color:#e2f4fb;margin:0}
.journal-edition-number{font-size:.65rem;color:#ffe0a0;letter-spacing:.1em;font-weight:800}
.journal-brief{padding:2px 0 13px;border-bottom:1px solid #cde5f0;display:flex;flex-direction:column;gap:4px}
.journal-brief span{font-size:.74rem;color:#638ca4}
.journal-brief strong{font-size:.98rem;line-height:1.35;color:#174c70}
.journal-brief:hover strong{color:#0b91ba}
.journal-aside-link{margin-top:auto;color:#0b759d;font-weight:800;font-size:.9rem}
.journal-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:17px}
.journal-home-grid .journal-story-image{aspect-ratio:16/10}
.journal-home-grid .journal-story h3{font-size:1.05rem}
.journal-home-grid .journal-story-body{padding:14px}
.journal-home-grid .journal-story-body p{font-size:.84rem}
.journal-caption{font-size:.79rem;color:#66879b;margin:15px 0 0}
.journal-empty{
  display:grid;grid-template-columns:minmax(220px,.85fr) 1.15fr;
  gap:20px;align-items:center;background:#fff;border:1px solid #d3e8f2;
  border-radius:20px;overflow:hidden;box-shadow:0 10px 22px rgba(22,94,133,.07);
}
.journal-empty img{width:100%;height:100%;min-height:250px;object-fit:cover}
.journal-empty>div{padding:25px 25px 25px 0}
.journal-empty h3{font-size:1.4rem;line-height:1.2;margin:0 0 10px}
.journal-empty p{color:#55768b;margin:0 0 18px;font-size:.94rem}
.journal-cover{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(90deg,rgba(9,51,84,.94),rgba(10,79,111,.8) 50%,rgba(9,68,102,.4)),
    url('assets/images/journal-09-carte-postale.webp') center 48% /cover no-repeat;
}
.journal-cover-content{padding:65px 0 58px}
.journal-cover-label{font-size:.77rem;letter-spacing:.14em;font-weight:800;color:#ffe5ae;margin-bottom:16px;display:flex;align-items:center;gap:9px}
.journal-dot{height:8px;width:8px;display:inline-block;background:#ffdb90;border-radius:50%}
.journal-cover h1{
  font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.08;
  letter-spacing:-.045em;max-width:850px;margin:0 0 15px;
}
.journal-cover h1 em{font-style:normal;color:#95e7f1}
.journal-cover p{font-size:1.03rem;max-width:800px;color:#e1f4fe;margin:0}
.journal-cover-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px}
.journal-cover-actions span{font-size:.85rem;color:#fff0d0}
.journal-listing-intro{display:flex;gap:24px;align-items:end;justify-content:space-between}
.journal-listing-intro .lead{margin-bottom:0}
.journal-count{white-space:nowrap;font-size:.8rem;font-weight:800;background:#dff5fa;color:#166384;padding:8px 13px;border-radius:999px}
.journal-filters{display:flex;flex-wrap:wrap;gap:9px;margin:25px 0}
.journal-filters a{border:1px solid #c9e2ef;color:#1d6387;background:#fff;padding:8px 15px;font-size:.84rem;font-weight:750;border-radius:999px}
.journal-filters a:hover,.journal-filters a.is-active{background:#126c99;color:#fff;border-color:#126c99}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.journal-grid .journal-story-image{aspect-ratio:16/9}
.journal-pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:27px}
.journal-pagination span{font-size:.86rem;color:#597e90}
.journal-disclaimer{
  font-size:.8rem;color:#557a8b;margin:27px 0 0;
  padding-top:14px;border-top:1px solid #d4e9f3;
}
.journal-article-shell{padding-top:19px!important}
.journal-article-shell .container{max-width:1100px}
.journal-breadcrumb{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  color:#5a8097;font-size:.8rem;margin-bottom:12px;
}
.journal-breadcrumb a{font-weight:700;color:#2078a6}
.journal-breadcrumb a:hover{text-decoration:underline}
.single-post .journal-article{padding:0;overflow:hidden;max-width:100%}
.journal-article-header{padding:23px 30px 16px}
.journal-article .eyebrow{margin-bottom:9px}
.single-post .journal-article h1{
  font-size:clamp(1.7rem,2.35vw,2.35rem);line-height:1.17;
  letter-spacing:-.03em;margin:0 0 9px;
}
.journal-article-header .article-meta{font-size:.83rem;color:#668ba0;margin:0}
.journal-article-figure{margin:0 30px 19px}
.journal-article-image{height:clamp(190px,27vw,310px);width:100%;object-fit:cover;border-radius:12px}
.journal-article-figure figcaption{font-size:.74rem;color:#67899b;padding-top:7px}
.single-post .journal-article-body{padding:0 30px;max-width:900px;margin:0 auto}
.journal-article-body > *:first-child{margin-top:0}
.journal-article-body p{line-height:1.62}
.journal-article-end{padding:10px 30px 25px;max-width:960px;margin:0 auto}
.journal-satire-note{padding:12px 15px;background:#edf8fd;color:#416e83;border-left:3px solid #4bb9d7;border-radius:0 10px 10px 0;font-size:.83rem}
.journal-article-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:19px}
.journal-article-actions .btn{font-size:.85rem;padding:10px 16px}
.journal-adjacent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:18px 0 0}
.journal-adjacent a{padding:16px;border-radius:14px;border:1px solid #cfe7f3;background:#fff}
.journal-adjacent a span{display:block;color:#4686a6;font-weight:750;font-size:.75rem;margin-bottom:5px}
.journal-adjacent a strong{display:block;line-height:1.35;font-size:.94rem}
.journal-adjacent a:hover{border-color:#58bfd9}
.journal-related{margin-top:36px}
.journal-related .section-title{font-size:1.65rem}
.journal-related .journal-grid{margin-top:20px}
.journal-related .journal-story-image{aspect-ratio:16/9}
@media (max-width:1080px){
  .journal-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journal-home-feature{grid-template-columns:1.2fr .8fr}
}
@media (max-width:800px){
  .journal-section-heading,.journal-listing-intro{align-items:start;flex-direction:column;gap:12px}
  .journal-home-feature{grid-template-columns:1fr}
  .journal-home-grid,.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journal-cover-content{padding:45px 0 42px}
  .journal-cover p{font-size:.96rem}
}
@media (max-width:600px){
  .journal-ticker .container{justify-content:flex-start;gap:7px 14px}
  .journal-ticker span{width:100%}
  .journal-home-grid,.journal-grid,.journal-adjacent{grid-template-columns:1fr}
  .journal-story-lead .journal-story-image{aspect-ratio:16/9}
  .journal-empty{grid-template-columns:1fr}
  .journal-empty img{max-height:200px;min-height:0}
  .journal-empty>div{padding:0 18px 20px}
  .journal-cover-content{padding:35px 0}
  .journal-cover h1{font-size:clamp(2rem,8vw,2.5rem)}
  .journal-cover-label{font-size:.64rem}
  .journal-listing-intro h2{font-size:1.55rem}
  .journal-filters a{font-size:.78rem;padding:7px 11px}
  .journal-article-header{padding:19px 17px 12px}
  .journal-article-figure{margin:0 17px 15px}
  .journal-article-image{height:190px}
  .single-post .journal-article-body{padding:0 17px}
  .journal-article-end{padding:8px 17px 20px}
  .journal-article-actions{flex-direction:column;align-items:stretch}
  .journal-article-actions .btn{text-align:center}
  .journal-related .section-title{font-size:1.38rem}
}
@media (prefers-reduced-motion:reduce){
  .journal-story-image img{transition:none}
  .journal-story:hover .journal-story-image img{transform:none}
}
