/* ════════════════════════════════════════════════════════════════
   EvoPro · Maquette V8 · Design system — édition éditoriale
   Inspiré Korn Ferry : grand typographique, contrastes marqués,
   photos full-bleed, espacement généreux, vert plus affirmé.
   Palette & tokens communs à toutes les pages mockup-evopro-v8/
   ─────────────────────────────────────────────────────────────
   Blocs BOILERPLATE existants : hero, ribbon, text-image,
     features-3col, features-grid, stats, cta, accordion,
     testimonials-grid, contact-form, map, spacer, blog, pricing
   Blocs NOUVEAUX à créer (signalés .btag-new) :
     hero-editorial, cert-strip, offer-card-overlay,
     testi-featured, blog-preview, diagnostic-widget, cta-full-bg
═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

/* ════════════════════════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════════════════════════ */
:root {
  --g:        #1AA76C;
  --g-h:      #15935E;
  --g-d:      #0F7A4D;
  --g-dd:     #084D31;
  --g-l:      #E9F7F0;
  --g-ll:     #D4EFE0;
  --g-bord:   #B8E2CB;

  --dark:     #162B1E;
  --dark-2:   #1E3A2A;
  --dark-3:   #2A4D38;

  --white:    #ffffff;
  --paper:    #FAFAF8;
  --gray:     #F4F7F5;
  --text:     #1C2B22;
  --muted:    #5E6E66;
  --border:   #DDEAE3;

  --or:       #E8763A;
  --or-h:     #D0601F;
  --or-l:     #FFF1EB;
  --or-d:     #A04010;

  --mw:       1280px;
  --mw-text:  760px;
  --radius:   3px;
  --radius-l: 8px;

  --grad-hero:   linear-gradient(120deg, #162B1E 0%, #1E3A2A 45%, #2A5E3E 100%);
  --grad-deep:   linear-gradient(135deg, #162B1E 0%, #1E3A2A 50%, #2E6645 100%);
  --grad-medium: linear-gradient(135deg, #1AA76C 0%, #138A55 55%, #0F7A4D 100%);
  --grad-soft:   linear-gradient(160deg, #E9F7F0 0%, #D4EFE0 50%, #C2E6D4 100%);

  --sh-sm:       0 4px 12px -4px rgba(15,122,77,.14);
  --sh-card:     0 8px 28px -10px rgba(15,122,77,.20);
  --sh-card-hov: 0 24px 56px -18px rgba(15,122,77,.38);
  --sh-img:      0 32px 64px -24px rgba(15,122,77,.28);
  --sh-dark:     0 24px 56px -16px rgba(0,0,0,.45);
}

/* ════════════════════════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; color: var(--text); background: var(--white); line-height: 1.6; }
img { max-width: 100%; display: block; }
a   { color: inherit; text-decoration: none; }

.wrap   { max-width: var(--mw);      margin: 0 auto; padding: 0 2.5rem; }
.wrap-t { max-width: var(--mw-text); margin: 0 auto; padding: 0 2.5rem; }

.btag     { position:absolute;top:.6rem;right:.6rem;z-index:99;background:rgba(26,167,108,.9);color:#fff;font-size:.48rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.22rem .7rem;border-radius:1.5rem;pointer-events:none;font-family:monospace; }
.btag-new { background:rgba(232,118,58,.9)!important; }

/* ════════════════════════════════════════════════════════════
   BOUTONS
═══════════════════════════════════════════════════════════════ */
.btn { display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2.1rem;font-weight:700;font-size:.84rem;letter-spacing:.01em;border:2px solid transparent;transition:all .22s cubic-bezier(.25,.46,.45,.94);border-radius:var(--radius);font-family:inherit;cursor:pointer;white-space:nowrap; }
.btn-g     { background:var(--g);color:#fff;border-color:var(--g); }
.btn-g:hover { background:var(--g-h);border-color:var(--g-h);transform:translateY(-1px);box-shadow:var(--sh-card); }
.btn-or    { background:var(--or);color:#fff;border-color:var(--or); }
.btn-or:hover { background:var(--or-h);border-color:var(--or-h);transform:translateY(-1px); }
.btn-wh    { background:#fff;color:var(--text);border-color:#fff; }
.btn-wh:hover { background:var(--g-l); }
.btn-ow-wh { background:transparent;color:#fff;border-color:rgba(255,255,255,.55); }
.btn-ow-wh:hover { background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.9); }
.btn-ow-g  { background:transparent;color:var(--g-d);border-color:var(--g); }
.btn-ow-g:hover { background:var(--g);color:#fff; }
.btn-ow-dark { background:transparent;color:var(--text);border-color:var(--border); }
.btn-ow-dark:hover { border-color:var(--g);color:var(--g-d); }
.btn-sm { padding:.6rem 1.4rem;font-size:.78rem; }
.arr::after { content:' →';font-weight:400; }

/* ════════════════════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════════════════════ */
.navbar { position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.75rem 2.5rem; }
.nav-burger { display:none;flex-direction:column;justify-content:center;background:none;border:none;cursor:pointer;padding:.4rem;gap:5px;z-index:99;position:relative; }
.nav-burger span { display:block;width:22px;height:2.5px;background:var(--paper);border-radius:2px;transition:all .25s;transform-origin:center; }
.navbar.open .nav-burger span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
.navbar.open .nav-burger span:nth-child(2) { opacity:0;transform:scaleX(0); }
.navbar.open .nav-burger span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
.navbar.solid { position:relative;background:var(--white);border-bottom:1px solid var(--border);padding:1.25rem 2.5rem; }
.logo { font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.02em; }
.logo em { font-style:normal;color:var(--g); }
.navbar.solid .logo { color:var(--text); }
.nav-links { display:flex;list-style:none;gap:2rem;align-items:center; }
.nav-links a { color:rgba(255,255,255,.82);font-size:.96rem;font-weight:500;transition:color .2s; }
.navbar.solid .nav-links a { color:var(--text); }
.nav-links a:hover, .nav-links a.active { color:var(--g); }
.nav-cta { background:var(--g)!important;color:#fff!important;padding:.55rem 1.35rem;border-radius:var(--radius);font-weight:700!important;font-size:.94rem!important; }
.nav-cta:hover { background:var(--g-h)!important; }
/* Panneau mobile masqué sur desktop par défaut */
.mobile-panel { display:none; }
.nav-close { display:none; }

/* ════════════════════════════════════════════════════════════
   EYEBROWS & HEADINGS
═══════════════════════════════════════════════════════════════ */
.eyebrow { display:inline-flex;align-items:center;gap:.55rem;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g);margin-bottom:1rem; }
.eyebrow::before { content:'';width:24px;height:2px;background:currentColor; }
.eyebrow.sym::after { content:'';width:24px;height:2px;background:currentColor; }
.eyebrow.center { justify-content:center; }
.eyebrow.light  { color:rgba(255,255,255,.7); }
.eyebrow.light::before { background:var(--g); }
.eyebrow.or { color:var(--or); }

.section-head { text-align:center;max-width:var(--mw-text);margin:0 auto 4.5rem; }
.section-head h2, h2.h-sec { font-size:clamp(1.9rem,3.2vw,2.7rem);font-weight:800;line-height:1.12;letter-spacing:-.025em;margin-bottom:1.1rem; }
.section-head h2 em, h2.h-sec em { font-style:normal;color:var(--g); }
.section-head p { color:var(--muted);font-size:1.05rem;line-height:1.65; }
.section-head.light h2 { color:#fff; }
.section-head.light p  { color:rgba(255,255,255,.8); }

.pull-quote { border-left:4px solid var(--g);padding:1.25rem 1.75rem;margin:2rem 0;background:var(--g-l);border-radius:0 var(--radius) var(--radius) 0; }
.pull-quote p { font-size:1.1rem;font-weight:600;color:var(--text);line-height:1.5;margin:0;font-style:italic; }

/* ════════════════════════════════════════════════════════════
   HERO ÉDITORIAL (nouveau V8)
   Boilerplate : bloc "hero-editorial" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.hero-editorial { position:relative;height:100vh;min-height:700px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end; }
.he-bg { position:absolute;inset:0;background-size:cover;background-position:center 28%; }
.he-overlay { position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,35,22,.95) 0%,rgba(14,35,22,.78) 48%,rgba(14,35,22,.28) 72%,rgba(14,35,22,.06) 100%); }
.he-overlay::after { content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,rgba(14,35,22,.65) 0%,transparent 100%); }
.he-inner { position:relative;z-index:3;max-width:var(--mw);margin:0 auto;width:100%;padding:0 2.5rem 5rem;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:flex-end; }
.he-text { max-width:38rem; }
.he-kicker { display:inline-flex;align-items:center;gap:.55rem;font-size:.64rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--g);margin-bottom:1.5rem; }
.he-kicker::before { content:'';width:20px;height:2px;background:var(--g); }
.he-h1 { font-size:clamp(2.8rem,5.5vw,5rem);font-weight:800;color:#fff;line-height:1.02;letter-spacing:-.035em;margin-bottom:1.5rem; }
.he-h1 em { color:var(--g);font-style:normal; }
.he-intro { font-size:1.15rem;color:rgba(255,255,255,.78);font-weight:400;line-height:1.55;max-width:30rem;margin-bottom:1.25rem; }
.he-intervene { font-size:.88rem;color:rgba(255,255,255,.55);font-style:italic;margin-top:.5rem;margin-bottom:2rem; }
.he-sub { font-size:1.05rem;color:rgba(255,255,255,.82);line-height:1.68;max-width:30rem;margin-bottom:2.25rem; }
.he-ctas { display:flex;gap:.85rem;flex-wrap:wrap; }
.he-aside { display:flex;flex-direction:column;justify-content:flex-start;gap:1rem;padding-bottom:.25rem; }
/* Encart texte aside hero — glassmorphisme, distinct des stat-pills */
.he-aside-card { background:rgba(0,0,0,.38);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.14);border-left:3px solid var(--g);padding:1.1rem 1.4rem;border-radius:var(--radius-l);margin-bottom:.25rem; }
.he-aside-card p { font-size:.82rem;color:rgba(255,255,255,.82);line-height:1.65;margin:0; }
.he-aside-geo { display:block;margin-top:.55rem;font-size:.75rem;font-weight:600;color:var(--g);letter-spacing:.04em; }
.he-stat-pill { display:inline-flex;align-items:baseline;gap:.65rem;background:rgba(255,255,255,.1);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);padding:1.1rem 1.5rem;border-radius:var(--radius-l); }
.he-stat-pill .num { font-size:2.2rem;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1; }
.he-stat-pill .label { font-size:.78rem;color:rgba(255,255,255,.72);font-weight:500;max-width:9rem;line-height:1.3; }
.he-badge { display:inline-flex;align-items:center;gap:.75rem;background:rgba(26,167,108,.18);border:1px solid rgba(26,167,108,.45);padding:.75rem 1.25rem;border-radius:var(--radius-l);color:#fff;font-size:.82rem;font-weight:600; }
.he-badge .dot { width:8px;height:8px;background:var(--g);border-radius:50%;flex-shrink:0; }
.he-greenline { position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--g);z-index:4; }

/* ════════════════════════════════════════════════════════════
   CERT STRIP (nouveau V8)
   Boilerplate : bloc "cert-strip" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.cert-strip { background:var(--white);border-bottom:1px solid var(--border);position:relative; }
.cert-inner { max-width:var(--mw);margin:0 auto;padding:1.5rem 2.5rem;display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap; }
.cert-item { display:flex;align-items:center;gap:.85rem;font-size:.82rem;font-weight:600;color:var(--text); }
.cert-item .cert-icon { width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--g-l);border-radius:var(--radius);color:var(--g-d);font-size:1.1rem; }
.cert-item.or .cert-icon { background:var(--or-l);color:var(--or-d); }
.cert-divider { width:1px;height:32px;background:var(--border);flex-shrink:0; }

/* ════════════════════════════════════════════════════════════
   HERO COMPACT (pages internes)
   Boilerplate : bloc "hero" (existant, variante compact)
═══════════════════════════════════════════════════════════════ */
.hero-compact { position:relative;min-height:76vh;overflow:hidden;display:flex;align-items:flex-end;background:var(--grad-hero); }
.hero-compact::before { content:'';position:absolute;top:-20%;right:-8%;width:65%;height:90%;background:radial-gradient(circle at 25% 45%,rgba(26,167,108,.35) 0%,transparent 60%);pointer-events:none; }
.hc-inner { position:relative;z-index:2;max-width:var(--mw);margin:0 auto;width:100%;padding:8rem 2.5rem 4.5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center; }
.hc-eyebrow { display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-bottom:1.25rem; }
.hc-eyebrow::before { content:'';width:20px;height:2px;background:var(--g); }
.hc-h1 { font-size:clamp(2.2rem,4.2vw,3.8rem);font-weight:800;color:#fff;line-height:1.06;letter-spacing:-.03em;margin-bottom:1.25rem; }
.hc-h1 em { font-style:normal;color:var(--g); }
.hc-sub { font-size:1rem;color:rgba(255,255,255,.80);line-height:1.65;margin-bottom:2rem;max-width:28rem; }
.hc-ctas { display:flex;gap:.85rem;flex-wrap:wrap; }
.hc-media { position:relative;clip-path:polygon(10% 0,100% 0,100% 90%,0 100%);overflow:hidden;height:520px;box-shadow:var(--sh-dark); }
.hc-media img { width:100%;height:100%;object-fit:cover; }
.hc-greenline { position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--g);z-index:3; }

/* ════════════════════════════════════════════════════════════
   RIBBON
   Boilerplate : bloc "cta" (variant ribbon — existant)
═══════════════════════════════════════════════════════════════ */
.ribbon { background:var(--grad-deep); }
.ribbon-inner { max-width:var(--mw);margin:0 auto;padding:2.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap; }
.ribbon-inner p { font-size:.96rem;color:rgba(255,255,255,.88);line-height:1.65;max-width:50rem; }
.ribbon-inner p strong { color:#fff;font-weight:700; }
.ribbon-link { display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;border:1.5px solid rgba(255,255,255,.4);padding:.65rem 1.35rem;transition:all .22s;border-radius:var(--radius); }
.ribbon-link::after { content:' →'; }
.ribbon-link:hover { border-color:var(--g);background:var(--g); }

/* ════════════════════════════════════════════════════════════
   SECTIONS GÉNÉRIQUES
═══════════════════════════════════════════════════════════════ */
.section  { padding:6rem 0;position:relative; }
.section.tight   { padding:4rem 0; }
.section.tighter { padding:3rem 0; }
.bg-white  { background:var(--white); }
.bg-paper  { background:var(--paper); }
.bg-gray   { background:var(--gray); }
.bg-mint   { background:var(--g-l); }
.bg-dark   { background:var(--dark);color:#fff; }
.bg-deep   { background:var(--grad-deep);color:#fff;overflow:hidden; }
.bg-medium { background:var(--grad-medium);color:#fff;overflow:hidden; }
.bg-soft   { background:var(--grad-soft); }
.bg-or-l   { background:var(--or-l); }
.bg-deep::before,.bg-medium::before { content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse at right,rgba(26,167,108,.35) 0%,transparent 70%);pointer-events:none; }

/* ════════════════════════════════════════════════════════════
   TEXT-IMAGE
   Boilerplate : bloc "text-image" / "image-text" (existant)
═══════════════════════════════════════════════════════════════ */
.txt-img { display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center; }
.txt-img.reverse .txt-img-media { order:-1; }
.txt-img h2,.txt-img h3 { font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:800;line-height:1.12;letter-spacing:-.02em;margin-bottom:1.25rem; }
.txt-img h2 em,.txt-img h3 em { font-style:normal;color:var(--g); }
.txt-img p { color:var(--muted);margin-bottom:1rem;font-size:1.02rem;line-height:1.65; }
.txt-img-media { position:relative;height:500px;overflow:hidden;clip-path:polygon(10% 0,100% 0,100% 88%,0 100%);box-shadow:var(--sh-img); }
.txt-img.reverse .txt-img-media { clip-path:polygon(0 10%,90% 0,100% 100%,0 100%); }
.txt-img-media img { width:100%;height:100%;object-fit:cover; }
.txt-img-media.square { clip-path:none;border-radius:var(--radius);box-shadow:var(--sh-card); }

/* ════════════════════════════════════════════════════════════
   OFFER CARDS — image avec overlay
   Boilerplate : bloc "offer-card-overlay" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.offer-cards { display:grid;grid-template-columns:1fr 1fr;gap:2rem; }
.offer-card { position:relative;height:520px;overflow:hidden;border-radius:var(--radius-l);box-shadow:var(--sh-dark);cursor:pointer; }
.offer-card .oc-bg { position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.25,.46,.45,.94); }
.offer-card:hover .oc-bg { transform:scale(1.04); }
.offer-card .oc-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(14,35,22,.97) 0%,rgba(14,35,22,.62) 42%,rgba(14,35,22,.14) 100%);transition:opacity .4s; }
.offer-card:hover .oc-overlay { opacity:.88; }
.offer-card .oc-content { position:absolute;bottom:0;left:0;right:0;padding:2.5rem 2.25rem;display:flex;flex-direction:column;gap:1rem; }
.oc-num { width:42px;height:42px;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:var(--radius); }
.oc-label { font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g); }
.oc-title { font-size:clamp(1.5rem,2.8vw,2rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.02em; }
.oc-desc { font-size:.9rem;color:rgba(255,255,255,.8);line-height:1.6;max-width:26rem; }
.oc-footer { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.15); }
.oc-chips { display:flex;gap:.5rem;flex-wrap:wrap; }
.oc-chip { font-size:.68rem;font-weight:600;padding:.3rem .8rem;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.85);border-radius:2rem; }
.oc-chip.green { background:rgba(26,167,108,.2);border-color:var(--g);color:var(--g-l); }
.oc-cta-link { font-size:.75rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.45rem;text-transform:uppercase;letter-spacing:.1em;transition:color .2s;white-space:nowrap; }
.oc-cta-link::after { content:'→';transition:transform .2s; }
.offer-card:hover .oc-cta-link::after { transform:translateX(4px); }
.offer-card:hover .oc-cta-link { color:var(--g); }

/* ════════════════════════════════════════════════════════════
   DIAGNOSTIC STRIP
   Boilerplate : bloc "diagnostic-widget" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.diag-strip { background:var(--or-l);border-top:3px solid var(--or);padding:2.75rem 0;position:relative; }
.diag-inner { max-width:var(--mw);margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;gap:3rem;flex-wrap:wrap; }
.diag-icon { width:56px;height:56px;flex-shrink:0;background:var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem; }
.diag-text { flex:1;min-width:280px; }
.diag-text strong { display:block;font-size:1.15rem;font-weight:800;color:var(--or-d);margin-bottom:.3rem; }
.diag-text p { font-size:.92rem;color:var(--or-d);line-height:1.55; }

/* ════════════════════════════════════════════════════════════
   CARDS
   Boilerplate : "features-3col" / "features-grid" (existant)
═══════════════════════════════════════════════════════════════ */
.cards-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem; }
.cards-4 { display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem; }
.cards-2 { display:grid;grid-template-columns:repeat(2,1fr);gap:2rem; }

.card { background:var(--white);padding:2.5rem 2rem;border:1px solid var(--border);border-top:4px solid var(--g);transition:all .25s;position:relative;border-radius:var(--radius); }
.card:hover { transform:translateY(-4px);box-shadow:var(--sh-card-hov); }
.card .card-icon { width:92px;height:52px;background:var(--g-l);color:var(--g-d);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;font-size:1.4rem;font-weight:800;border-radius:var(--radius); }
.card h3 { font-size:1.2rem;font-weight:700;color:var(--text);margin-bottom:.8rem;line-height:1.3; }
.card p  { color:var(--muted);font-size:.93rem;margin-bottom:1.2rem;line-height:1.6; }
.card ul { list-style:none;padding:0;margin:0 0 1.5rem; }
.card ul li { font-size:.87rem;color:var(--text);padding:.32rem 0 .32rem 1.4rem;position:relative; }
.card ul li::before { content:'✓';position:absolute;left:0;top:.32rem;color:var(--g);font-weight:800; }
.card-link { font-size:.75rem;font-weight:700;color:var(--g-d);text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--g);padding-bottom:.2rem;display:inline-block; }
.card-link::after { content:' →'; }

/* Persona card */
.persona-card { display:flex;gap:1.75rem;align-items:flex-start;padding:2.25rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);transition:all .25s; }
.persona-card:hover { box-shadow:var(--sh-card);transform:translateX(4px); }
.persona-num { font-size:3rem;font-weight:800;color:var(--g-ll);line-height:1;flex-shrink:0;letter-spacing:-.04em;min-width:2.5rem; }
.persona-body h3 { font-size:1.1rem;font-weight:700;color:var(--text);margin-bottom:.6rem;line-height:1.3; }
.persona-body p  { font-size:.92rem;color:var(--muted);line-height:1.6; }
.persona-body .pc-link { display:inline-flex;align-items:center;gap:.3rem;margin-top:1rem;font-size:.75rem;font-weight:700;color:var(--g-d);text-transform:uppercase;letter-spacing:.1em; }
.persona-body .pc-link::after { content:'→'; }

/* ════════════════════════════════════════════════════════════
   STATS
   Boilerplate : bloc "stats" (existant)
═══════════════════════════════════════════════════════════════ */
.stats-grid { display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:2; }
.stat { padding:3rem 2rem;text-align:center;border-right:1px solid rgba(255,255,255,.12); }
.stat:last-child { border-right:none; }
.stat-num { font-size:clamp(2.8rem,4.5vw,3.8rem);font-weight:800;color:#fff;line-height:1;margin-bottom:.6rem;letter-spacing:-.03em; }
.stat-num small { font-size:1.6rem;color:var(--g-l);font-weight:700; }
.stat-label { font-size:.78rem;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.12em;font-weight:600;line-height:1.4; }
.stats-certs { margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:center;align-items:center;gap:3.5rem;flex-wrap:wrap;position:relative;z-index:2; }
.stats-cert-item { display:flex;align-items:center;gap:.75rem;color:rgba(255,255,255,.9);font-size:.88rem;font-weight:600; }
.stats-cert-item .check { width:26px;height:26px;background:var(--g);border-radius:var(--radius);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0; }
/* Logos Qualiopi / CPF dans stats (fond sombre) */
.stats-cert-logo { padding:0; }
.stats-cert-logo img { height:36px;width:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.85;display:block; }
/* Rangée logos sous les coches — fond blanc pour couleurs officielles */
.stats-logos { display:flex;justify-content:center;align-items:center;gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1); }
.stats-logo-pill { background:#fff;border-radius:var(--radius);padding:.75rem 1rem;display:flex;align-items:center;justify-content:center; }
.stats-logo-pill img { height:250px;width:auto;object-fit:contain;display:block; }

/* ════════════════════════════════════════════════════════════
   TÉMOIGNAGES
   Boilerplate : "testimonials-grid" (existant) + "testi-featured" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.testi-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative;z-index:2; }
.testi { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:2.25rem 2rem;position:relative;border-radius:var(--radius); }
.testi::before { content:'"';position:absolute;top:.25rem;left:1.5rem;font-size:4.5rem;line-height:1;color:var(--g);font-family:Georgia,serif;opacity:.6; }
.testi.light { background:var(--white);border-color:var(--border);box-shadow:var(--sh-card); }
.testi p { color:rgba(255,255,255,.88);font-size:.92rem;line-height:1.7;margin:2rem 0 1.5rem;font-style:italic; }
.testi.light p { color:var(--text); }
.testi-foot { display:flex;align-items:center;gap:.85rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12); }
.testi.light .testi-foot { border-color:var(--border); }
.testi-foot img { width:40px;height:40px;border-radius:50%;object-fit:cover; }
.testi-name { color:#fff;font-weight:700;font-size:.88rem; }
.testi.light .testi-name { color:var(--text); }
.testi-role { color:rgba(255,255,255,.6);font-size:.76rem;margin-top:.12rem; }
.testi.light .testi-role { color:var(--muted); }
.testi-stars { color:var(--g);font-size:.8rem;letter-spacing:.1em;margin-bottom:.2rem; }

.testi-layout { display:grid;grid-template-columns:1.4fr 1fr;gap:1.5rem;align-items:start; }
.testi-featured { background:var(--g-l);border:1px solid var(--g-bord);padding:3rem;position:relative;border-radius:var(--radius-l); }
.testi-featured::before { content:'"';position:absolute;top:1rem;left:2rem;font-size:6rem;line-height:1;color:var(--g);font-family:Georgia,serif;opacity:.4; }
.testi-featured p { font-size:1.15rem;font-weight:500;color:var(--text);line-height:1.72;font-style:italic;margin:2rem 0 2rem; }
.testi-featured .testi-foot { border-top:1px solid var(--g-bord); }
.testi-featured .testi-name { color:var(--text); }
.testi-featured .testi-role { color:var(--muted); }
.testi-stack { display:flex;flex-direction:column;gap:1.5rem; }
.testi-small { background:var(--white);border:1px solid var(--border);padding:2rem 1.75rem;border-radius:var(--radius); }
.testi-small::before { content:none; }
.testi-small p { color:var(--text);font-size:.9rem;line-height:1.65;margin:1rem 0 1.25rem;font-style:italic; }
.testi-small .testi-name { color:var(--text); }
.testi-small .testi-role { color:var(--muted); }
.testi-small .testi-foot { border-color:var(--border); }

/* ════════════════════════════════════════════════════════════
   PROCESS
   Boilerplate : "features-grid" (existant)
═══════════════════════════════════════════════════════════════ */
.process-grid { display:grid;grid-template-columns:repeat(4,1fr);position:relative; }
.process-grid::before { content:'';position:absolute;top:28px;left:12.5%;right:12.5%;height:2px;background:repeating-linear-gradient(to right,var(--g) 0 8px,transparent 8px 18px);z-index:0; }
.process-step { text-align:center;padding:0 1.25rem;position:relative;z-index:1; }
.step-bubble { width:56px;height:56px;margin:0 auto 1.5rem;background:var(--white);border:3px solid var(--g);color:var(--g-d);font-weight:800;font-size:1.15rem;display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;z-index:2; }
.process-step h3 { font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.6rem;line-height:1.35; }
.process-step p  { font-size:.87rem;color:var(--muted);line-height:1.6; }

/* ════════════════════════════════════════════════════════════
   BLOG PREVIEW (nouveau V8)
   Boilerplate : "blog-preview" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.blog-preview { display:grid;grid-template-columns:1.6fr 1fr;gap:2rem; }
.bp-featured { background:var(--white);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s; }
.bp-featured:hover { box-shadow:var(--sh-card-hov); }
.bp-featured .bp-img { height:280px;overflow:hidden; }
.bp-featured .bp-img img { width:100%;height:100%;object-fit:cover;transition:transform .5s; }
.bp-featured:hover .bp-img img { transform:scale(1.03); }
.bp-featured .bp-body { padding:2rem 2.25rem 2.25rem;flex:1;display:flex;flex-direction:column;gap:.75rem; }
.bp-cat { font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g); }
.bp-title { font-size:1.35rem;font-weight:800;line-height:1.2;letter-spacing:-.015em;color:var(--text); }
.bp-featured:hover .bp-title { color:var(--g-d); }
.bp-excerpt { font-size:.92rem;color:var(--muted);line-height:1.65;flex:1; }
.bp-meta { display:flex;align-items:center;gap:1rem;margin-top:.5rem; }
.bp-date { font-size:.75rem;color:var(--muted); }
.bp-read { font-size:.72rem;color:var(--g);font-weight:700; }
.bp-stack { display:flex;flex-direction:column;gap:1.25rem; }
.bp-small { display:flex;gap:1.25rem;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .25s; }
.bp-small:hover { box-shadow:var(--sh-sm); }
.bp-small .bp-img { width:110px;min-height:88px;flex-shrink:0; }
.bp-small .bp-img img { width:100%;height:100%;object-fit:cover; }
.bp-small .bp-body { padding:1.1rem 1.1rem 1.1rem 0;display:flex;flex-direction:column;gap:.4rem; }
.bp-small .bp-title { font-size:.95rem;font-weight:700;line-height:1.3;color:var(--text); }

/* ════════════════════════════════════════════════════════════
   FAQ ACCORDÉON
   Boilerplate : "accordion" (existant)
═══════════════════════════════════════════════════════════════ */
.faq-layout { display:grid;grid-template-columns:1fr 1.9fr;gap:5rem;align-items:start; }
.faq-list { display:flex;flex-direction:column; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-item:first-child { border-top:1px solid var(--border); }
.faq-q { display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:1rem;font-weight:700;color:var(--text);cursor:pointer;padding:1.4rem 0;line-height:1.4; }
.faq-q::after { content:'+';flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--g);color:var(--g);font-size:1.1rem;font-weight:600;transition:all .2s;border-radius:var(--radius); }
.faq-item.open .faq-q::after { content:'−';background:var(--g);color:#fff; }
.faq-a { max-height:0;overflow:hidden;transition:max-height .35s,padding .35s;color:var(--muted);font-size:.95rem;line-height:1.7; }
.faq-item.open .faq-a { max-height:2400px;padding-bottom:1.5rem; }

/* ════════════════════════════════════════════════════════════
   CTA PLEIN FOND (nouveau V8)
   Boilerplate : "cta-full-bg" [À CRÉER]
═══════════════════════════════════════════════════════════════ */
.cta-fullbg { position:relative;overflow:hidden;min-height:480px;display:flex;align-items:center; }
.cta-fullbg .ctafb-bg { position:absolute;inset:0;background-size:cover;background-position:center; }
.cta-fullbg .ctafb-overlay { position:absolute;inset:0;background:linear-gradient(105deg,rgba(14,35,22,.97) 0%,rgba(14,35,22,.82) 55%,rgba(14,35,22,.38) 100%); }
.cta-fullbg .ctafb-inner { position:relative;z-index:2;max-width:var(--mw);margin:0 auto;width:100%;padding:5rem 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center; }
.ctafb-eyebrow { display:inline-flex;align-items:center;gap:.5rem;font-size:.64rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:1.5rem; }
.ctafb-eyebrow::before { content:'';width:20px;height:2px;background:var(--g); }
.ctafb-text h2 { font-size:clamp(2.2rem,3.8vw,3.2rem);font-weight:800;color:#fff;line-height:1.08;letter-spacing:-.025em;margin-bottom:1.5rem; }
.ctafb-text h2 em { color:var(--g-l);font-style:normal; }
.ctafb-text p { color:rgba(255,255,255,.82);font-size:1.02rem;line-height:1.68;margin-bottom:2.25rem; }
.ctafb-text .ctas { display:flex;gap:.85rem;flex-wrap:wrap; }
.ctafb-aside { display:flex;flex-direction:column;gap:1.25rem; }
.ctafb-info-card { background:rgba(255,255,255,.1);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);padding:1.5rem;border-radius:var(--radius-l);display:flex;gap:1rem;align-items:flex-start; }
.ctafb-info-card .cic-icon { width:44px;height:44px;flex-shrink:0;background:var(--g);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff; }
.ctafb-info-card strong { display:block;color:#fff;font-size:.9rem;font-weight:700;margin-bottom:.3rem; }
.ctafb-info-card p { color:rgba(255,255,255,.72);font-size:.84rem;line-height:1.55;margin:0; }

/* ════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
footer { background:#0E2317;color:rgba(255,255,255,.7);padding:4.5rem 0 2rem; }
.foot-grid { display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem; }
.foot-logo { font-size:1.45rem;font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:-.02em; }
.foot-logo em { font-style:normal;color:var(--g); }
.foot-about { font-size:.88rem;line-height:1.7;max-width:22rem; }
.foot-col h4 { color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.25rem; }
.foot-col ul { list-style:none;padding:0;display:flex;flex-direction:column;gap:.65rem; }
.foot-col a { font-size:.88rem;transition:color .2s; }
.foot-col a:hover { color:var(--g); }
.foot-certs { display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem; }
.foot-cert-badge { font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:.3rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:2rem;color:rgba(255,255,255,.65); }
/* Logos Qualiopi + CPF dans le footer (fond sombre → filtre blanc) */
.foot-cert-logo { display:inline-flex;align-items:center;padding:.45rem .9rem;background:rgba(255,255,255,.96);border-radius:var(--radius);transition:background .2s; }
.foot-cert-logo:hover { background:#fff; }
.foot-cert-logo img { height:36px;width:auto;object-fit:contain;display:block; }
.foot-cert-logo:hover img { opacity:1; }
.foot-address { margin-top:1.25rem;font-size:.82rem;color:rgba(255,255,255,.52);line-height:1.9; }
.foot-address strong { color:rgba(255,255,255,.78);font-weight:600; }
.foot-address a { color:var(--g-l);text-decoration:none;font-size:.78rem; }
.foot-address a:hover { text-decoration:underline; }
.testi-placeholder { opacity:.35;pointer-events:none; }
/* Logos dans la bande cert-strip (fond clair → couleurs réelles) */
.cert-icon-img { padding:0!important;overflow:hidden; }
.cert-icon-img img { width:100%;height:100%;object-fit:contain;padding:5px;display:block; }
/* Petits logos inline dans le ribbon */
.ribbon-cert-logos { display:inline-flex;align-items:center;gap:.55rem;margin-left:.55rem;vertical-align:middle; }
.ribbon-cert-logos img { height:20px;width:auto;object-fit:contain;vertical-align:middle;display:inline-block; }
.foot-certs-band { display:flex;justify-content:center;align-items:center;gap:2.5rem;flex-wrap:wrap;padding:2rem 0;border-top:1px solid rgba(255,255,255,.1);margin-bottom:0; }
.foot-certs-band__item { display:inline-flex;background:#fff;border-radius:var(--radius);padding:.75rem 1.25rem;transition:box-shadow .2s; }
.foot-certs-band__item:hover { box-shadow:0 4px 16px rgba(0,0,0,.18); }
.foot-certs-band__item img { height:100px;width:auto;object-fit:contain;display:block; }
.foot-bottom { padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.8rem; }
.foot-bottom a:hover { color:var(--g); }

/* ════════════════════════════════════════════════════════════
   TARIFS / PRICING
   Boilerplate : "pricing" (existant)
═══════════════════════════════════════════════════════════════ */
.pricing-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:start; }
.pricing-card { background:var(--white);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;transition:box-shadow .25s; }
.pricing-card:hover { box-shadow:var(--sh-card-hov); }
.pricing-card.featured { border-color:var(--g);border-width:2px; }
.pc-head { padding:2.25rem 2rem 1.75rem;border-bottom:1px solid var(--border); }
.pricing-card.featured .pc-head { background:var(--g-l); }
.pc-label { font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--g);margin-bottom:.65rem; }
.pc-name  { font-size:1.35rem;font-weight:800;color:var(--text);margin-bottom:.35rem; }
.pc-desc  { font-size:.88rem;color:var(--muted);line-height:1.55; }
.pc-price { margin-top:1.25rem; }
.pc-amount { font-size:2.4rem;font-weight:800;color:var(--text);letter-spacing:-.03em;line-height:1; }
.pc-amount sup { font-size:1rem;vertical-align:super;font-weight:600; }
.pc-amount sub { font-size:.85rem;vertical-align:baseline;font-weight:500;color:var(--muted); }
.pc-price .pc-note { font-size:.78rem;color:var(--muted);margin-top:.35rem;line-height:1.5; }
.pc-body { padding:1.75rem 2rem 2rem; }
.pc-features { list-style:none;padding:0;display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.75rem; }
.pc-features li { font-size:.9rem;color:var(--text);padding-left:1.5rem;position:relative;line-height:1.45; }
.pc-features li::before { content:'✓';position:absolute;left:0;color:var(--g);font-weight:800; }
.pc-badge { display:inline-flex;align-items:center;gap:.4rem;background:var(--or-l);color:var(--or-d);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .85rem;border-radius:2rem;margin-top:1rem; }

/* ════════════════════════════════════════════════════════════
   AVIS / REVIEWS
   Boilerplate : "testimonials-grid" (existant) + review-summary
═══════════════════════════════════════════════════════════════ */
.reviews-summary { display:grid;grid-template-columns:auto 1fr;gap:4rem;align-items:center;padding:3rem;background:var(--g-l);border-radius:var(--radius-l);margin-bottom:3.5rem; }
.review-score { text-align:center; }
.review-score .score-num { font-size:5rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1; }
.review-score .score-max { font-size:1.1rem;color:var(--muted); }
.review-score .score-stars { color:#F5A623;font-size:1.4rem;letter-spacing:.15em;margin:.5rem 0; }
.review-score .score-count { font-size:.82rem;color:var(--muted); }
.review-bars { display:flex;flex-direction:column;gap:.75rem; }
.review-bar-row { display:flex;align-items:center;gap:1rem; }
.review-bar-label { font-size:.82rem;color:var(--muted);width:3.5rem;text-align:right;flex-shrink:0; }
.review-bar-track { flex:1;height:8px;background:var(--g-ll);border-radius:4px;overflow:hidden; }
.review-bar-fill  { height:100%;background:var(--g);border-radius:4px; }
.review-bar-pct   { font-size:.8rem;color:var(--muted);width:3rem;flex-shrink:0; }

/* ════════════════════════════════════════════════════════════
   BLOG LISTING
   Boilerplate : "blog" (existant)
═══════════════════════════════════════════════════════════════ */
.blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2rem; }
.blog-card { background:var(--white);border:1px solid var(--border);border-radius:var(--radius-l);overflow:hidden;transition:all .25s;display:flex;flex-direction:column; }
.blog-card:hover { box-shadow:var(--sh-card-hov);transform:translateY(-2px); }
.blog-card .bc-img { height:220px;overflow:hidden; }
.blog-card .bc-img img { width:100%;height:100%;object-fit:cover;transition:transform .5s; }
.blog-card:hover .bc-img img { transform:scale(1.04); }
.blog-card .bc-body { padding:1.75rem 1.75rem 2rem;flex:1;display:flex;flex-direction:column;gap:.65rem; }
.bc-tags { display:flex;gap:.5rem;flex-wrap:wrap; }
.bc-tag { font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--g-d);background:var(--g-l);padding:.22rem .75rem;border-radius:2rem; }
.bc-title { font-size:1.15rem;font-weight:700;line-height:1.3;color:var(--text); }
.blog-card:hover .bc-title { color:var(--g-d); }
.bc-excerpt { font-size:.88rem;color:var(--muted);line-height:1.65;flex:1; }
.bc-meta { display:flex;align-items:center;justify-content:space-between;font-size:.76rem;color:var(--muted);margin-top:.5rem; }
.bc-read { color:var(--g);font-weight:700; }

/* ════════════════════════════════════════════════════════════
   CONTACT
   Boilerplate : "contact-form" (existant)
═══════════════════════════════════════════════════════════════ */
.contact-layout { display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start; }
.contact-form { display:flex;flex-direction:column;gap:1.25rem; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:1.25rem; }
.form-group { display:flex;flex-direction:column;gap:.5rem; }
.form-group label { font-size:.78rem;font-weight:700;color:var(--text);letter-spacing:.02em; }
.form-group input,.form-group textarea,.form-group select { width:100%;padding:.9rem 1.1rem;border:1.5px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:.92rem;color:var(--text);background:var(--white);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none; }
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(26,167,108,.12); }
.form-group textarea { resize:vertical;min-height:140px; }
.field-website { display:none!important; }
.form-consent { font-size:.82rem;color:var(--muted);line-height:1.55; }
.form-consent a { color:var(--g-d);text-decoration:underline; }
.contact-info { display:flex;flex-direction:column;gap:2rem; }
.ci-card { display:flex;align-items:flex-start;gap:1.25rem;padding:1.75rem;background:var(--g-l);border-radius:var(--radius-l); }
.ci-icon { width:46px;height:46px;background:var(--g);color:#fff;flex-shrink:0;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem; }
.ci-body strong { display:block;font-size:.88rem;font-weight:700;color:var(--text);margin-bottom:.25rem; }
.ci-body p,.ci-body a { font-size:.9rem;color:var(--muted);line-height:1.55; }
.ci-body a:hover { color:var(--g-d); }

/* ════════════════════════════════════════════════════════════
   SECTION NABILA — bio éditoriale
═══════════════════════════════════════════════════════════════ */
.nabila-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:center; }
.nabila-portrait { position:relative; }
.nabila-portrait .np-img { width:70%;aspect-ratio:4/5;object-fit:cover;object-position:top center;border-radius:var(--radius-l);box-shadow:var(--sh-img); }
.nabila-portrait .np-caption { position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--g);color:#fff;padding:1.5rem 1.75rem;border-radius:var(--radius-l);max-width:210px; }
.np-caption strong { display:block;font-size:1.1rem;font-weight:800;margin-bottom:.2rem; }
.np-caption span { font-size:.78rem;opacity:.85;line-height:1.5;display:block; }
.nabila-text h2 { font-size:clamp(2rem,3vw,2.6rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin-bottom:1.25rem; }
.nabila-text h2 em { font-style:normal;color:var(--g); }
.nabila-text p { color:var(--muted);font-size:1rem;line-height:1.72;margin-bottom:1rem; }
.nabila-credentials { display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.75rem; }
.nabila-cred { display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--text);background:var(--gray);padding:.5rem 1.1rem;border-radius:2rem; }
.nabila-cred::before { content:'●';color:var(--g);font-size:.5rem; }

/* ════════════════════════════════════════════════════════════
   UTILITAIRES
═══════════════════════════════════════════════════════════════ */
.tag { display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;padding:.32rem .9rem;border-radius:2rem; }
.tag-g  { background:var(--g-l);color:var(--g-d); }
.tag-or { background:var(--or-l);color:var(--or-d); }
.tag-wh { background:rgba(255,255,255,.15);color:rgba(255,255,255,.9); }
.divider { width:100%;height:1px;background:var(--border); }
.pull-quote { border-left:4px solid var(--g);padding:1.25rem 1.75rem;margin:2rem 0;background:var(--g-l);border-radius:0 var(--radius) var(--radius) 0; }
.pull-quote p { font-size:1.1rem;font-weight:600;color:var(--text);line-height:1.5;margin:0;font-style:italic; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════════ */

/* ── Tablette (≤1024px) ───────────────────────────────────── */
@media (max-width:1024px) {
  .he-inner { grid-template-columns:1fr; gap:2.5rem; padding:0 2rem 4rem; }
  .he-text  { max-width:100%; }

   /* ── Navigation responsive ─────────────────────────── */
   .navbar { padding:1.1rem 1.25rem;position:absolute;top:0;left:0;right:0;z-index:100; }
   .nav-links { display:none; }
   .nav-burger { display:flex; }

   /* Panneau mobile plein écran */
   .mobile-panel {
      display:none;
      position:fixed;top:0;left:0;right:0;bottom:0;
      flex-direction:column;
      background:var(--dark);
      z-index:200;
      overflow-y:auto;
   }
   .mobile-panel.open { display:flex; }

   /* Ligne logo + croix */
   .mobile-panel-header {
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:1.1rem 1.25rem;
      border-bottom:1px solid rgba(255,255,255,.1);
      flex-shrink:0;
   }
   .logo-mobile { font-size:1.3rem;font-weight:800;color:var(--white);letter-spacing:-.02em;text-decoration:none;font-style:normal; }
   .logo-mobile em { color:var(--g);font-style:normal; }

   /* Bouton fermer (×) */
   .nav-close {
      display:flex;align-items:center;justify-content:center;
      background:none;border:none;cursor:pointer;
      width:2.4rem;height:2.4rem;padding:0;flex-shrink:0;
      position:relative;
   }
   .nav-close span {
      display:block;width:18px;height:2px;background:rgba(255,255,255,.75);
      position:absolute;border-radius:2px;
   }
   .nav-close span:first-child { transform:rotate(45deg); }
   .nav-close span:last-child  { transform:rotate(-45deg); }

   /* Liens */
   .mobile-panel-links { list-style:none;margin:0;padding:0;flex:1; }
   .mobile-panel-links li a {
      display:block;
      padding:1rem 1.5rem;
      font-size:1rem;font-weight:500;
      border-bottom:1px solid rgba(255,255,255,.07);
      color:rgba(255,255,255,.82);
      text-decoration:none;
   }
   .mobile-panel-links li a.active { color:var(--g); }
   .mobile-panel-links li a:hover  { color:var(--white); }

   /* CTA bas du panneau */
   .mobile-panel-cta { padding:1.5rem 1.25rem 2rem; }
   .mobile-panel-cta .btn { width:100%;justify-content:center;text-align:center; }

  .nabila-grid { grid-template-columns:1fr; gap:3rem; }
  .nabila-portrait { max-width:460px; margin:0 auto; }
  .nabila-portrait .np-caption { position:static; max-width:none; margin-top:1rem; }

  .faq-layout { grid-template-columns:1fr; gap:2.5rem; }
  .faq-layout > div:first-child { position:static!important; }

  .foot-grid { grid-template-columns:1fr 1fr; gap:2rem; }
  .foot-certs-band__item img { height:160px; }

  .offer-cards { grid-template-columns:1fr; }
  .offer-cards .offer-card:last-child { max-width:100%!important; grid-column:auto!important; width:100%!important; }

  .txt-img { grid-template-columns:1fr; gap:2.5rem; }
  .txt-img-media { height:340px; clip-path:none; border-radius:var(--radius-l); }
  .txt-img.reverse .txt-img-media { clip-path:none; }

  .hc-inner { grid-template-columns:1fr; gap:2rem; }
  .hc-media { display:none; }

  .cta-fullbg .ctafb-inner { grid-template-columns:1fr; gap:2rem; }
  .ctafb-aside { display:none; }

  .pricing-grid { grid-template-columns:1fr 1fr; }
  .blog-preview { grid-template-columns:1fr; }
  .contact-layout { grid-template-columns:1fr; gap:2.5rem; }
}

/* ── Mobile (≤768px) ─────────────────────────────────────── */
@media (max-width:768px) {
  /* Indicateurs qualité — colonne unique */
  .qual-grid { grid-template-columns:1fr !important; }

  /* Base */
  .wrap, .wrap-t { padding:0 1.25rem; }
  .section { padding:4rem 0; }
  .section.tight { padding:2.5rem 0; }

  /* Hero */
  .hero-editorial { min-height:auto;height:auto; }
  .he-overlay { background:linear-gradient(180deg,rgba(14,35,22,.88) 0%,rgba(14,35,22,.80) 55%,rgba(14,35,22,.55) 100%); }
  .he-inner { grid-template-columns:1fr; padding:5.5rem 1.25rem 3.5rem; gap:1.5rem; }
  .he-h1 { font-size:clamp(1.65rem,7vw,2.4rem);line-height:1.1; }
  .he-intro { font-size:.95rem; }
  .he-kicker { display:block;font-size:.6rem;line-height:1.6; }
  .he-kicker::before { display:none; }
  .he-aside { display:none; }
  .he-ctas .btn { width:100%;justify-content:center; }

  /* Cert strip */
  .cert-inner { flex-direction:column; align-items:flex-start; gap:1.1rem; padding:1.5rem 1.25rem; }
  .cert-divider { width:100%; height:1px; }

  /* Section headings */
  .section-head { margin-bottom:2.5rem; }
  .section-head h2, h2.h-sec { font-size:clamp(1.6rem,7vw,2.2rem); }

  /* Et vous ? — override inline grid */
  .bg-mint .wrap > div { grid-template-columns:1fr!important; gap:2rem!important; }
  .bg-mint .wrap > div > div:first-child { position:static!important; }

  /* Offer cards */
  .offer-cards { grid-template-columns:1fr; gap:1.25rem; }
  .offer-card { height:400px; }
  .offer-cards .offer-card:last-child { max-width:100%!important; grid-column:auto!important; width:100%!important; }

  /* Nabila */
  .nabila-grid { grid-template-columns:1fr; gap:2rem; }
  .nabila-portrait { max-width:340px; margin:0 auto; }
  .nabila-portrait .np-caption { position:static; max-width:none; margin-top:1rem; }
  .nabila-text { padding-bottom:0!important; }

  /* Stats */
  .stats-grid { grid-template-columns:1fr!important; }
  .stat { border-right:none; border-bottom:1px solid rgba(255,255,255,.12); padding:2rem 1.5rem; }
  .stat:last-child { border-bottom:none; }
  .stats-certs { flex-direction:column; align-items:flex-start; gap:1rem; padding-left:1rem; }
  .stats-logos { flex-direction:row; gap:1rem; flex-wrap:wrap; }

  /* Témoignages */
  .testi-grid { grid-template-columns:1fr; }
  .testi-layout { grid-template-columns:1fr; }

  /* FAQ */
  .faq-layout { grid-template-columns:1fr; gap:2rem; }
  .faq-layout > div:first-child { position:static!important; }
  .faq-q { font-size:.9rem; }

  /* Footer */
  .foot-grid { grid-template-columns:1fr; gap:1.75rem; }
  .foot-certs-band { gap:1.5rem; }
  .foot-certs-band__item img { height:120px; }
  .foot-bottom { flex-direction:column; gap:.65rem; }
  .foot-bottom > div:last-child { display:flex; flex-wrap:wrap; gap:.75rem; }

  /* Cards */
  .cards-3, .cards-4 { grid-template-columns:1fr; }
  .cards-2 { grid-template-columns:1fr; }

  /* Process */
  .process-grid { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .process-grid::before { display:none; }

  /* Pour qui — grille label+texte */
  .pq-item { grid-template-columns:1fr!important;gap:.4rem!important; }

  /* Persona cards */
  .persona-card { flex-direction:column; gap:.85rem; padding:1.5rem; }
  .persona-num { font-size:2rem; }

  /* Contact */
  .form-row { grid-template-columns:1fr; }

  /* Pricing */
  .pricing-grid { grid-template-columns:1fr; }

  /* Blog */
  .blog-grid { grid-template-columns:1fr; }
  .blog-preview { grid-template-columns:1fr; }

  /* Hero compact (pages internes) */
  .hero-compact { min-height:auto; }
  .hc-inner { grid-template-columns:1fr; padding:5.5rem 1.25rem 3rem; }
  .hc-media { display:none; }
  .hc-eyebrow { display:block;font-size:.6rem;line-height:1.6; }
  .hc-eyebrow::before { display:none; }
  .hc-h1 { font-size:clamp(1.65rem,7vw,2.2rem);line-height:1.1; }
  .hc-ctas { flex-direction:column; }
  .hc-ctas .btn { width:100%;justify-content:center;text-align:center; }

  /* Txt-img */
  .txt-img { grid-template-columns:1fr; gap:2rem; }
  .txt-img-media { height:260px; clip-path:none; border-radius:var(--radius-l); }
  .txt-img.reverse .txt-img-media { clip-path:none; }

  /* Buttons */
  .btn { white-space:normal; text-align:center; }
}

/* ── Très petit mobile (≤480px) ──────────────────────────── */
@media (max-width:480px) {
  .he-h1 { font-size:clamp(1.85rem,8vw,2.4rem); }
  .nabila-portrait { max-width:100%; }
  .stats-grid { grid-template-columns:1fr!important; }
}
