/* ═══════════════════════════════════════════════════════════
   WISE DATA BI v4 — main.css
   Cahier des charges §4 : Navy #0A1A2F · Or #C9A227 · Argent #C7CCD4
   Libre Baskerville (titres) · DM Sans (texte)
═══════════════════════════════════════════════════════════ */

/* ── VARIABLES ── */
:root {
  --navy:      #0A1A2F;
  --navy-mid:  #0f2240;
  --navy-card: #0d2040;
  --navy-deep: #070f1c;
  --gold:      #C9A227;
  --gold-h:    #dbbe3d;
  --gold-s:    rgba(201,162,39,.10);
  --gold-b:    rgba(201,162,39,.22);
  --silver:    #C7CCD4;
  --silver-d:  #8a96a8;
  --white:     #fff;
  --text:      #cdd5e0;
  --ft:        'Libre Baskerville', Georgia, serif;
  --fb:        'DM Sans', system-ui, sans-serif;
  --ease:      .24s ease;
  --W:         1200px;
  --hh:        68px; /* header height */
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body  { font-family:var(--fb); background:var(--navy); color:var(--text); font-weight:300; line-height:1.72; overflow-x:hidden; font-size:16px; }
img   { max-width:100%; height:auto; display:block; }
a     { color:inherit; text-decoration:none; }
ul,ol { list-style:none; }
h1,h2,h3,h4 { font-family:var(--ft); }

/* ── ACCESSIBILITÉ ── */
.skip-link { position:absolute; top:-100px; left:0; background:var(--gold); color:var(--navy); padding:.5rem 1rem; z-index:9999; font-weight:600; font-size:.85rem; transition:top .2s; }
.skip-link:focus { top:0; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

/* ── LAYOUT ── */
.wrap    { max-width:var(--W); margin:0 auto; padding:0 2rem; }
.section { padding:5.5rem 0; }
.alt     { background:var(--navy-mid); }

/* ── TYPOGRAPHIE ── */
.tag-line { display:inline-flex; align-items:center; gap:.55rem; font-size:.67rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:.9rem; }
.tag-line::before { content:''; width:18px; height:1px; background:var(--gold); }
.sh  { font-family:var(--ft); font-size:clamp(1.85rem,3.4vw,2.85rem); font-weight:700; color:var(--white); line-height:1.18; margin-bottom:1.1rem; }
.sh em { font-style:italic; font-weight:400; color:var(--gold); }
.lead { font-size:.9rem; color:var(--silver); max-width:580px; line-height:1.85; }
.section-intro { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:end; margin-bottom:3.5rem; }
.offre-quote { font-family:var(--ft); font-style:italic; color:var(--gold); border-left:2px solid var(--gold); padding-left:1.2rem; margin-top:1.4rem; line-height:1.6; font-size:.95rem; }

/* ── BOUTONS ── */
.btn   { display:inline-flex; align-items:center; padding:.78rem 2rem; font-family:var(--fb); font-size:.77rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; transition:all var(--ease); cursor:pointer; border:none; }
.btn-g { background:var(--gold); color:var(--navy); }
.btn-g:hover { background:var(--gold-h); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,162,39,.28); }
.btn-o { border:1px solid var(--gold-b); color:var(--gold); background:transparent; }
.btn-o:hover { border-color:var(--gold); background:var(--gold-s); }
.btn:disabled, .btn[aria-busy="true"] { opacity:.55; pointer-events:none; }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in { opacity:1; transform:none; }

/* ════════════════════════════════════════
   HEADER
════════════════════════════════════════ */
#hdr {
  position:fixed; top:0; left:0; right:0; z-index:600;
  background:rgba(7,15,28,.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(201,162,39,.13);
}
.hdr-in {
  display:grid; grid-template-columns:220px 1fr 160px;
  align-items:center; height:var(--hh);
  padding:0 2.5rem; max-width:1300px; margin:0 auto;
}
/* Logo */
.logo-link { display:flex; align-items:center; gap:.7rem; }
.logo-ico  { width:36px; height:36px; background:var(--gold); display:flex; align-items:center; justify-content:center; font-family:var(--ft); font-size:1.05rem; font-weight:700; color:var(--navy); flex-shrink:0; }
.logo-txt  { display:flex; flex-direction:column; }
.logo-n    { font-family:var(--fb); font-size:.83rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--white); }
.logo-n span { color:var(--gold); }
.logo-s    { font-size:.5rem; letter-spacing:.18em; color:var(--silver-d); text-transform:uppercase; }
.custom-logo-link img { max-height:46px; width:auto; }
/* Nav */
.main-nav { display:flex; justify-content:center; }
.nav-list  { display:flex; gap:2.1rem; }
.nav-list li a { font-size:.74rem; font-weight:500; color:var(--silver); padding:.3rem 0; border-bottom:1px solid transparent; transition:color var(--ease),border-color var(--ease); }
.nav-list li a:hover, .nav-list li.current-menu-item > a { color:var(--white); border-color:var(--gold); }
/* Header right */
.hdr-right { display:flex; justify-content:flex-end; align-items:center; gap:.8rem; }
.hdr-cta   { padding:.6rem 1.5rem; font-size:.74rem; }
.burger    { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:.3rem; cursor:pointer; }
.bb        { width:22px; height:1.5px; background:var(--silver); transition:all var(--ease); display:block; }
/* Mobile overlay */
.mob-overlay {
  display:none; position:fixed; inset:var(--hh) 0 0; z-index:599;
  background:rgba(7,15,28,.98);
  flex-direction:column; align-items:center; justify-content:center; gap:2rem;
}
.mob-overlay.open { display:flex; }
.mob-overlay a { font-family:var(--ft); font-size:1.4rem; color:var(--silver); letter-spacing:.04em; transition:color var(--ease); }
.mob-overlay a:hover { color:var(--gold); }
.mob-cta { color:var(--gold) !important; }

/* ════════════════════════════════════════
   HERO
════════════════════════════════════════ */
.hero-section {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden; padding:calc(var(--hh) + 3rem) 0 4rem;
  background:
    radial-gradient(ellipse 80% 70% at 65% 45%, rgba(201,162,39,.055) 0%, transparent 65%),
    linear-gradient(160deg, #04090f 0%, #0A1A2F 45%, #0f2240 100%);
}
.hero-dots { position:absolute; inset:0; background-image:radial-gradient(rgba(201,162,39,.09) 1px, transparent 1px); background-size:42px 42px; pointer-events:none; }
.hero-ring { position:absolute; right:-60px; top:50%; transform:translateY(-50%); width:580px; height:580px; border:1px solid rgba(201,162,39,.1); border-radius:50%; pointer-events:none; animation:spin 70s linear infinite; }
.hero-ring::before { content:''; position:absolute; inset:55px; border:1px solid rgba(201,162,39,.055); border-radius:50%; }
@keyframes spin { to { transform:translateY(-50%) rotate(360deg); } }
.hero-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4rem; width:100%; position:relative; z-index:2; }
.hero-left  { animation:fadeUp .9s ease both; }
.hero-right { animation:fadeUp 1s .2s ease both; display:flex; flex-direction:column; gap:1rem; }
@keyframes fadeUp { from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;} }
.hero-badge { display:inline-flex; align-items:center; gap:.6rem; background:rgba(201,162,39,.09); border:1px solid rgba(201,162,39,.28); padding:.42rem 1.1rem; font-size:.67rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:1.8rem; }
.pulse { width:6px; height:6px; background:var(--gold); border-radius:50%; animation:pulse 2s ease infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(1.5);} }
.hero-h1   { font-family:var(--ft); font-size:clamp(2.5rem,4.8vw,4rem); font-weight:700; line-height:1.1; color:var(--white); margin-bottom:1.4rem; }
.hero-h1 em { font-style:italic; font-weight:400; color:var(--gold); }
.hero-desc { font-size:.91rem; line-height:1.9; color:var(--silver); max-width:510px; margin-bottom:2.4rem; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }
.hcard { background:rgba(13,32,64,.72); border:1px solid rgba(201,162,39,.1); backdrop-filter:blur(10px); padding:1.6rem 2rem; transition:border-color var(--ease),transform var(--ease); }
.hcard:hover { border-color:rgba(201,162,39,.32); transform:translateX(5px); }
.hcard-ico { font-size:1.5rem; margin-bottom:.6rem; }
.hcard-t   { font-size:.87rem; font-weight:600; color:var(--white); margin-bottom:.3rem; }
.hcard-d   { font-size:.76rem; color:var(--silver-d); line-height:1.7; }
.scroll-hint { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:.4rem; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver-d); animation:bob 2s ease infinite; }
.scroll-hint::after { content:''; width:1px; height:34px; background:linear-gradient(to bottom,var(--gold),transparent); }
@keyframes bob { 0%,100%{transform:translateX(-50%);}50%{transform:translateX(-50%) translateY(5px);} }

/* ════════════════════════════════════════
   STATS
════════════════════════════════════════ */
.stats-band { background:var(--navy-card); border-top:1px solid rgba(201,162,39,.12); border-bottom:1px solid rgba(201,162,39,.12); padding:3rem 0; }
.stats-g    { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; text-align:center; }
.sn   { font-family:var(--ft); font-size:3.1rem; font-weight:700; color:var(--gold); line-height:1; }
.sl   { width:26px; height:1px; background:var(--gold); opacity:.35; margin:.5rem auto; }
.stxt { font-size:.67rem; letter-spacing:.15em; text-transform:uppercase; color:var(--silver-d); }

/* ════════════════════════════════════════
   OFFRE — 3 colonnes icônes minimalistes
════════════════════════════════════════ */
.offre-g     { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.offre-card  { background:var(--navy-card); border:1px solid rgba(201,162,39,.08); padding:2.4rem 2rem; position:relative; overflow:hidden; transition:border-color var(--ease),transform var(--ease); }
.offre-card:hover { border-color:rgba(201,162,39,.35); transform:translateY(-4px); }
.offre-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.offre-card:hover::after { transform:scaleX(1); }
.offre-card.featured { border-color:rgba(201,162,39,.24); background:linear-gradient(135deg,var(--navy-card) 0%,rgba(201,162,39,.055) 100%); }
.offre-card.featured::before { content:'BI'; position:absolute; top:.8rem; right:1rem; font-family:var(--ft); font-size:4.5rem; font-weight:700; color:rgba(201,162,39,.055); line-height:1; pointer-events:none; }
.badge-new  { display:inline-block; font-size:.58rem; letter-spacing:.15em; text-transform:uppercase; padding:.18rem .6rem; background:rgba(201,162,39,.14); border:1px solid rgba(201,162,39,.34); color:var(--gold); margin-bottom:.7rem; }
.card-ico   { width:50px; height:50px; border:1px solid rgba(201,162,39,.28); display:flex; align-items:center; justify-content:center; margin-bottom:1.4rem; color:var(--gold); }
.card-t     { font-family:var(--ft); font-size:1.03rem; font-weight:700; color:var(--white); margin-bottom:.75rem; }
.card-d     { font-size:.79rem; color:var(--silver); line-height:1.83; margin-bottom:1.35rem; }
.tags       { display:flex; flex-wrap:wrap; gap:.4rem; }
.t          { font-size:.59rem; letter-spacing:.1em; text-transform:uppercase; padding:.22rem .65rem; border:1px solid rgba(201,162,39,.2); color:var(--gold); }

/* ════════════════════════════════════════
   RÉALISATIONS
════════════════════════════════════════ */
.real-g      { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.rcard       { background:var(--navy-card); border:1px solid rgba(201,162,39,.08); overflow:hidden; transition:border-color var(--ease),transform var(--ease); }
.rcard:hover { border-color:rgba(201,162,39,.3); transform:translateY(-4px); }
.rcard-top   { height:130px; display:flex; align-items:center; justify-content:center; font-size:3rem; position:relative; background:linear-gradient(135deg,#162d52 0%,var(--navy-card) 100%); border-bottom:1px solid rgba(201,162,39,.1); overflow:hidden; }
.rcard-thumb { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.45; }
.rcard-ico   { position:relative; z-index:1; }
.sec-badge   { position:absolute; top:.9rem; left:1rem; z-index:2; font-size:.57rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.22); padding:.18rem .65rem; }
.rcard-body  { padding:1.75rem; }
.rclient     { font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:.38rem; }
.rtitle      { font-family:var(--ft); font-size:.98rem; font-weight:700; color:var(--white); margin-bottom:.65rem; line-height:1.3; }
.rtitle a    { color:inherit; transition:color var(--ease); }
.rtitle a:hover { color:var(--gold); }
.rdesc       { font-size:.77rem; color:var(--silver); line-height:1.8; margin-bottom:1.2rem; }
.rmets       { display:flex; gap:1.4rem; border-top:1px solid rgba(201,162,39,.1); padding-top:1rem; }
.rm-v        { font-family:var(--ft); font-size:1.45rem; color:var(--gold); }
.rm-l        { font-size:.57rem; letter-spacing:.1em; text-transform:uppercase; color:var(--silver-d); }

/* ════════════════════════════════════════
   SEO SECTION
════════════════════════════════════════ */
.seo-grid    { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin-top:4rem; align-items:start; }
.seo-list    { display:flex; flex-direction:column; }
.seo-item    { display:flex; align-items:flex-start; gap:1rem; padding:1.2rem 0; border-bottom:1px solid rgba(201,162,39,.07); }
.seo-item:last-child { border-bottom:none; }
.seo-num     { font-family:var(--ft); font-size:2.2rem; font-weight:700; color:rgba(201,162,39,.17); line-height:1; min-width:36px; transition:color var(--ease); }
.seo-item:hover .seo-num { color:var(--gold); }
.seo-t       { font-size:.88rem; font-weight:600; color:var(--white); margin-bottom:.3rem; }
.seo-d       { font-size:.77rem; color:var(--silver); line-height:1.75; }
.seo-visual  { background:var(--navy-card); border:1px solid rgba(201,162,39,.1); padding:2.4rem; position:relative; }
.seo-visual::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--gold),var(--gold-h),transparent); }
.code-block  { background:rgba(0,0,0,.42); border:1px solid rgba(201,162,39,.14); padding:1.2rem 1.5rem; font-family:'Courier New',monospace; font-size:.77rem; color:var(--gold); margin-top:1rem; line-height:1.8; }
.code-block strong { color:var(--gold-h); }
.bars-title  { font-family:var(--ft); font-size:1.1rem; color:var(--white); margin-bottom:1.4rem; }
.skill-bars,.bars-box > .bar-row:first-of-type { margin-top:0; }
.bar-row     { display:flex; align-items:center; padding:.8rem 0; border-bottom:1px solid rgba(201,162,39,.06); }
.bar-row:last-child { border-bottom:none; }
.bar-lbl     { font-size:.77rem; color:var(--silver); min-width:150px; }
.bar-track   { flex:1; height:3px; background:rgba(201,162,39,.1); margin:0 .9rem; }
.bar-fill    { height:100%; background:var(--gold); width:0; transition:width 1.4s ease; }
.bar-pct     { font-size:.77rem; color:var(--gold); font-weight:500; min-width:32px; text-align:right; }

/* ════════════════════════════════════════
   PARTENARIAT
════════════════════════════════════════ */
.partner-wrap { display:grid; grid-template-columns:1fr 1fr; gap:5rem; margin-top:3.5rem; align-items:center; }
.partner-box  { background:rgba(201,162,39,.055); border:1px solid rgba(201,162,39,.18); padding:3rem; text-align:center; position:relative; }
.partner-box::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,transparent,var(--gold),transparent); }
.partner-brand { font-family:var(--ft); font-size:2.1rem; font-weight:700; color:var(--white); margin-bottom:.4rem; }
.partner-brand em { font-style:italic; font-weight:400; color:var(--gold); }
.partner-sub  { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver-d); margin-bottom:2rem; }
.pvals        { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.pval         { background:rgba(10,26,47,.6); border:1px solid rgba(201,162,39,.1); padding:.9rem 1rem; font-size:.74rem; color:var(--silver); display:flex; align-items:flex-start; gap:.55rem; text-align:left; }
.pdot         { width:6px; height:6px; min-width:6px; background:var(--gold); margin-top:.42rem; flex-shrink:0; }
.partner-text p { font-size:.87rem; line-height:1.9; color:var(--silver); margin-bottom:1.2rem; }
.partner-text strong { color:var(--white); }
.pstats       { display:flex; gap:2rem; padding:1.5rem 0; border-top:1px solid rgba(201,162,39,.1); border-bottom:1px solid rgba(201,162,39,.1); margin:1.5rem 0; }
.pstat        { text-align:center; flex:1; }
.pstat-n      { font-family:var(--ft); font-size:1.75rem; color:var(--gold); }
.pstat-l      { font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--silver-d); }
.partner-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* ════════════════════════════════════════
   APPROCHE
════════════════════════════════════════ */
.approche-layout { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
.steps      { display:flex; flex-direction:column; }
.step       { display:grid; grid-template-columns:66px 1fr; gap:1.4rem; padding:1.7rem 0; border-bottom:1px solid rgba(201,162,39,.07); }
.step:last-child { border-bottom:none; }
.step-n     { font-family:var(--ft); font-size:2.8rem; font-weight:700; color:rgba(201,162,39,.14); line-height:1; transition:color var(--ease); }
.step:hover .step-n { color:var(--gold); }
.step-t     { font-size:.93rem; font-weight:600; color:var(--white); margin-bottom:.35rem; }
.step-d     { font-size:.79rem; color:var(--silver); line-height:1.8; }
.bars-box   { background:var(--navy-card); border:1px solid rgba(201,162,39,.1); padding:2.4rem; position:relative; }
.bars-box::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(to right,var(--gold),var(--gold-h),transparent); }

/* ════════════════════════════════════════
   BLOG — 3 articles grille images sobres
════════════════════════════════════════ */
.blog-g     { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3.5rem; }
.bcard      { background:var(--navy-card); border:1px solid rgba(201,162,39,.08); overflow:hidden; transition:border-color var(--ease),transform var(--ease); }
.bcard:hover { border-color:rgba(201,162,39,.3); transform:translateY(-4px); }
.bimg       { height:176px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; border-bottom:1px solid rgba(201,162,39,.08); }
.bimg-1     { background:linear-gradient(135deg,#0d1f38 0%,#162d52 100%); }
.bimg-2     { background:linear-gradient(135deg,#0a1826 0%,#0d2040 100%); }
.bimg-3     { background:linear-gradient(135deg,#0f1e35 0%,#1a2f50 100%); }
.has-thumb  { padding:0; }
.bimg-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.bimg-ico   { font-size:2.6rem; opacity:.42; }
.bcat       { position:absolute; bottom:.8rem; left:1rem; font-size:.57rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.22); padding:.18rem .6rem; z-index:1; }
.bbody      { padding:1.75rem; }
.bmeta      { font-size:.63rem; letter-spacing:.1em; text-transform:uppercase; color:var(--silver-d); margin-bottom:.65rem; display:flex; gap:1rem; align-items:center; }
.bmeta::before { content:''; width:13px; height:1px; background:var(--gold); }
.btitle     { font-family:var(--ft); font-size:.98rem; font-weight:700; color:var(--white); margin-bottom:.65rem; line-height:1.33; }
.btitle a   { color:inherit; transition:color var(--ease); }
.btitle a:hover { color:var(--gold); }
.bexc       { font-size:.77rem; color:var(--silver); line-height:1.8; margin-bottom:1.1rem; }
.blink      { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); display:inline-flex; align-items:center; gap:.38rem; transition:gap var(--ease); }
.bcard:hover .blink { gap:.75rem; }

/* ════════════════════════════════════════
   À PROPOS
════════════════════════════════════════ */
.about-layout { display:grid; grid-template-columns:320px 1fr; gap:5rem; align-items:start; }
.profile-box  { background:var(--navy-card); border:1px solid rgba(201,162,39,.12); }
.profile-head { height:230px; background:linear-gradient(160deg,#162d52,#0d2040); display:flex; align-items:center; justify-content:center; position:relative; border-bottom:1px solid rgba(201,162,39,.1); }
.profile-gbar { position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right,var(--gold),var(--gold-h),transparent); }
.profile-init { font-family:var(--ft); font-size:5.5rem; font-weight:700; color:rgba(201,162,39,.22); user-select:none; }
.profile-det  { padding:1.75rem; }
.profile-nm   { font-family:var(--ft); font-size:1.25rem; font-weight:700; color:var(--white); }
.profile-rl   { font-size:.63rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin:.38rem 0 1.3rem; }
.prow         { display:flex; align-items:center; gap:.7rem; font-size:.75rem; color:var(--silver); margin-bottom:.55rem; }
.plbl         { font-size:.58rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); min-width:44px; }
.about-bio p  { font-size:.87rem; line-height:1.95; color:var(--silver); margin-bottom:1.25rem; }
.about-bio strong { color:var(--white); }
.sk-title     { font-size:.67rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:1.8rem 0 .9rem; }
.sk-pills     { display:flex; flex-wrap:wrap; gap:.45rem; }
.sp           { background:rgba(201,162,39,.07); border:1px solid rgba(201,162,39,.14); padding:.38rem .85rem; font-size:.71rem; color:var(--silver); transition:all var(--ease); }
.sp:hover     { background:rgba(201,162,39,.15); color:var(--white); }
.certs        { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.7rem; }
.cert         { display:flex; align-items:center; gap:.45rem; background:rgba(42,74,138,.18); border:1px solid rgba(42,74,138,.28); padding:.38rem .85rem; font-size:.67rem; color:var(--silver); }
.cert-dot     { width:5px; height:5px; background:#5a8aee; border-radius:50%; flex-shrink:0; }

/* ════════════════════════════════════════
   CONTACT
════════════════════════════════════════ */
.contact-section { background:var(--navy-mid); }
.contact-layout  { display:grid; grid-template-columns:1fr 1.4fr; gap:5rem; align-items:start; }
.contact-note    { font-size:.87rem; line-height:1.88; color:var(--silver); margin-bottom:2.4rem; }
.cinfo-item      { border-left:2px solid var(--gold); padding-left:1.4rem; margin-bottom:1.9rem; }
.ci-lbl          { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.22rem; }
.ci-val          { font-size:.88rem; color:var(--white); }
/* Formulaire */
.cform    { display:flex; flex-direction:column; gap:1.25rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.fg       { display:flex; flex-direction:column; gap:.38rem; }
.fl       { font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.fi,.fta,.fsel {
  background:rgba(255,255,255,.04); border:1px solid rgba(201,162,39,.14);
  color:var(--white); padding:.83rem 1.05rem;
  font-family:var(--fb); font-size:.81rem; font-weight:300;
  outline:none; width:100%;
  transition:border-color var(--ease),background var(--ease);
}
.fsel { cursor:pointer; -webkit-appearance:none; appearance:none; }
.fsel option { background:var(--navy); }
.fta  { min-height:118px; resize:vertical; }
.fi:focus,.fta:focus,.fsel:focus { border-color:rgba(201,162,39,.48); background:rgba(255,255,255,.06); }
.fi::placeholder,.fta::placeholder { color:var(--silver-d); }
.fchk { display:flex; align-items:flex-start; gap:.75rem; font-size:.73rem; color:var(--silver-d); line-height:1.5; }
.fchk input { margin-top:3px; accent-color:var(--gold); }
.fchk a { color:var(--gold); border-bottom:1px solid rgba(201,162,39,.28); }
.form-notice { padding:.85rem 1.1rem; font-size:.8rem; display:none; border-left:3px solid var(--gold); margin-bottom:.5rem; }
.form-notice.ok  { display:block; background:rgba(201,162,39,.1); color:var(--gold); }
.form-notice.err { display:block; background:rgba(220,50,50,.1); color:#e07070; border-color:#e07070; }

/* ════════════════════════════════════════
   FOOTER — Navy | Blanc | Bordure dorée
════════════════════════════════════════ */
#site-footer { background:var(--navy); border-top:2px solid var(--gold); }
.footer-g    { padding:4.5rem 0 2.5rem; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; }
.fb-link     { display:flex; flex-direction:column; gap:.2rem; margin-bottom:1.2rem; }
.fbrand      { font-family:var(--fb); font-size:.88rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--white); }
.fbrand span { color:var(--gold); }
.ftag        { font-size:.57rem; letter-spacing:.2em; text-transform:uppercase; color:var(--silver-d); }
.fdesc       { font-size:.77rem; color:var(--silver-d); line-height:1.78; max-width:275px; }
.f-linkedin  { display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; border:1px solid rgba(201,162,39,.2); color:var(--silver-d); margin-top:1.2rem; transition:all var(--ease); }
.f-linkedin:hover { border-color:var(--gold); color:var(--gold); }
.fcol-t      { font-size:.67rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem; }
.fnav        { display:flex; flex-direction:column; gap:.6rem; }
.fnav li a, .fnav a { font-size:.77rem; color:var(--silver-d); transition:color var(--ease); }
.fnav li a:hover, .fnav a:hover { color:var(--white); }
.fci         { margin-bottom:.75rem; }
.fci-l       { font-size:.57rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:.12rem; }
.fci-v       { font-size:.77rem; color:var(--silver-d); }
.fpbadge     { display:flex; align-items:center; gap:.55rem; margin-top:1.4rem; border:1px solid rgba(201,162,39,.1); padding:.45rem .9rem; font-size:.67rem; color:var(--silver-d); }
.fpbadge strong { color:var(--white); }
.foot-bot    { border-top:1px solid rgba(201,162,39,.1); }
.foot-bot-in { padding:1.4rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.leg, .leg ul { display:flex; gap:1.4rem; flex-wrap:wrap; list-style:none; }
.leg a, .leg li a { font-size:.67rem; color:var(--silver-d); transition:color var(--ease); }
.leg a:hover, .leg li a:hover { color:var(--gold); }
.copy        { font-size:.67rem; color:var(--silver-d); }

/* ════════════════════════════════════════
   SINGLE POST
════════════════════════════════════════ */
.single-layout  { display:grid; grid-template-columns:1fr 320px; gap:4rem; padding-top:calc(var(--hh) + 3rem); padding-bottom:5rem; }
.post-cats      { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.post-cat       { font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; padding:.25rem .7rem; border:1px solid rgba(201,162,39,.3); color:var(--gold); }
.post-title     { font-family:var(--ft); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:700; color:var(--white); line-height:1.2; margin-bottom:1rem; }
.post-meta      { font-size:.72rem; color:var(--silver-d); display:flex; gap:1.5rem; margin-bottom:2rem; }
.post-thumbnail { margin-bottom:2rem; }
.post-thumbnail img { width:100%; max-height:420px; object-fit:cover; }
.post-content   { font-size:.9rem; line-height:1.9; color:var(--text); }
.post-content h2 { font-family:var(--ft); font-size:1.5rem; color:var(--white); margin:2rem 0 .8rem; }
.post-content h3 { font-family:var(--ft); font-size:1.2rem; color:var(--white); margin:1.5rem 0 .6rem; }
.post-content p  { margin-bottom:1.2rem; }
.post-content a  { color:var(--gold); border-bottom:1px solid rgba(201,162,39,.28); transition:border-color var(--ease); }
.post-content a:hover { border-color:var(--gold); }
.post-content ul li { list-style:disc; margin-left:1.5rem; margin-bottom:.4rem; }
.post-content ol li { list-style:decimal; margin-left:1.5rem; margin-bottom:.4rem; }
.post-content blockquote { border-left:3px solid var(--gold); padding-left:1.5rem; margin:1.5rem 0; font-style:italic; color:var(--silver); }
.post-content code { background:rgba(201,162,39,.1); border:1px solid rgba(201,162,39,.2); padding:.15rem .5rem; font-family:'Courier New',monospace; font-size:.82rem; }
.post-content pre { background:var(--navy-card); border:1px solid rgba(201,162,39,.1); padding:1.5rem; overflow-x:auto; margin-bottom:1.5rem; }
.post-content pre code { background:none; border:none; padding:0; }
/* Sidebar */
.sidebar .widget { background:var(--navy-card); border:1px solid rgba(201,162,39,.1); padding:1.8rem; margin-bottom:1.5rem; }
.widget-title    { font-family:var(--ft); font-size:1rem; color:var(--white); margin-bottom:1.2rem; padding-bottom:.6rem; border-bottom:1px solid rgba(201,162,39,.1); }

/* ════════════════════════════════════════
   ARCHIVE BLOG
════════════════════════════════════════ */
.archive-hdr  { padding:calc(var(--hh) + 3rem) 0 3rem; }
.archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.pagination   { display:flex; justify-content:center; gap:.5rem; margin-top:3rem; flex-wrap:wrap; }
.pagination .page-numbers { display:inline-flex; width:40px; height:40px; align-items:center; justify-content:center; border:1px solid rgba(201,162,39,.2); font-size:.8rem; color:var(--silver); transition:all var(--ease); }
.pagination .page-numbers:hover, .pagination .page-numbers.current { border-color:var(--gold); color:var(--gold); }

/* ════════════════════════════════════════
   PAGE GÉNÉRIQUE
════════════════════════════════════════ */
.page-hdr     { padding:calc(var(--hh) + 3rem) 0 3rem; }
.page-content { padding:2rem 0 5rem; }
.entry-content { font-size:.9rem; line-height:1.9; color:var(--text); max-width:780px; }
.entry-content h2 { font-family:var(--ft); font-size:1.5rem; color:var(--white); margin:2rem 0 .8rem; }
.entry-content p  { margin-bottom:1.2rem; }
.entry-content a  { color:var(--gold); }

/* ════════════════════════════════════════
   404
════════════════════════════════════════ */
.not-found      { min-height:80vh; display:flex; align-items:center; justify-content:center; text-align:center; padding-top:var(--hh); }
.nf-num         { font-family:var(--ft); font-size:8rem; color:rgba(201,162,39,.14); line-height:1; }
.nf-title       { font-family:var(--ft); font-size:2rem; color:var(--white); margin-bottom:1rem; }
.nf-desc        { font-size:.9rem; color:var(--silver); margin-bottom:2rem; }

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media (max-width:1100px) {
  .offre-g     { grid-template-columns:repeat(2,1fr); }
  .footer-g    { grid-template-columns:1fr 1fr; }
}
@media (max-width:960px) {
  .hdr-in      { grid-template-columns:auto 1fr auto; }
  .main-nav    { display:none; }
  .hdr-cta     { display:none; }
  .burger      { display:flex; }
  .hero-inner  { grid-template-columns:1fr; }
  .hero-right  { display:none; }
  .section-intro, .seo-grid, .partner-wrap, .approche-layout, .about-layout, .contact-layout { grid-template-columns:1fr; gap:3rem; }
  .stats-g     { grid-template-columns:1fr 1fr; }
  .real-g, .blog-g, .archive-grid { grid-template-columns:1fr 1fr; }
  .single-layout { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .offre-g, .real-g, .blog-g, .archive-grid, .footer-g { grid-template-columns:1fr; }
  .stats-g     { grid-template-columns:1fr 1fr; }
  .form-row    { grid-template-columns:1fr; }
  .pvals       { grid-template-columns:1fr; }
  .partner-btns { flex-direction:column; }
}

@media print {
  #hdr, #site-footer, .scroll-hint, .hero-btns, .burger { display:none; }
  body { background:#fff; color:#000; }
  .sh, .profile-nm { color:#000; }
}
