/* =====================================================================
   boost_tf — Téléscope front-office styles
   Design system reproduced from the CDC demo homepage.
   ===================================================================== */
:root{
  --ink:#14182E;
  --ink-2:#262B47;
  --paper:#FFFFFF;
  --band:#F5F6FB;
  --band-2:#EEF0F8;
  --line:#E2E5F1;
  --muted:#5B6182;
  --muted-2:#878DA8;
  --accent:#2747FF;
  --accent-ink:#1A2FBE;
  --signal:#FF8A3D;
  --signal-2:#FFC15E;
  --good:#1A9C66;
  --font-display:'Spectral', Georgia, 'Times New Roman', serif;
  --font-ui:'Archivo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --wrap:1600px;
  --r:14px;
  --shadow:0 1px 2px rgba(20,24,46,.05), 0 12px 30px -16px rgba(20,24,46,.22);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-ui);
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-ink)}
img{max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
section{scroll-margin-top:84px}

:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:4px}

.eyebrow{
  font-family:var(--font-ui);
  font-weight:700;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.01em;font-weight:700;margin:0}
h2.sec-title{font-size:clamp(1.5rem,3vw,2.05rem);margin:0 0 .35rem}
.sec-intro{color:var(--muted);max-width:62ch;margin:0 0 1.6rem;font-size:1.02rem}

/* ---------- equalizer signature ---------- */
.eq{display:flex;align-items:flex-end;gap:3px;height:100%}
.eq span{
  flex:1;
  background:linear-gradient(180deg,var(--signal-2),var(--signal));
  border-radius:3px;
  transform-origin:bottom;
  animation:eq 1.8s ease-in-out infinite;
}
@keyframes eq{0%,100%{transform:scaleY(.32)}50%{transform:scaleY(1)}}
@media (prefers-reduced-motion: reduce){.eq span{animation:none;transform:scaleY(.6)}}

.brandmark{display:inline-flex;align-items:flex-end;gap:2px;width:22px;height:20px}
.brandmark span{flex:1;background:var(--signal);border-radius:2px}
.brandmark span:nth-child(1){height:45%}
.brandmark span:nth-child(2){height:100%}
.brandmark span:nth-child(3){height:62%}
.brandmark span:nth-child(4){height:80%}

/* ---------- hello bar ---------- */
.hellobar{background:var(--ink);color:#EDEEF6;font-size:.84rem}
.hellobar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding-top:6px;padding-bottom:6px}
.hellobar a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4)}
.hellobar a:hover{text-decoration-color:#fff;color:#fff}
.hb-left{display:flex;gap:8px;align-items:center;min-width:0}
.hb-left .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);flex:none;box-shadow:0 0 0 3px rgba(255,138,61,.25)}
.hb-left span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.demo-flag{flex:none;font-weight:600;letter-spacing:.04em;color:#AEB4D6;border:1px solid rgba(255,255,255,.18);padding:2px 9px;border-radius:999px;font-size:.72rem}

/* ---------- sticky header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 8px 24px -18px rgba(20,24,46,.5)}
.hd{display:flex;align-items:center;gap:14px;min-height:64px}
.brand{display:flex;flex:none;align-items:center;gap:10px;font-family:var(--font-ui);font-weight:800;font-size:1.32rem;letter-spacing:-.02em;color:var(--ink)}
.brand:hover{color:var(--ink)}
.hd-collapse{display:contents}
.nav{display:flex;flex:1;justify-content:center;flex-wrap:nowrap;gap:4px;margin:0 8px;min-width:0}
.nav a{font-weight:600;font-size:.94rem;color:var(--ink-2);padding:8px 11px;border-radius:9px;white-space:nowrap}
.nav a:hover{color:var(--accent);background:var(--band)}
.hd-cta{flex:none;display:flex;align-items:center;gap:8px}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:700;font-size:.92rem;padding:10px 18px;border-radius:11px;border:1px solid transparent;cursor:pointer;transition:transform .12s, background .2s, box-shadow .2s;line-height:1;white-space:nowrap}
.hd-cta .btn{padding:9px 15px;font-size:.9rem}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 10px 22px -12px var(--accent)}
.btn-primary:hover{color:#fff;transform:translateY(-1px);background:var(--accent-ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer;color:var(--ink)}

/* discreet admin login link (footer bottom bar) */
.f-login{margin-left:14px;color:#8990BC;position:relative;padding-left:14px}
.f-login::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:#5b6182}
.f-login:hover{color:#fff}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(120% 120% at 88% -10%, rgba(39,71,255,.07), transparent 55%),
  linear-gradient(180deg,#fff, var(--band));border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.7rem);margin:.7rem 0 1rem}
.hero .dek{font-size:1.16rem;color:var(--muted);max-width:54ch;margin:0 0 1.7rem}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-aside{position:relative;height:300px;border-radius:18px;background:linear-gradient(160deg,#191F3D,#11152C);box-shadow:var(--shadow);overflow:hidden;padding:26px}
.hero-aside .label{color:#AAB1D8;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hero-aside .big{color:#fff;font-family:var(--font-display);font-size:2.7rem;line-height:1;margin:.35rem 0 .1rem}
.hero-aside .sub{color:#C7CCE8;font-size:.9rem}
.hero-aside .eq{position:absolute;left:26px;right:26px;bottom:24px;height:120px;opacity:.95}
.hero-aside .eq span:nth-child(odd){animation-duration:2.2s}
.hero-aside .eq span:nth-child(3n){animation-duration:1.5s}

/* ---------- generic section ---------- */
.sec{padding:64px 0}
.sec.band{background:var(--band)}
.sec-head{margin-bottom:6px}

/* editorial intro + grid */
.intro-block{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.lede{font-family:var(--font-display);font-size:1.42rem;line-height:1.5;color:var(--ink);font-weight:500}
.lede a{font-style:italic}
.intro-meta{border-left:3px solid var(--signal);padding:2px 0 2px 18px;color:var(--muted);font-size:.96rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0;overflow:hidden;transition:transform .14s, box-shadow .2s, border-color .2s;color:var(--ink)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cfd5ec;color:var(--ink)}
.card-cover{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--ink-2),var(--ink));overflow:hidden}
.card-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.card:hover .card-cover img{transform:scale(1.045)}
.card-body{display:block;padding:16px 18px 18px}
.card .kicker{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.card h3{font-size:1.06rem;margin:8px 0 0;line-height:1.25}
.card .meta{margin-top:12px;color:var(--muted-2);font-size:.82rem}
.pager{margin-top:36px;display:flex;justify-content:center}
.pager .nav-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-weight:600;font-size:.9rem;background:#fff}
.pager .page-numbers.current{background:var(--accent);color:#fff;border-color:var(--accent)}
.pager a.page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.pager .page-numbers.current:hover{color:#fff}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.testi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 20px;position:relative}
.sec.band .testi{box-shadow:var(--shadow)}
.testi blockquote{margin:0;font-family:var(--font-display);font-size:1.08rem;line-height:1.55;color:var(--ink-2)}
.testi blockquote::before{content:"\201C";color:var(--signal);font-size:2.4rem;line-height:0;position:relative;top:14px;margin-right:4px}
.testi cite{display:flex;align-items:center;gap:12px;margin-top:16px;font-style:normal}
.avatar{width:40px;height:40px;border-radius:50%;flex:none;background:linear-gradient(135deg,#2747FF,#6E86FF);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.95rem;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}
.testi cite .who b{display:block;font-weight:700}
.testi cite .who b a{color:var(--ink)}
.testi cite .who b a:hover{color:var(--accent)}
.testi cite .who small{color:var(--muted);font-size:.84rem}

/* partners / group logos */
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.logo{
  display:flex;align-items:center;gap:10px;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:18px 14px;color:var(--ink);font-weight:700;letter-spacing:-.01em;
  transition:transform .14s, box-shadow .2s, border-color .2s;
  text-align:center;min-height:70px;position:relative;
}
.logo:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#cfd5ec;color:var(--ink)}
.logo .mk{width:26px;height:26px;border-radius:7px;flex:none;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-size:.95rem}
.logo .mk img{width:100%;height:100%;object-fit:contain;border-radius:7px}
.logo .pill{position:absolute;top:-9px;right:-9px}
.logo small{display:block;font-weight:600;color:var(--muted-2);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}

/* discover (text links) */
.discover{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.disc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;transition:border-color .2s, box-shadow .2s}
.disc:hover{border-color:#cfd5ec;box-shadow:var(--shadow)}
.disc a.h{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--ink)}
.disc a.h:hover{color:var(--accent)}
.disc p{margin:8px 0 0;color:var(--muted);font-size:.92rem}

/* edited-by */
.edited{text-align:center;padding:46px 0}
.edited .eq{height:26px;width:120px;margin:0 auto 16px}
.edited p{font-family:var(--font-display);font-size:1.3rem;margin:0;color:var(--ink-2)}
.edited p a{font-weight:600}

/* footer */
.footer{background:var(--ink);color:#C7CCE6;padding:56px 0 30px;font-size:.93rem}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;padding-bottom:28px}
.footer h4{font-family:var(--font-ui);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0 0 14px}
.footer .brand{color:#fff;margin-bottom:12px}
.f-about{color:#A9AFD0;max-width:34ch;margin:0 0 16px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer ul a{color:#C7CCE6}
.footer ul a:hover{color:#fff}
.f-credits a{color:#C7CCE6}
.f-credits a:hover{color:#fff}
.f-credits li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.f-credits .tag{font-size:.68rem;color:#8990BC}
.socials{display:flex;gap:10px;margin-top:6px}
.socials a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:#fff;font-weight:700;font-size:.8rem}
.socials a:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.f-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:22px;color:#9298C0;font-size:.84rem}
.group-banner{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:7px 14px;border-radius:999px}
.group-banner .brandmark{width:18px;height:16px}
.group-banner a{color:#fff;font-weight:600}
.group-banner a:hover{color:#C3D0FF}

/* ---------- SEO annotation layer ---------- */
.pill{font-family:var(--font-ui);font-weight:700;font-size:.62rem;letter-spacing:.03em;padding:3px 8px;border-radius:999px;white-space:nowrap;display:inline-block;line-height:1.3}
.pill.do{background:#E4ECFF;color:#1A2FBE;border:1px solid #C3D2FF}
.pill.sp{background:#FFE9D6;color:#9A4A12;border:1px solid #FFCF9F}
.pill.ug{background:#E8E4FF;color:#4B2F9A;border:1px solid #CFC3FF}
.pill.no{background:#ECEEF5;color:#525873;border:1px solid #D7DBEA}

.reltag{display:none;margin-left:6px;vertical-align:middle;font-weight:700;font-size:.6rem;padding:2px 7px;border-radius:999px;line-height:1.4}
.reltag.do{background:#E4ECFF;color:#1A2FBE}
.reltag.sp{background:#FFE9D6;color:#9A4A12}
.reltag.ug{background:#E8E4FF;color:#4B2FF9}
.reltag.no{background:#ECEEF5;color:#525873}
body.seo-on .reltag{display:inline-block}

body.seo-on .sec[data-seo],
body.seo-on .hero[data-seo],
body.seo-on .footer[data-seo],
body.seo-on .hellobar[data-seo]{position:relative;outline:2px dashed rgba(39,71,255,.35);outline-offset:-2px}
body.seo-on [data-seo]::after{
  content:attr(data-seo);
  position:absolute;top:8px;right:12px;z-index:5;
  background:var(--accent);color:#fff;
  font-family:var(--font-ui);font-weight:700;font-size:.66rem;letter-spacing:.02em;
  padding:5px 11px;border-radius:999px;box-shadow:0 6px 16px -8px rgba(0,0,0,.5);
  max-width:min(90vw,420px);
}
body.seo-on .hellobar[data-seo]::after{top:50%;transform:translateY(-50%)}
body.seo-on .ok::after{background:var(--good)}

/* SEO summary banner */
.seo-banner{display:none;background:#0E1126;color:#E7E9F6;border-bottom:2px solid var(--accent)}
body.seo-on .seo-banner{display:block}
.seo-banner .wrap{padding:14px 24px;display:flex;gap:14px;align-items:flex-start}
.seo-banner .ic{flex:none;width:30px;height:30px;border-radius:8px;background:var(--accent);display:grid;place-items:center;font-weight:800;color:#fff;font-family:var(--font-display)}
.seo-banner b{color:#fff}
.seo-banner .tally{margin-top:7px;display:flex;flex-wrap:wrap;gap:7px}
.seo-banner .tally .pill{background:rgba(255,255,255,.08);color:#D7DBF0;border:1px solid rgba(255,255,255,.14);font-weight:600}
.seo-banner .warn{color:var(--signal-2)}
.seo-banner .over{color:#FF9DA3}

/* SEO toggle button */
.seo-toggle{
  position:fixed;right:18px;bottom:18px;z-index:60;
  display:inline-flex;align-items:center;gap:9px;
  background:var(--ink);color:#fff;border:1px solid rgba(255,255,255,.18);
  padding:11px 16px;border-radius:999px;cursor:pointer;
  font-family:var(--font-ui);font-weight:700;font-size:.86rem;
  box-shadow:0 14px 34px -12px rgba(20,24,46,.6);transition:transform .12s, background .2s}
.seo-toggle:hover{transform:translateY(-2px)}
.seo-toggle .ind{width:9px;height:9px;border-radius:50%;background:#6B7299;transition:background .2s}
body.seo-on .seo-toggle{background:var(--accent)}
body.seo-on .seo-toggle .ind{background:var(--signal-2);box-shadow:0 0 0 4px rgba(255,193,94,.3)}

/* toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:70;background:var(--ink);color:#fff;padding:11px 18px;border-radius:12px;font-weight:600;font-size:.9rem;opacity:0;pointer-events:none;transition:opacity .25s, transform .25s;box-shadow:var(--shadow)}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- inner pages (legal / article / testimonials) ---------- */
.page-hero{background:linear-gradient(180deg,#fff,var(--band));border-bottom:1px solid var(--line);padding:54px 0 40px}
.page-hero .eyebrow{margin-bottom:10px;display:block}
.page-hero h1{font-size:clamp(1.9rem,3.6vw,2.7rem)}
.breadcrumb{font-size:.86rem;color:var(--muted-2);margin-bottom:14px}
.breadcrumb a{color:var(--muted)}
.prose{max-width:74ch;margin:40px auto;padding:0 24px}
.prose h2{font-size:1.4rem;margin:1.8rem 0 .6rem}
.prose p{margin:0 0 1rem;color:var(--ink-2)}
.prose ul{margin:0 0 1rem;padding-left:1.2rem;color:var(--ink-2)}
.prose code{background:var(--band-2);padding:2px 6px;border-radius:6px;font-size:.9em}
.article-body{max-width:74ch;margin:34px auto;padding:0 24px;font-size:1.06rem}
.article-body p{margin:0 0 1.1rem;color:var(--ink-2)}
.article-meta{color:var(--muted-2);font-size:.86rem;margin-top:10px}
.notice{background:#FFF7EE;border:1px solid #FFD9B0;border-left:4px solid var(--signal);border-radius:10px;padding:14px 18px;margin:18px auto;max-width:74ch;color:#7a4a18;font-size:.94rem}

/* Header collapses to a hamburger menu below this width (keeps the nav from cramping) */
@media (max-width:1080px){
  .hd-collapse{display:none}
  .menu-toggle{display:inline-block}
  .site-header.open .hd-collapse{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px 18px;gap:8px;box-shadow:var(--shadow);z-index:39}
  .site-header.open .nav{display:flex;flex:none;flex-direction:column;justify-content:flex-start;gap:2px;margin:0}
  .site-header.open .nav a{padding:12px 8px}
  .site-header.open .hd-cta{display:flex;gap:10px;margin-top:6px}
  .site-header.open .hd-cta .btn{flex:1;justify-content:center}
}

@media (max-width:1000px){
  .hero .wrap{grid-template-columns:1fr;gap:30px}
  .hero-aside{height:220px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .logo-grid{grid-template-columns:repeat(3,1fr)}
  .intro-block{grid-template-columns:1fr;gap:24px}
  .f-top{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:720px){
  .testi-grid,.discover{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
  .logo-grid{grid-template-columns:repeat(2,1fr)}
  .f-top{grid-template-columns:1fr}
  .hero h1{font-size:2.05rem}
  .demo-flag{display:none}
  body.seo-on [data-seo]::after{font-size:.58rem;padding:4px 8px;top:6px;right:8px}
}

/* ============ Refonte : chiffres, image-texte, video, newsletter ============ */
/* Chiffres cles */
.stats-band{padding:44px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:var(--ink);border-radius:20px;padding:34px 30px;box-shadow:var(--shadow)}
.stat{text-align:center;color:#fff;padding:6px 14px;position:relative}
.stat + .stat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:56%;width:1px;background:rgba(255,255,255,.14)}
.stat-num{display:block;font-family:var(--font-display);font-size:2.5rem;font-weight:700;line-height:1;color:#fff;letter-spacing:-.01em}
.stat-lbl{display:block;margin-top:9px;font-size:.9rem;color:#AEB4D6;line-height:1.35}

/* Blocs image-texte */
.features .sec-head{margin-bottom:44px;max-width:640px}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;margin-bottom:60px}
.feature:last-child{margin-bottom:0}
.feature.reverse .feature-img{order:2}
.feature-img{display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:3/2;background:linear-gradient(135deg,var(--ink-2),var(--ink))}
.feature-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.feature-img:hover img{transform:scale(1.045)}
.feature-txt .kicker{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.feature-txt h3{font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.15;margin:10px 0 12px}
.feature-txt h3 a{color:var(--ink)}
.feature-txt h3 a:hover{color:var(--accent)}
.feature-txt p{color:var(--muted);font-size:1.06rem;line-height:1.6;margin:0 0 20px;max-width:52ch}

/* Bloc video */
.video-wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.video-facade{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -28px rgba(20,24,46,.55);background:var(--ink);cursor:pointer;isolation:isolate}
.video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.video-facade::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,13,32,.10) 0%,rgba(10,13,32,.05) 40%,rgba(10,13,32,.55) 100%);transition:opacity .3s}
.video-facade:hover .video-poster{transform:scale(1.045)}
.video-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:82px;height:82px;border-radius:50%;border:0;cursor:pointer;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;transition:transform .2s,background .25s;box-shadow:0 10px 34px -6px rgba(0,0,0,.55)}
.video-play svg{margin-left:5px}
.video-play::before{content:"";position:absolute;inset:-13px;border-radius:50%;border:2px solid rgba(255,255,255,.4);animation:vp-pulse 2.6s cubic-bezier(.4,0,.2,1) infinite}
.video-facade:hover .video-play{transform:translate(-50%,-50%) scale(1.08);background:var(--accent);box-shadow:0 12px 40px -6px rgba(39,71,255,.7)}
@keyframes vp-pulse{0%{transform:scale(.82);opacity:.85}70%{transform:scale(1.3);opacity:0}100%{opacity:0}}
.video-badge{position:absolute;left:15px;bottom:15px;z-index:2;background:rgba(10,13,32,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font:600 .74rem var(--font-ui);letter-spacing:.02em;padding:7px 12px;border-radius:9px}
.video-facade.is-playing{cursor:default}
.video-facade.is-playing::after{display:none}
.video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:3}
@media (prefers-reduced-motion:reduce){.video-play::before{animation:none}}
.video-txt .sec-title{margin:8px 0 12px}
.video-txt p{margin-bottom:20px}

/* Newsletter */
.newsletter-sec{padding:64px 0}
.nl-card{background:radial-gradient(120% 130% at 88% -20%,rgba(255,255,255,.16),transparent 60%),linear-gradient(135deg,var(--accent),var(--accent-ink));border-radius:22px;padding:46px 44px;color:#fff;display:grid;gap:22px;box-shadow:0 24px 50px -24px rgba(39,71,255,.6)}
.nl-card .eyebrow{color:#C7D0FF}
.nl-card h2{color:#fff}
.nl-head p{color:#E1E6FF;font-size:1.05rem;margin:8px 0 0;max-width:56ch}
.nl-form{display:flex;gap:10px;flex-wrap:wrap;max-width:540px}
.nl-form input{flex:1;min-width:220px;padding:13px 16px;border-radius:11px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.14);color:#fff;font-size:1rem;font-family:var(--font-ui)}
.nl-form input::placeholder{color:#CfD6FF}
.nl-form input:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.2)}
.nl-form .btn-primary{background:#fff;color:var(--accent-ink);box-shadow:none}
.nl-form .btn-primary:hover{background:#EDEFFF;color:var(--accent-ink);transform:translateY(-1px)}
.nl-rgpd{font-size:.82rem;color:#CfD6FF;margin:0}
.nl-rgpd a{color:#fff;text-decoration:underline}

@media (max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:18px 6px}
  .feature,.video-wrap{grid-template-columns:1fr;gap:26px}
  .feature.reverse .feature-img{order:0}
  .feature-img{aspect-ratio:16/9}
  .nl-card{padding:34px 24px}
}
@media (max-width:520px){
  .stats-grid{grid-template-columns:1fr 1fr;padding:26px 18px}
  .stat-num{font-size:2rem}
}

/* ============ Hero carrousel ============ */
.hero-slider{position:relative;overflow:hidden;background:#0b0e1c;min-height:clamp(500px,70vh,700px);display:flex;isolation:isolate}
.hs-track{position:absolute;inset:0}
.hs-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;display:flex;align-items:center;pointer-events:none}
.hs-slide.is-active{opacity:1;pointer-events:auto}
.hs-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transform:scale(1.08)}
.hs-slide.is-active .hs-bg{animation:hsZoom 7s ease forwards}
.hs-slide::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,11,26,.94) 0%,rgba(8,11,26,.78) 38%,rgba(8,11,26,.35) 72%,rgba(8,11,26,.12) 100%)}
.hs-inner{position:relative;z-index:2;color:#fff;max-width:660px;padding-top:56px;padding-bottom:72px}
.hs-inner .eyebrow{color:var(--signal-2)}
.hs-inner h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.06;margin:.7rem 0 1.1rem;text-wrap:balance;letter-spacing:-.015em}
.hs-dek{color:#D8DCF2;font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.55;max-width:54ch;margin:0 0 1.9rem}
.btn-light{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.32)}
.btn-light:hover{background:rgba(255,255,255,.22);color:#fff;border-color:#fff}
.hs-dots{position:absolute;bottom:26px;left:0;right:0;z-index:4;display:flex;justify-content:center;gap:11px}
.hs-dot{width:40px;height:5px;border-radius:99px;border:0;background:rgba(255,255,255,.32);cursor:pointer;padding:0;transition:background .3s}
.hs-dot:hover{background:rgba(255,255,255,.6)}
.hs-dot.is-active{background:var(--signal)}
@keyframes hsZoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hs-slide.is-active .hs-bg{animation:none;transform:scale(1.02)}.hs-slide{transition:opacity .2s}}
@media (max-width:760px){
  .hero-slider{min-height:560px}
  .hs-slide::after{background:linear-gradient(0deg,rgba(8,11,26,.96) 8%,rgba(8,11,26,.62) 60%,rgba(8,11,26,.45) 100%)}
  .hs-inner{padding-top:40px;padding-bottom:66px}
}

/* ============ Rubriques (catégories) — 4 présentations variées ============ */
.catx{position:relative;overflow:hidden}
.catx-v0{background:var(--paper);padding:66px 0}
.catx-v2{background:var(--band);padding:64px 0}
.catx-v2{background:color-mix(in srgb,var(--cat) 7%,var(--band))}
.catx-v3{background:var(--paper);padding:60px 0;border-top:3px solid var(--cat)}
/* — éléments partagés — */
.catx-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cat);background:color-mix(in srgb,var(--cat) 13%,#fff);padding:7px 15px;border-radius:999px}
.catx-badge.is-light{color:#fff;background:rgba(255,255,255,.16)}
.catx-title{font-family:var(--font-display);font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.03;color:var(--ink);letter-spacing:-.02em;margin:16px 0 12px}
.catx-title.is-light{color:#fff}
.catx-title.xl{font-size:clamp(2.4rem,4.6vw,3.7rem)}
.catx-desc{color:var(--muted);font-size:1.08rem;line-height:1.6;margin:0 0 26px;max-width:52ch}
.catx-desc.is-light{color:#D7DBF0}
.catx-desc-c{margin-left:auto;margin-right:auto}
.catx-cta{display:inline-flex;align-items:center;gap:9px;background:var(--cat);color:#fff;font-weight:700;font-size:.98rem;padding:14px 26px;border-radius:13px;box-shadow:0 14px 30px -14px var(--cat);transition:transform .14s,box-shadow .22s}
.catx-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 22px 42px -14px var(--cat)}
.catx-cta.is-onimg{background:#fff;color:var(--ink);box-shadow:0 16px 34px -16px rgba(0,0,0,.6)}
.catx-cta.is-onimg:hover{color:var(--ink);background:#EDEFFF}
.catx-ico{flex:none;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.35rem;line-height:1;background:color-mix(in srgb,var(--cat) 12%,#fff)}
.catx-ico-badge{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:16px;color:var(--cat);background:color-mix(in srgb,var(--cat) 12%,#fff);margin-bottom:16px}
.catx-ico-badge svg{width:28px;height:28px}
.catx-ico-badge.lg{width:64px;height:64px}
.catx-ico-badge.lg svg{width:32px;height:32px}
.catx-ico-badge.is-onimg{color:#fff;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.catx-item-txt{min-width:0}
.catx-item-txt b{display:block;font-family:var(--font-ui);font-weight:700;font-size:1rem;color:var(--ink);line-height:1.2}
.catx-item-txt small{display:block;color:var(--muted);font-size:.86rem;margin-top:2px}
/* — V0 : collage 2 photos — */
.catx-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.catx-list{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:12px}
.catx-item{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 18px;transition:transform .16s,box-shadow .22s,border-color .22s}
.catx-item:hover{transform:translateX(5px);box-shadow:0 12px 28px -18px rgba(20,24,46,.5);border-color:color-mix(in srgb,var(--cat) 45%,var(--line))}
.catx-media{position:relative;width:100%;max-width:540px;margin:0 auto;aspect-ratio:1/1}
.catx-photo{position:absolute;border-radius:22px;object-fit:cover;box-shadow:0 30px 60px -28px rgba(20,24,46,.5);border:5px solid #fff}
.catx-photo-1{top:0;left:0;width:72%;height:80%;z-index:1}
.catx-photo-2{right:0;bottom:0;width:50%;height:56%;z-index:2}
.catx-float{position:absolute;left:5%;top:60%;z-index:3;display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 22px 46px -18px rgba(20,24,46,.55)}
.catx-float-ico{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--cat);background:color-mix(in srgb,var(--cat) 12%,#fff)}
.catx-float-ico svg{width:25px;height:25px}
.catx-float-txt b{display:block;font-weight:700;font-size:.95rem;color:var(--ink);line-height:1.15;white-space:nowrap}
.catx-float-txt small{display:block;color:var(--muted);font-size:.8rem}
/* — V1 : bandeau immersif plein cadre — */
.catx-cover{background-size:cover;background-position:center;min-height:470px;display:flex;align-items:center}
.catx-cover-in{padding-top:72px;padding-bottom:72px}
.catx-cover-in .catx-desc{max-width:58ch}
.catx-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.catx-chip{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;font-weight:600;font-size:.9rem;padding:9px 15px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
/* — V2 : split typographique (sans photo) — */
.catx-split{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}
.catx-rows{list-style:none;margin:0;padding:0}
.catx-row{display:flex;align-items:center;gap:18px;padding:18px 4px;border-top:1px solid var(--line)}
.catx-row:last-child{border-bottom:1px solid var(--line)}
.catx-row-n{flex:none;width:34px;font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--cat)}
/* — V3 : grille centrée (sans photo) — */
.catx-center{max-width:1040px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.catx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;width:100%;margin:26px 0 30px}
.catx-cell{background:var(--band);border:1px solid var(--line);border-radius:16px;padding:26px 22px;transition:transform .16s,box-shadow .22s}
.catx-cell:hover{transform:translateY(-4px);box-shadow:0 16px 34px -20px rgba(20,24,46,.5)}
.catx-cell .catx-ico{margin:0 auto 14px}
.catx-cell b{display:block;font-family:var(--font-ui);font-weight:700;font-size:1.05rem;color:var(--ink)}
.catx-cell small{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
.cat-articles{padding:38px 0 8px}
/* — responsive — */
@media (max-width:900px){
  .catx-v0,.catx-v2,.catx-v3{padding:46px 0}
  .catx-inner,.catx-split{grid-template-columns:1fr;gap:34px}
  .catx-media{max-width:460px;aspect-ratio:5/4}
  .catx-grid{grid-template-columns:1fr;gap:12px}
  .catx-cover{min-height:0}
  .catx-cover-in{padding-top:52px;padding-bottom:52px}
}
@media (max-width:520px){
  .catx-media{aspect-ratio:4/3;max-width:none}
  .catx-float{left:3%;top:auto;bottom:6%;padding:10px 13px}
  .catx-float-ico{width:38px;height:38px}
  .catx-cta{width:100%;justify-content:center}
}
.f-editeur{text-align:center;color:#C7CCE6;font-size:.95rem;line-height:1.55;margin:0;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}
.f-editeur strong{color:#fff;font-weight:700}

/* ============ Bloc éditorial (mission) ============ */
.editorial-mission .mission-head{text-align:center;max-width:720px;margin:0 auto 44px}
.editorial-mission .mission-head .sec-intro{margin-left:auto;margin-right:auto}
.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.mission-item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;transition:transform .14s,box-shadow .2s}
.mission-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.mi-num{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--accent);display:block}
.mission-item h3{font-family:var(--font-display);font-size:1.3rem;margin:10px 0 8px}
.mission-item p{color:var(--muted);font-size:1rem;line-height:1.55;margin:0}

/* ============ Blocs text-image / image-texte ============ */
.ti-block .ti-wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.ti-block.ti-reverse .ti-media{order:-1}
.ti-txt .sec-title{margin:8px 0 14px}
.ti-txt p{color:var(--muted);font-size:1.08rem;line-height:1.65;margin:0 0 22px;max-width:52ch}
.ti-media{position:relative}
.ti-media::before{content:"";position:absolute;z-index:0;top:26px;bottom:-20px;left:-26px;right:26px;border-radius:22px;background:linear-gradient(135deg,var(--accent),#5A72FF);opacity:.14;pointer-events:none}
.ti-block.ti-reverse .ti-media::before{left:26px;right:-26px;background:linear-gradient(135deg,var(--signal),var(--signal-2));opacity:.2}
.ti-img{position:relative;z-index:1;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 60px -30px rgba(20,24,46,.5);background:var(--band)}
.ti-img::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);pointer-events:none}
.ti-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ti-img:hover img{transform:scale(1.045)}
@media(max-width:820px){.ti-block .ti-wrap{grid-template-columns:1fr;gap:30px}.ti-block.ti-reverse .ti-media{order:0}.ti-img{aspect-ratio:16/9}.ti-media::before,.ti-block.ti-reverse .ti-media::before{left:16px;right:16px;top:18px;bottom:-14px}}

/* ============ Quiz ============ */
.quiz-sec .mission-head{text-align:center;max-width:640px;margin:0 auto 34px}
.quiz{max-width:660px;margin:0 auto}
.quiz-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 30px;box-shadow:var(--shadow)}
.quiz-progress{height:5px;background:var(--band-2);border-radius:99px;overflow:hidden;margin-bottom:22px}
.quiz-progress i{display:block;height:100%;width:0;background:var(--accent);border-radius:99px;transition:width .4s}
.quiz-q{font-family:var(--font-display);font-size:1.32rem;line-height:1.3;margin:0 0 20px;color:var(--ink)}
.quiz-opts{display:grid;gap:11px}
.quiz-opt{position:relative;text-align:left;background:var(--band);border:1.5px solid var(--line);border-radius:12px;padding:15px 18px 15px 52px;font:600 1rem var(--font-ui);color:var(--ink);cursor:pointer;transition:border-color .18s,background .18s,transform .12s,box-shadow .18s}
.quiz-opt::before{content:counter(qopt,upper-latin);counter-increment:qopt;position:absolute;left:13px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line);font:700 .82rem var(--font-ui);color:var(--muted);transition:background .18s,color .18s,border-color .18s}
.quiz-opts{counter-reset:qopt}
.quiz-opt:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 12px 26px -12px rgba(39,71,255,.75);transform:translateY(-1px)}
.quiz-opt:hover:not(:disabled)::before{background:#fff;border-color:#fff;color:var(--accent)}
.quiz-opt.ok{border-color:var(--good);background:#EAF7F0;color:#12603b}
.quiz-opt.ok::before{content:"\2713";background:var(--good);border-color:var(--good);color:#fff}
.quiz-opt.ko{border-color:#E11D48;background:#FDEBEE;color:#a11029}
.quiz-opt.ko::before{content:"\2715";background:#E11D48;border-color:#E11D48;color:#fff}
.quiz-opt:disabled{cursor:default;opacity:1}
.quiz-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;color:var(--muted);font-size:.9rem}
.quiz-next{background:var(--accent);color:#fff;border:0;border-radius:11px;padding:11px 20px;font:700 .92rem var(--font-ui);cursor:pointer}
.quiz-next:hover{background:var(--accent-ink)}
.quiz-result{text-align:center;padding:8px 0}
.quiz-score{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--accent);line-height:1;margin-bottom:6px}
.quiz-result p{color:var(--muted);margin:6px 0 18px}

/* ============ Catégories : 6 articles en 3 colonnes ============ */
.cat-cards{grid-template-columns:repeat(3,1fr);margin-top:0}
@media(max-width:900px){.cat-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-cards{grid-template-columns:1fr}}

/* ============ Corrections responsive (audit mobile) ============ */
.logo{min-width:0}                 /* les logos partenaires peuvent rétrécir dans leur cellule */
@media (max-width:900px){
  .mission-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:16px 4px}
  .stats-grid .stat + .stat::before{display:none}
}
@media (max-width:640px){
  .mission-grid{grid-template-columns:1fr}
}
@media (max-width:420px){
  .logo-grid{grid-template-columns:1fr}
}

/* Archives (catégories, tags…) : articles en 3 colonnes */
.cards-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.cards-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cards-3{grid-template-columns:1fr}}

/* ============ Intros image + texte des sections (3 designs distincts) ============ */
.sx-split{display:grid;grid-template-columns:.92fr 1.08fr;gap:52px;align-items:center;margin-bottom:46px}
.sx-split.sx-reverse{grid-template-columns:1.08fr .92fr}
.sx-text .sec-title{margin:10px 0 12px}
.sx-text .sec-intro{margin:0}
.sx-media{position:relative}
.sx-media img{width:100%;display:block;object-fit:cover;border-radius:18px;box-shadow:0 30px 60px -30px rgba(20,24,46,.5)}
/* A — témoignages : image gauche + panneau accent bleu décalé */
.sx-media-a{padding:0 0 14px 14px}
.sx-media-a::before{content:"";position:absolute;left:0;bottom:0;width:62%;height:78%;border-radius:18px;background:linear-gradient(135deg,var(--accent),#5A72FF);opacity:.16;z-index:0}
.sx-media-a img{position:relative;z-index:1;aspect-ratio:4/3}
/* B — partenaires : bannière immersive plein cadre */
.sx-banner{position:relative;border-radius:22px;overflow:hidden;background-size:cover;background-position:center;padding:60px 48px;margin-bottom:40px;box-shadow:0 30px 60px -34px rgba(9,12,28,.7)}
.sx-banner .eyebrow{color:var(--signal-2)}
.sx-banner .sec-title{color:#fff;max-width:22ch}
.sx-banner .sec-intro{color:#E5E8F6;margin:0;max-width:60ch}
/* C — à découvrir : texte à barre orange + image droite large */
.sx-text-bar{border-left:4px solid var(--signal);padding-left:24px}
.sx-media-c img{aspect-ratio:16/11}
.sx-media-c::after{content:"";position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);pointer-events:none}
@media (max-width:820px){
  .sx-split,.sx-split.sx-reverse{grid-template-columns:1fr;gap:26px;margin-bottom:32px}
  .sx-media-a{padding:0}
  .sx-media-a::before{display:none}
  .sx-media-a img,.sx-media-c img{aspect-ratio:16/9}
  .sx-banner{padding:40px 26px}
}

/* ═══════════════════ FREE DAEMON CONSULTING — charte « engineering firm » ═══════════════════ */
:root{
  --paper:#FFFFFF; --band:#F2F5F9; --band-2:#E7EDF4; --line:#D6DFEA;
  --ink:#0B1B2B; --ink-2:#233445; --muted:#54677A; --muted-2:#7E8EA0;
  --accent:#E8532A; --accent-ink:#C2410C; --signal:#123C5A; --signal-2:#2C5F8A;
  --navy:#0B1B2B; --steel:#123C5A; --teal:#0E7C86; --good:#0F766E;
  --font-display:'Sora', system-ui, -apple-system, sans-serif;
  --font-ui:'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, 'Cascadia Code', monospace;
  --wrap:1480px; --r:6px;
  --shadow:0 1px 2px rgba(11,27,43,.06), 0 18px 42px -26px rgba(11,27,43,.4);
}
body{font-family:var(--font-ui)}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}

/* mono kickers — prompt d'ingénierie */
.eyebrow,.card .kicker,.feature-txt .kicker{font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.eyebrow::before{content:"# ";opacity:.5}
.hs-inner .eyebrow::before{content:""}

/* surfaces nettes & filaires */
.btn{border-radius:var(--r);font-family:var(--font-ui);font-weight:700}
.card,.testi,.logo,.disc,.mission-item,.catx-item,.catx-cell,.quiz-card,.catx-ico,.catx-ico-badge{border-radius:var(--r)}
.card,.testi,.disc,.mission-item{border:1px solid var(--line)}
.card:hover,.disc:hover,.mission-item:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.sec{border-top:1px solid var(--line)}
.hero-slider + .sec, .sec.band + .sec{border-top:1px solid var(--line)}

/* en-tête clair + marine, nav compacte (9 rubriques) */
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.hd{min-height:66px}
.brand,.brand:hover{color:var(--ink)}
.nav{gap:1px}
.nav a{color:var(--ink-2);font-weight:600;font-size:.82rem;padding:7px 8px;border-radius:5px}
.nav a:hover{color:var(--accent);background:var(--band)}
@media (max-width:1300px){.hd-cta{display:none}}

/* logo : hexagone + trident daemon */
.fdc-brand{gap:11px;align-items:center}
.fdc-logo{width:36px;height:36px;flex:none;display:grid;place-items:center}
.fdc-logo svg{width:36px;height:36px;display:block}
.fdc-word{display:flex;flex-direction:column;line-height:1;font-family:var(--font-display);font-weight:800;font-size:1.26rem;letter-spacing:-.02em;color:var(--ink)}
.fdc-word b{color:var(--accent);font-weight:800}
.fdc-word i{font-family:var(--font-mono);font-style:normal;font-weight:600;font-size:.5rem;letter-spacing:.34em;color:var(--muted);margin-top:4px}
.footer .fdc-word,.fdc-brand-foot .fdc-word{color:#fff;flex-direction:row;gap:2px}
.footer .fdc-word b{color:var(--accent)}

/* hero plein écran */
.hero-slider{min-height:100vh}
.hs-inner{max-width:730px;padding-bottom:13vh}
.hs-inner .eyebrow{font-family:var(--font-mono);color:#FF8A5C;text-transform:none;letter-spacing:.02em;font-size:.92rem;font-weight:600}
.hs-inner h1{font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.025em}
.hs-slide::after{background:linear-gradient(90deg,rgba(6,15,25,.93) 0%,rgba(6,15,25,.74) 42%,rgba(6,15,25,.36) 78%,rgba(6,15,25,.14) 100%)}
.hs-dot.is-active{background:var(--accent)}
.btn-primary{box-shadow:0 12px 26px -14px var(--accent)}
.btn-light{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}

/* catx : idiome ingénierie (badges mono, angles nets, filets marine) */
.catx-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border-radius:4px;background:color-mix(in srgb,var(--cat) 12%,#fff);color:var(--cat)}
.catx-badge::before{content:"# "}
.catx-badge.is-light{background:rgba(255,255,255,.16)}
.catx-badge.is-light::before{content:"# "}
.catx-cta{border-radius:var(--r);font-weight:700}
.catx-photo{border-radius:8px;border-width:4px}
.catx-item{border-radius:5px}
.catx-item:hover{border-color:var(--cat)}
.catx-row-n{font-family:var(--font-mono)}
.catx-v3{border-top-width:4px}
.catx-cell{border-radius:var(--r)}

/* témoignages / édité par */
.testi blockquote{font-family:var(--font-display)}
.f-editeur strong{color:#fff}

/* bannière de page catégorie */
.cat-hero{min-height:40vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;border-bottom:1px solid var(--line)}
.cat-hero .wrap{padding-top:64px;padding-bottom:40px}
.cat-hero-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;color:#FF8A5C}
.cat-hero-eyebrow::before{content:"# "}
.cat-hero-title{color:#fff;font-family:var(--font-display);font-size:clamp(2.1rem,4.6vw,3.4rem);margin:.45rem 0 .55rem;letter-spacing:-.02em}
.cat-hero-desc{color:#E7EDF4;max-width:62ch;font-size:1.08rem;line-height:1.55;margin:0}
/* bannière catégorie — lisibilité */
.cat-hero-title{text-shadow:0 2px 10px rgba(0,0,0,.55)}
.cat-hero-desc{color:#fff;font-size:1.14rem;text-shadow:0 1px 6px rgba(0,0,0,.7)}

/* ======= Blocs modernises : temoignages carrousel / partenaires defilants / decouvrir ======= */
.tmq{overflow:hidden;background:var(--band);padding-bottom:66px}
.tmq-head{margin-bottom:34px;max-width:640px}
.tmq-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tmq-track{display:flex;gap:22px;width:max-content;padding:6px 24px;animation:tmqscroll 52s linear infinite}
.tmq:hover .tmq-track{animation-play-state:paused}
@keyframes tmqscroll{to{transform:translateX(-50%)}}
.tmq-card{flex:0 0 min(384px,82vw);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:28px 26px 22px;display:flex;flex-direction:column}
.tmq-quote{font-family:var(--font-display);font-size:1.05rem;line-height:1.55;color:var(--ink-2);position:relative;padding-top:10px}
.tmq-quote::before{content:"\201C";position:absolute;top:-16px;left:-4px;font-size:2.7rem;color:var(--accent);font-family:var(--font-display)}
.tmq-cite{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:18px}
.tmq-av{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.9rem;color:#fff;background:linear-gradient(135deg,var(--accent),var(--steel));object-fit:cover;overflow:hidden}
.tmq-who b{display:block;font-weight:700;color:var(--ink)}
.tmq-who small{color:var(--muted);font-size:.84rem}
@media(prefers-reduced-motion:reduce){.tmq-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.tmq-viewport{-webkit-mask:none;mask:none}}
.pmq{overflow:hidden;padding:54px 0}
.pmq-head{margin-bottom:26px;max-width:640px}
.pmq-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pmq-track{display:flex;gap:14px;width:max-content;padding:6px 12px;animation:pmqscroll 34s linear infinite}
.pmq:hover .pmq-track{animation-play-state:paused}
@keyframes pmqscroll{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.pmq-logo{flex:0 0 auto;display:inline-flex;align-items:center;gap:11px;padding:13px 22px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;font-family:var(--font-display);white-space:nowrap;transition:border-color .2s,transform .2s}
.pmq-logo:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}
.pmq-mk{width:28px;height:28px;border-radius:8px;flex:none;display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-size:.95rem}
.pmq-logo img{max-width:120px;max-height:26px}
@media(prefers-reduced-motion:reduce){.pmq-track{animation:none;flex-wrap:wrap;width:auto}.pmq-viewport{-webkit-mask:none;mask:none}}
.dsc2-head{max-width:640px;margin-bottom:24px}
.dsc2-list{list-style:none;margin:0;padding:0}
.dsc2-row{display:flex;align-items:center;gap:22px;padding:22px 18px;border-top:1px solid var(--line);transition:background .2s,padding .2s}
.dsc2-row:last-child{border-bottom:1px solid var(--line)}
.dsc2-row:hover{background:var(--band);padding-left:26px}
.dsc2-n{flex:none;font-family:var(--font-mono);font-weight:700;font-size:1.15rem;color:var(--accent);min-width:34px}
.dsc2-body{flex:1;min-width:0}
.dsc2-title{display:block;font-family:var(--font-display);font-weight:700;font-size:1.16rem;color:var(--ink);letter-spacing:-.01em}
.dsc2-title:hover{color:var(--accent)}
.dsc2-desc{display:block;color:var(--muted);font-size:.94rem;margin-top:3px}
.dsc2-arrow{flex:none;font-size:1.3rem;color:var(--muted-2);transition:transform .2s,color .2s}
.dsc2-row:hover .dsc2-arrow{color:var(--accent);transform:translate(4px,-4px)}

/* ======= "A decouvrir" : grille de cartes-ressources (freedaemon) ======= */
.disc3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.disc3-card{display:flex;flex-direction:column;gap:11px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 20px;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .16s;color:var(--ink)}
.disc3-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s}
.disc3-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-3px);color:var(--ink)}
.disc3-card:hover::before{transform:scaleX(1)}
.disc3-top{display:flex;align-items:center;justify-content:space-between}
.disc3-tag{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
.disc3-arrow{font-size:1.2rem;color:var(--muted-2);transition:transform .2s,color .2s}
.disc3-card:hover .disc3-arrow{color:var(--accent);transform:translate(3px,-3px)}
.disc3-title{font-family:var(--font-display);font-weight:700;font-size:1.12rem;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
.disc3-desc{color:var(--muted);font-size:.92rem;line-height:1.5;margin-top:auto}
@media(max-width:900px){.disc3-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.disc3-grid{grid-template-columns:1fr}}
