/* Pages de service statiques : identité éditoriale 100% harmonisée avec la landing page iVISION. */
    :root {
      --ink:#14120f;
      --paper:#f2ede4;
      --surface:#fbf8f2;
      --line:rgba(20,18,15,.14);
      --quiet:#6b6259;
      --light:#f2ede4;
      --accent:#a69b8b;
      --iv-black:#14120f;
      --iv-white:#f2ede4;
      --iv-paper:#fbf8f2;
      --iv-line:rgba(242,237,228,.14);
      --iv-muted:rgba(242,237,228,.62);
      --iv-orange:#f2ede4;
      --iv-magenta:#a69b8b;
    }
    * { box-sizing:border-box; }
    [hidden] { display:none !important; }
    html { scroll-behavior:smooth; scroll-padding-top:6.5rem; background:var(--paper); }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:'Jost','IBM Plex Sans Arabic','Cairo',Arial,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:clip; }
    img { max-width:100%; display:block; }
    a { color:inherit; }
    a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid currentColor; outline-offset:4px; }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { font-family:'Cormorant Garamond','Noto Kufi Arabic','Cairo','IBM Plex Sans Arabic',Georgia,serif; font-weight:500; letter-spacing:-.02em; text-transform:uppercase; }
    html:not([dir="rtl"]) h1 em,
    html:not([dir="rtl"]) h2 em,
    html:not([dir="rtl"]) h3 em {
      font-family:'Caveat',cursive;
      font-style:normal;
      font-weight:500;
      text-transform:capitalize;
      letter-spacing:.01em;
      font-size:1.12em;
      line-height:.94;
      color:#a69b8b;
    }
    p { line-height:1.65; }
    .skip { position:absolute; top:-5rem; left:1rem; z-index:200; padding:.8rem 1.2rem; background:var(--paper); color:var(--ink); border-radius:.4rem; }
    .skip:focus { top:1rem; }
    .wrap { width:min(100% - 9.6vw, 84rem); margin-inline:auto; }
    .eyebrow { font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; }
    .muted { color:var(--quiet); }

    /* ===== BOUTONS ÉDITORIAUX (alignés sur la landing page) ===== */
    .btn { display:inline-flex; align-items:center; justify-content:space-between; gap:1.4rem; min-height:2.95rem; padding:.78rem 1.3rem; border:1px solid currentColor; border-radius:999px; font-size:.62rem; font-weight:700; letter-spacing:.09em; line-height:1.2; text-decoration:none; text-transform:uppercase; transition:background .25s ease,color .25s ease,transform .25s cubic-bezier(.23,1,.32,1),border-color .25s ease; }
    .btn:hover { transform:translateY(-2px); }
    .btn-light { background:var(--light); border-color:var(--light); color:var(--ink); }
    .btn-light:hover { background:transparent; color:var(--light); }
    .btn-outline-light { border-color:rgba(242,237,228,.5); color:var(--light); }
    .btn-outline-light:hover { background:var(--light); color:var(--ink); border-color:var(--light); }
    .btn-dark { background:var(--ink); color:var(--light); border-color:var(--ink); }
    .btn-dark:hover { background:transparent; color:var(--ink); }

    /* ===== BARRE DE NAVIGATION FLOTTANTE (identique à la landing page) ===== */
    .page-header,
    .iv-header {
      position:fixed;
      top:1rem;
      right:clamp(1rem, 4vw, 4.5rem);
      left:clamp(1rem, 4vw, 4.5rem);
      z-index:100;
      max-width:118rem;
      margin:0 auto;
      border:1px solid rgba(242,237,228,.28);
      border-radius:999px;
      background:rgba(20,18,15,.42);
      backdrop-filter:blur(12px);
      -webkit-backdrop-filter:blur(12px);
      transition:background .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
    }
    .page-header.is-scrolled,
    .iv-header.is-scrolled {
      --iv-black:#f2ede4;
      --iv-white:#14120f;
      --iv-line:rgba(20,18,15,.14);
      --iv-muted:rgba(20,18,15,.62);
      background:rgba(242,237,228,.92);
      border-color:rgba(20,18,15,.14);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      box-shadow:0 10px 30px rgba(20,18,15,.06);
    }
    .header-inner,
    .iv-header-inner {
      width:100% !important;
      max-width:none !important;
      min-height:4rem;
      height:4rem;
      display:flex;
      align-items:center;
      gap:1rem;
      padding:.35rem .55rem .35rem .75rem;
      margin:0 !important;
    }
    .brand,
    .iv-logo {
      flex:0 0 auto;
      display:inline-flex;
      align-items:center;
      padding:.5rem .65rem;
    }
    .brand img,
    .iv-logo img {
      width:5.6rem;
      height:auto;
      filter:none;
      transition:filter .3s ease;
    }
    .page-header.is-scrolled .brand img,
    .iv-header.is-scrolled .iv-logo img {
      filter:brightness(0);
    }
    .header-nav,
    .iv-nav {
      display:flex;
      align-items:center;
      gap:clamp(.75rem, 1.3vw, 1.5rem);
      margin-left:auto;
    }
    .header-nav a,
    .iv-nav a {
      color:var(--iv-muted);
      font-size:.58rem;
      font-weight:600;
      letter-spacing:.1em;
      text-decoration:none;
      text-transform:uppercase;
      white-space:nowrap;
      transition:color .25s ease;
    }
    .header-nav a:hover,
    .iv-nav a:hover,
    .header-nav a[aria-current="page"],
    .iv-nav a[aria-current="page"] {
      color:var(--iv-white);
      text-decoration:none;
    }
    .header-nav a[aria-current="page"],
    .iv-nav a[aria-current="page"] {
      text-decoration:underline;
      text-underline-offset:.38em;
    }
    .iv-header-actions {
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      flex:0 0 auto;
      margin-left:.4rem;
    }
    .iv-lang-switch {
      display:inline-flex;
      align-items:center;
      padding:.18rem;
      border:1px solid rgba(242,237,228,.28);
      border-radius:999px;
      background:rgba(20,18,15,.26);
      gap:.12rem;
    }
    .page-header.is-scrolled .iv-lang-switch,
    .iv-header.is-scrolled .iv-lang-switch {
      border-color:rgba(20,18,15,.2);
      background:rgba(251,248,242,.72);
    }
    .iv-lang-btn {
      border:0;
      border-radius:999px;
      padding:.42rem .62rem;
      background:transparent;
      color:var(--iv-muted);
      font-family:'Jost','IBM Plex Sans Arabic','Cairo',sans-serif;
      font-size:.56rem;
      font-weight:700;
      letter-spacing:.08em;
      line-height:1;
      cursor:pointer;
      transition:background .25s ease, color .25s ease;
    }
    .iv-lang-btn:hover { color:var(--iv-white); }
    .iv-lang-btn.is-active { background:var(--iv-white); color:var(--iv-black); }
    .header-cta,
    .iv-header-cta {
      display:inline-flex;
      align-items:center;
      gap:.45rem;
      flex:0 0 auto;
      border:0;
      border-radius:999px;
      padding:.72rem 1.05rem;
      background:var(--iv-white);
      color:var(--iv-black);
      font:inherit;
      font-size:.56rem;
      font-weight:700;
      letter-spacing:.08em;
      text-decoration:none;
      text-transform:uppercase;
      white-space:nowrap;
      cursor:pointer;
      transition:background .25s ease, color .25s ease, transform .25s ease;
    }
    .header-cta:hover,
    .iv-header-cta:hover { transform:translateY(-1px); }
    .header-cta b,
    .iv-header-cta b { font-size:.95rem; font-weight:400; }
    .iv-menu-button {
      display:none;
      width:2.7rem;
      height:2.7rem;
      border:1px solid rgba(246,246,246,.45);
      border-radius:50%;
      background:rgba(15,18,19,.3);
      cursor:pointer;
    }
    .page-header.is-scrolled .iv-menu-button,
    .iv-header.is-scrolled .iv-menu-button {
      border-color:rgba(20,18,15,.35);
      background:rgba(251,248,242,.55);
    }
    .iv-menu-button span {
      display:block;
      width:1rem;
      height:1px;
      margin:.25rem auto;
      background:var(--iv-white);
      transition:transform .25s ease;
    }
    .iv-menu-button.is-open span:first-child { transform:translateY(.25rem) rotate(45deg); }
    .iv-menu-button.is-open span:last-child { transform:translateY(-.25rem) rotate(-45deg); }

    /* ===== MENU MOBILE COMPACT & PROPRE ===== */
    .iv-mobile-backdrop {
      position:fixed;
      inset:0;
      z-index:130;
      background:rgba(14,13,11,.55);
      backdrop-filter:blur(5px);
      -webkit-backdrop-filter:blur(5px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .26s ease, visibility .26s ease;
    }
    .iv-mobile-backdrop.is-open {
      opacity:1;
      visibility:visible;
      pointer-events:auto;
    }
    .iv-mobile-menu {
      position:fixed;
      top:5.1rem;
      right:.85rem;
      left:.85rem;
      bottom:auto;
      max-height:calc(100svh - 6rem);
      z-index:135;
      display:block;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transform:translateY(-10px) scale(.985);
      transform-origin:top center;
      overflow-y:auto;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      padding:1rem 1.05rem 1.15rem;
      border:1px solid rgba(20,18,15,.16);
      border-radius:1.15rem;
      background:#fbf8f2;
      color:#14120f;
      box-shadow:0 24px 60px rgba(10,9,8,.34);
      transition:opacity .26s cubic-bezier(.23,1,.32,1), transform .26s cubic-bezier(.23,1,.32,1), visibility .26s ease;
    }
    .iv-mobile-menu.is-open {
      display:block !important;
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateY(0) scale(1);
    }
    body.iv-menu-open .iv-floating-wa,
    body.iv-menu-open .iv-floating-top {
      opacity:0 !important;
      pointer-events:none !important;
    }
    .iv-mobile-lang {
      display:flex;
      gap:.45rem;
      margin-bottom:.9rem;
      padding-bottom:.85rem;
      border-bottom:1px solid var(--line);
    }
    .iv-mobile-lang .iv-lang-btn {
      flex:1;
      padding:.52rem .75rem;
      border:1px solid var(--line);
      color:var(--ink);
      font-size:.7rem;
      text-align:center;
    }
    .iv-mobile-lang .iv-lang-btn.is-active {
      background:var(--ink);
      color:var(--light);
      border-color:var(--ink);
    }
    .iv-mobile-nav, .iv-mobile-menu nav { display:flex; flex-direction:column; gap:.2rem; }
    .iv-mobile-row, .iv-mobile-menu nav > a:not(.iv-mobile-cta) {
      width:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:.68rem .4rem;
      border:0;
      border-bottom:1px solid rgba(20,18,15,.1);
      background:transparent;
      color:var(--ink) !important;
      font-family:'Jost','Readex Pro',sans-serif !important;
      font-size:.84rem !important;
      font-weight:600 !important;
      letter-spacing:.06em !important;
      line-height:1.3 !important;
      text-decoration:none;
      text-transform:uppercase;
      text-align:left;
      cursor:pointer;
      box-sizing:border-box;
    }
    [dir="rtl"] .iv-mobile-row,
    [dir="rtl"] .iv-mobile-menu nav > a:not(.iv-mobile-cta) {
      text-align:right;
      letter-spacing:0 !important;
      text-transform:none;
    }
    .iv-mobile-group.is-open .iv-mobile-accordion-btn .iv-caret {
      transform:rotate(180deg);
      color:#a69b8b;
    }
    .iv-mobile-sublist {
      display:flex;
      flex-direction:column;
      gap:.3rem;
      margin-left:.25rem;
      padding:.38rem 0 .65rem .65rem;
      border-left:2px solid #a69b8b;
      border-bottom:1px solid rgba(20,18,15,.1);
    }
    [dir="rtl"] .iv-mobile-sublist {
      margin-left:0;
      margin-right:.25rem;
      padding:.38rem .65rem .65rem 0;
      border-left:0;
      border-right:2px solid #a69b8b;
    }
    .iv-mobile-sublink {
      display:block !important;
      padding:.55rem .68rem !important;
      border:1px solid rgba(20,18,15,.08) !important;
      border-radius:.6rem;
      background:#f2ede4 !important;
      color:#14120f !important;
      text-decoration:none !important;
      text-transform:none !important;
      letter-spacing:0 !important;
      font-family:'Jost','Tajawal',sans-serif !important;
    }
    .iv-mobile-sublink-top {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:.4rem;
      margin-bottom:.14rem;
    }
    .iv-mobile-sublink-top strong {
      font-family:'Jost','Readex Pro',sans-serif !important;
      font-size:.82rem !important;
      font-weight:600 !important;
      color:#14120f;
      line-height:1.25;
    }
    .iv-mobile-sublink-top em {
      font-family:'Jost','Readex Pro',sans-serif !important;
      font-style:normal !important;
      padding:.12rem .42rem;
      border-radius:999px;
      background:rgba(20,18,15,.08);
      color:#55504a !important;
      font-size:.46rem !important;
      font-weight:700 !important;
      letter-spacing:.1em !important;
      text-transform:uppercase !important;
      flex-shrink:0;
    }
    .iv-mobile-sublink small {
      display:block;
      font-size:.72rem !important;
      color:rgba(20,18,15,.65);
      line-height:1.35;
      font-weight:400;
    }
    .iv-mobile-cta-btn,
    .iv-mobile-menu a.iv-mobile-cta {
      width:100%;
      margin-top:.75rem;
      padding:.82rem 1rem !important;
      border:0 !important;
      border-radius:999px;
      background:#14120f !important;
      color:#f2ede4 !important;
      font-family:'Jost','Readex Pro',sans-serif !important;
      font-size:.72rem !important;
      font-weight:700 !important;
      letter-spacing:.1em !important;
      text-transform:uppercase;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:.45rem;
      cursor:pointer;
      text-decoration:none;
    }

    /* ===== BANDEAU MÉTADONNÉES HERO (identique à .iv-hero-top de la landing page) ===== */
    .crumb,
    nav.wrap.crumb {
      width:100% !important;
      max-width:none !important;
      margin:0 !important;
      padding:7.2rem max(4.8vw, calc((100% - 84rem) / 2)) 0 !important;
      background:var(--ink);
      color:rgba(242,237,228,.76);
      border:0;
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:.6rem .75rem;
      font-size:.62rem;
      font-weight:700;
      letter-spacing:.14em;
      text-transform:uppercase;
    }
    .crumb::before {
      content:'';
      width:.45rem;
      height:.45rem;
      border-radius:50%;
      background:var(--light);
      box-shadow:0 0 0 .25rem rgba(242,237,228,.16);
      flex-shrink:0;
    }
    .crumb a {
      color:rgba(242,237,228,.82);
      text-decoration:none;
      transition:color .2s ease;
    }
    .crumb a:hover {
      color:var(--light);
      text-decoration:underline;
      text-underline-offset:.25em;
    }
    .crumb span[aria-current="page"] { color:var(--light); }
    .crumb-anchors {
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:.5rem 1.2rem;
      margin-left:auto;
    }
    .crumb-anchors a {
      color:rgba(242,237,228,.65);
      font-size:.58rem;
      font-weight:700;
      letter-spacing:.13em;
    }
    .crumb-anchors a:hover { color:var(--light); }

    /* ===== HERO ÉDITORIAL (aligné sur .iv-hero de la landing page) ===== */
    .hero { background:var(--ink); color:var(--light); overflow:hidden; position:relative; border-bottom:1px solid rgba(242,237,228,.14); }
    .hero-grid { display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:clamp(2rem, 5vw, 5rem); min-height:calc(92svh - 8.5rem); padding:clamp(2.5rem, 5vh, 4.5rem) 0 clamp(3.5rem, 6vh, 5.5rem); }
    .hero-copy { padding:0; position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; }
    .hero-copy .eyebrow { color:#a69b8b; margin-bottom:1.4rem; }
    .hero h1 { max-width:15ch; font-size:clamp(3.2rem, 5.6vw, 6.6rem); line-height:.96; letter-spacing:-.02em; font-weight:500; text-transform:uppercase; margin-bottom:1.6rem; }
    .hero h1 em { font-family:'Caveat',cursive; font-style:normal; font-weight:500; text-transform:capitalize; letter-spacing:.01em; font-size:1.12em; line-height:.94; color:#a69b8b; }
    .hero-copy > p:not(.eyebrow) { max-width:34rem; font-size:clamp(.95rem,1.2vw,1.08rem); color:rgba(242,237,228,.78); margin-bottom:0; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.2rem; }
    .hero-visual { min-width:0; position:relative; border:1px solid rgba(242,237,228,.18); border-radius:.65rem; overflow:hidden; background:#1c1a17; box-shadow:0 2rem 5rem rgba(0,0,0,.38); }
    .hero-visual img { width:100%; height:100%; min-height:26rem; max-height:34rem; object-fit:cover; object-position:center; filter:saturate(.9) contrast(1.05); transition:transform 1s cubic-bezier(.23,1,.32,1); }
    .hero-visual:hover img { transform:scale(1.04); }
    .hero-visual:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(20,18,15,.62)); pointer-events:none; }
    .hero-visual span { position:absolute; right:1.2rem; bottom:1.2rem; z-index:1; max-width:18rem; padding:.45rem .8rem; background:rgba(20,18,15,.82); backdrop-filter:blur(8px); border:1px solid rgba(242,237,228,.18); border-radius:999px; font-size:.54rem; font-weight:700; letter-spacing:.14em; line-height:1.3; text-align:right; text-transform:uppercase; color:var(--light); }

    /* ===== SECTIONS & COMPOSANTS (alignés sur .iv-services, .iv-about, .iv-faq) ===== */
    .section { padding:clamp(5.5rem,8.5vw,8rem) 0; border-bottom:1px solid var(--line); }
    .section-top { display:flex; justify-content:space-between; align-items:center; gap:2rem; border-bottom:1px solid var(--line); padding-bottom:1.2rem; margin-bottom:3.5rem; }
    .section-top .eyebrow { margin:0; color:var(--quiet); font-size:.6rem; letter-spacing:.15em; }
    .section-top span { color:var(--quiet); font-size:.6rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
    .intro-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,6vw,7rem); align-items:start; }
    .intro-grid h2, .section-heading h2 { font-size:clamp(2.4rem,4.8vw,5.4rem); line-height:.98; letter-spacing:-.02em; font-weight:400; text-transform:uppercase; margin-bottom:0; }
    .intro-grid p { font-size:.98rem; color:var(--quiet); }
    .intro-grid p strong { color:var(--ink); font-weight:600; }
    .inline-list { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
    .inline-list li { display:flex; align-items:center; gap:1rem; border-bottom:1px solid var(--line); padding:1rem 0; font-size:.82rem; font-weight:500; text-transform:uppercase; letter-spacing:.04em; }
    .inline-list b { font-size:.65rem; color:var(--quiet); letter-spacing:.14em; }
    .services { background:var(--surface); }
    .section-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:end; margin-bottom:3.5rem; }
    .section-heading p { color:var(--quiet); max-width:29rem; margin:0; font-size:.95rem; justify-self:end; }
    .service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
    .service-grid article { min-height:18rem; padding:2rem; border:1px solid var(--line); background:rgba(20,18,15,.025); display:flex; flex-direction:column; transition:border-color .3s ease, transform .35s cubic-bezier(.23,1,.32,1), background .3s ease; }
    .service-grid article:hover { border-color:var(--ink); transform:translateY(-.25rem); background:var(--surface); }
    .service-grid .number { font-size:.66rem; font-weight:700; letter-spacing:.14em; color:var(--quiet); text-transform:uppercase; }
    .service-grid h3 { margin:2rem 0 .8rem; font-size:clamp(1.5rem,2.4vw,2.6rem); line-height:.98; font-weight:400; text-transform:uppercase; }
    .service-grid p { max-width:35rem; margin-bottom:0; color:var(--quiet); font-size:.88rem; }
    .service-grid ul { margin:1.4rem 0 0; padding-left:1.1rem; color:var(--quiet); font-size:.82rem; line-height:1.8; }
    .method { background:var(--ink); color:var(--light); }
    .method .section-top { border-color:rgba(242,237,228,.16); }
    .method .section-top .eyebrow, .method .section-top span, .method .section-heading p { color:#bfb6a7; }
    .steps { display:grid; grid-template-columns:repeat(4,1fr); margin-top:2rem; border-top:1px solid rgba(242,237,228,.18); }
    .steps article { padding:2.2rem 1.6rem 2rem; border-right:1px solid rgba(242,237,228,.16); transition:background .35s ease, transform .35s cubic-bezier(.23,1,.32,1); }
    .steps article:first-child { padding-left:0; }
    .steps article:last-child { border-right:0; padding-right:0; }
    .steps article:hover { transform:translateY(-3px); }
    .steps .number { font-size:.64rem; font-weight:700; letter-spacing:.16em; color:#a69b8b; text-transform:uppercase; }
    .steps h3 { font-size:clamp(1.45rem,2.1vw,2.2rem); line-height:1.02; margin:1.4rem 0 .8rem; text-transform:uppercase; }
    .steps p { color:rgba(242,237,228,.68); font-size:.85rem; margin:0; }
    .method-note { border-top:1px solid rgba(242,237,228,.16); margin:3rem 0 0; padding-top:1.2rem; color:#bfb6a7; font-size:.8rem; }
    .project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
    .project { position:relative; background:var(--surface); border:1px solid var(--line); border-radius:.65rem; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; min-width:0; transition:border-color .3s ease, transform .35s cubic-bezier(.23,1,.32,1), box-shadow .35s ease; }
    .project::before { content:'• • •'; display:flex; align-items:center; height:1.6rem; padding:0 .75rem; background:#181613; color:rgba(242,237,228,.55); font-size:.65rem; letter-spacing:.2em; border-bottom:1px solid var(--line); }
    .project:hover { border-color:var(--ink); transform:translateY(-.3rem); box-shadow:0 .8rem 2rem rgba(20,18,15,.08); }
    .project img { width:100%; aspect-ratio:16/10; object-fit:contain; background:#e8e3da; border-bottom:1px solid var(--line); }
    .project div { padding:1.4rem; display:flex; flex-direction:column; flex:1; }
    .project small { font-size:.58rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--quiet); }
    .project h3 { margin:.55rem 0; font-size:1.65rem; text-transform:uppercase; }
    .project p { font-size:.86rem; color:var(--quiet); margin-bottom:1.2rem; }
    .project span { margin-top:auto; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    .fineprint { font-size:.8rem; color:var(--quiet); margin:1.4rem 0 0; }
    .faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,7vw,7rem); }
    .faq-grid h2 { font-size:clamp(2.3rem,4.5vw,5.2rem); line-height:.98; margin-bottom:1.2rem; text-transform:uppercase; }
    .faq-grid > div > p { color:var(--quiet); }
    details { border-top:1px solid var(--line); }
    details:last-child { border-bottom:1px solid var(--line); }
    summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.45rem .1rem; font-size:.95rem; font-weight:500; cursor:pointer; list-style:none; }
    summary::-webkit-details-marker { display:none; }
    summary:after { content:'+'; font-size:1.35rem; font-weight:300; flex-shrink:0; }
    details[open] summary:after { content:'−'; }
    details p { color:var(--quiet); max-width:44rem; padding:0 1rem 1.4rem 0; margin:0; font-size:.88rem; line-height:1.65; }
    .contact-panel { display:grid; grid-template-columns:1fr auto; gap:2.5rem; align-items:end; padding:clamp(2.8rem,5.5vw,5.5rem); background:var(--ink); color:var(--light); border-radius:.7rem; }
    .contact-panel .eyebrow { color:#a69b8b; margin-bottom:1.2rem; }
    .contact-panel h2 { font-size:clamp(2.4rem,4.8vw,5.2rem); line-height:.98; max-width:14ch; margin-bottom:1.1rem; text-transform:uppercase; }
    .contact-panel p { margin:0; color:#cfc7bb; max-width:33rem; }
    .contact-panel .actions { display:flex; flex-direction:column; gap:.75rem; min-width:15.5rem; }

    /* ===== FOOTER SOMBRE SIGNATURE (identique à .site-footer de la landing page) ===== */
    .footer {
      background:var(--ink);
      color:var(--light);
      border-top:1px solid rgba(242,237,228,.14);
      padding:4rem 0 2rem;
    }
    .footer .muted { color:rgba(242,237,228,.55); }
    .footer-grid {
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:2.5rem;
      flex-wrap:wrap;
      border-bottom:1px solid rgba(242,237,228,.14);
      padding-bottom:2.8rem;
    }
    .footer-brand { max-width:22rem; }
    .footer-logo { height:1.4rem; width:auto; margin:.25rem 0 1.4rem; }
    .footer-grid > p,
    .footer-brand p { max-width:20rem; margin:0; font-size:.85rem; color:rgba(242,237,228,.62); line-height:1.55; }
    .footer-links { display:flex; flex-wrap:wrap; gap:.8rem 1.8rem; align-items:center; }
    .footer-links a {
      color:rgba(242,237,228,.88);
      font-size:.78rem;
      font-weight:600;
      text-decoration:none;
      text-underline-offset:.28em;
      transition:color .2s ease;
    }
    .footer-links a:hover { color:#fff; text-decoration:underline; }
    .footer-base {
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:1rem;
      padding-top:1.8rem;
      font-size:.66rem;
      color:rgba(242,237,228,.55);
    }

    /* ===== BOUTONS FLOTTANTS (retour en haut, WhatsApp) ===== */
    .iv-floating-top {
      position:fixed;
      bottom:1.5rem;
      left:1.5rem;
      z-index:85;
      width:2.75rem;
      height:2.75rem;
      border-radius:999px;
      border:1px solid rgba(20,18,15,.18);
      background:rgba(251,248,242,.92);
      color:var(--ink);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      box-shadow:0 10px 25px rgba(20,18,15,.12);
      backdrop-filter:blur(10px);
      opacity:0;
      pointer-events:none;
      transform:translateY(10px);
      transition:opacity .25s ease, transform .25s ease, background .25s ease;
    }
    .iv-floating-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
    .iv-floating-top:hover { background:var(--ink); color:var(--light); }
    .iv-floating-wa {
      position:fixed;
      bottom:1.5rem;
      right:1.5rem;
      z-index:85;
      display:inline-flex;
      align-items:center;
      gap:.55rem;
      padding:.75rem 1.1rem;
      border-radius:999px;
      background:#14120f;
      color:#f2ede4;
      border:1px solid rgba(242,237,228,.2);
      font-size:.64rem;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      text-decoration:none;
      box-shadow:0 12px 28px rgba(20,18,15,.22);
      transition:transform .25s ease;
    }
    .iv-floating-wa:hover { transform:translateY(-2px); }
    .iv-floating-wa i { width:.45rem; height:.45rem; border-radius:50%; background:#25D366; display:inline-block; }

    /* Guide de décision */
    .guide .hero h1 { max-width:17ch; font-size:clamp(3rem,4.8vw,5.4rem); }
    .comparison-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:.55rem; background:var(--paper); }
    .comparison-scroll:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
    .comparison { width:100%; min-width:50rem; border-collapse:collapse; text-align:left; }
    .comparison caption { text-align:left; padding:1rem 1.3rem; color:var(--quiet); font-size:.75rem; }
    .comparison th, .comparison td { padding:1.4rem 1.3rem; border-top:1px solid var(--line); border-right:1px solid var(--line); vertical-align:top; font-size:.91rem; line-height:1.55; }
    .comparison tr > :last-child { border-right:0; }
    .comparison thead th { background:var(--ink); color:var(--light); font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; }
    .comparison tbody th { min-width:10rem; font-weight:700; }
    .comparison tbody td { color:var(--quiet); }

    /* Liens éditoriaux et exemples pratiques des pages d'expertise. */
    .text-link { text-decoration-thickness:1px; text-underline-offset:.18em; }
    .topic-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
    .topic-grid a { display:flex; flex-direction:column; gap:1rem; min-height:14rem; padding:1.8rem; border:1px solid var(--line); background:rgba(20,18,15,.025); text-decoration:none; transition:background .25s ease, border-color .25s ease, transform .3s cubic-bezier(.23,1,.32,1); }
    .topic-grid a:hover { background:var(--surface); border-color:var(--ink); transform:translateY(-3px); }
    .topic-grid b { font-family:'Bodoni Moda','Cairo','IBM Plex Sans Arabic',Georgia,serif; font-size:clamp(1.45rem,2.1vw,2.2rem); font-weight:400; letter-spacing:-.02em; line-height:1.05; text-transform:uppercase; }
    .topic-grid span { color:var(--quiet); font-size:.85rem; line-height:1.5; }
    .topic-grid small { margin-top:auto; font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    .example { background:var(--surface); border:1px solid var(--line); padding:clamp(1.6rem,4vw,3rem); }
    .example h3 { font-size:clamp(1.6rem,2.6vw,2.6rem); line-height:1.05; text-transform:uppercase; }
    .example p, .example li { color:var(--quiet); }
    .example ol, .example ul { line-height:1.7; padding-left:1.4rem; }
    .example li { margin-bottom:.8rem; }
    .example strong { color:var(--ink); }
    .example-note { border-top:1px solid var(--line); padding-top:1.2rem; margin:1.8rem 0 0; font-size:.85rem; }
    .split-content { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,6rem); align-items:start; }
    .split-content h3 { font-size:clamp(1.6rem,2.5vw,2.4rem); text-transform:uppercase; }
    .split-content p, .split-content li { color:var(--quiet); }
    .split-content ul { line-height:1.7; padding-left:1.3rem; }
    .split-content li { margin-bottom:.7rem; }
    .related-note { max-width:50rem; margin:2rem 0 0; color:var(--quiet); }

    /* Offre web : montrer une interface réelle dans un cadre éditorial. */
    .web-landing .hero-visual { display:flex; align-items:center; padding:clamp(1.2rem,2.5vw,2.2rem); background:#1e1b17; }
    .web-landing .hero-visual img { width:100%; height:auto; min-height:0; aspect-ratio:16/10; object-fit:cover; object-position:left center; border:1px solid rgba(242,237,228,.22); border-radius:.35rem; box-shadow:0 1.8rem 4rem rgba(0,0,0,.35); filter:none; }
    .web-landing .hero-visual:after { display:none; }
    .web-landing .hero-visual span { right:clamp(1.5rem,3vw,3rem); bottom:1rem; color:var(--light); }
    .web-landing .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .web-landing .project img { aspect-ratio:16/10; }

    /* ===== POLICE ARABE MULTI-FONTS & MENU DÉROULANT ===== */
    .iv-nav > a, .iv-nav-trigger {
      color:var(--iv-muted);
      font-family:inherit;
      font-size:.58rem;
      font-weight:600;
      letter-spacing:.1em;
      text-decoration:none;
      text-transform:uppercase;
      white-space:nowrap;
      transition:color .25s ease;
      background:transparent;
      border:0;
      padding:.4rem .15rem;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:.28rem;
    }
    .iv-nav > a:hover, .iv-nav-trigger:hover, .iv-nav-item.is-open .iv-nav-trigger { color:var(--iv-white); }
    .iv-caret { font-style:normal; font-size:.72rem; line-height:1; display:inline-block; transition:transform .25s ease; transform:translateY(-.08rem); }
    .iv-nav-item.is-open .iv-caret { transform:translateY(.05rem) rotate(180deg); color:#a69b8b; }
    .iv-nav-item.has-dropdown { position:relative; display:inline-flex; align-items:center; }
    .iv-dropdown {
      position:absolute;
      top:calc(100% + .85rem);
      left:50%;
      transform:translateX(-50%) translateY(8px);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      z-index:140;
      background:#fbf8f2;
      color:#14120f;
      border:1px solid rgba(20,18,15,.16);
      border-radius:1.15rem;
      box-shadow:0 24px 60px rgba(10,9,8,.24);
      padding:1.35rem;
      transition:opacity .22s ease, transform .22s cubic-bezier(.23,1,.32,1), visibility .22s ease;
    }
    .iv-nav-item.is-open .iv-dropdown, .iv-nav-item.has-dropdown:hover .iv-dropdown {
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateX(-50%) translateY(0);
    }
    .iv-dropdown::before { content:''; position:absolute; top:-1rem; left:0; right:0; height:1rem; }
    .iv-dropdown-mega { width:min(86vw, 58rem); left:50%; transform:translateX(-52%) translateY(8px); }
    .iv-nav-item.is-open .iv-dropdown-mega, .iv-nav-item.has-dropdown:hover .iv-dropdown-mega { transform:translateX(-52%) translateY(0); }
    .iv-dropdown-list { width:min(86vw, 23rem); }
    .iv-mega-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem; }
    .iv-mega-col { display:flex; flex-direction:column; padding-right:.8rem; border-right:1px solid rgba(20,18,15,.1); }
    .iv-mega-col:last-child { padding-right:0; border-right:0; }
    .iv-mega-heading { display:block; padding-bottom:.6rem; margin-bottom:.65rem; border-bottom:1px solid rgba(20,18,15,.1); color:#6f6559; font-size:.54rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
    .iv-mega-list { display:flex; flex-direction:column; gap:.35rem; }
    .iv-dropdown-link {
      display:block !important;
      padding:.5rem .65rem !important;
      border-radius:.6rem;
      border:1px solid transparent;
      text-decoration:none !important;
      color:#14120f !important;
      text-transform:none !important;
      letter-spacing:0 !important;
      white-space:normal !important;
      transition:background .2s ease, border-color .2s ease, transform .2s ease;
    }
    .iv-dropdown-link:hover { background:#f2ede4; border-color:rgba(20,18,15,.14); transform:translateY(-1px); }
    .iv-dropdown-link-top { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.12rem; }
    .iv-dropdown-link-top strong { color:#14120f; font-family:'Jost','Readex Pro',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:0; line-height:1.25; }
    .iv-dropdown-link-top em { font-style:normal; padding:.14rem .42rem; border-radius:999px; background:rgba(20,18,15,.07); color:#55504a; font-size:.44rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; flex-shrink:0; }
    .iv-dropdown-link > span { display:block; color:rgba(20,18,15,.62); font-size:.68rem; font-weight:400; line-height:1.35; }
    .iv-dropdown-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:.85rem; border-top:1px solid rgba(20,18,15,.12); font-size:.7rem; color:rgba(20,18,15,.65); }
    .iv-dropdown-footer a { color:#14120f !important; font-size:.62rem !important; font-weight:700 !important; letter-spacing:.1em !important; text-transform:uppercase !important; text-decoration:underline !important; text-underline-offset:.25em; }

    /* ===== HIÉRARCHIE MULTI-POLICES ARABE (Display Kufi + Accent Amiri Serif + UI Readex Pro + Corps Tajawal) ===== */
    html[lang^="ar"] body,
    [dir="rtl"] body,
    html[lang^="ar"] p,
    [dir="rtl"] p,
    html[lang^="ar"] li,
    [dir="rtl"] li,
    :lang(ar) {
      font-family:'Tajawal','IBM Plex Sans Arabic','Jost',sans-serif;
    }
    html[lang^="ar"] h1,
    html[lang^="ar"] h2,
    html[lang^="ar"] .topic-grid b,
    [dir="rtl"] h1,
    [dir="rtl"] h2,
    [dir="rtl"] .topic-grid b {
      font-family:'Noto Kufi Arabic','Cairo',sans-serif;
      font-weight:700;
      letter-spacing:0 !important;
      line-height:1.24;
      text-transform:none;
    }
    html[lang^="ar"] h1 em,
    html[lang^="ar"] h2 em,
    html[lang^="ar"] .pf-awaiting-mark strong,
    [dir="rtl"] h1 em,
    [dir="rtl"] h2 em,
    [dir="rtl"] .pf-awaiting-mark strong {
      font-family:'Amiri','Noto Kufi Arabic',serif;
      font-weight:700;
      font-style:italic;
      line-height:1.18;
    }
    html[lang^="ar"] h3,
    html[lang^="ar"] h4,
    html[lang^="ar"] summary,
    html[lang^="ar"] .page-header,
    html[lang^="ar"] .iv-header,
    html[lang^="ar"] .eyebrow,
    html[lang^="ar"] .btn,
    html[lang^="ar"] .crumb,
    html[lang^="ar"] .iv-dropdown-link-top strong,
    [dir="rtl"] h3,
    [dir="rtl"] h4,
    [dir="rtl"] summary,
    [dir="rtl"] .page-header,
    [dir="rtl"] .iv-header,
    [dir="rtl"] .eyebrow,
    [dir="rtl"] .btn,
    [dir="rtl"] .crumb,
    [dir="rtl"] .iv-dropdown-link-top strong {
      font-family:'Readex Pro','Cairo',sans-serif;
      letter-spacing:0 !important;
    }
    html[lang^="ar"],
    html[lang^="ar"] *,
    [dir="rtl"],
    [dir="rtl"] *,
    :lang(ar),
    :lang(ar) * {
      letter-spacing:0 !important;
    }
    [dir="rtl"] .iv-mega-col { padding-right:0; padding-left:.8rem; border-right:0; border-left:1px solid rgba(20,18,15,.1); }
    [dir="rtl"] .iv-mega-col:last-child { padding-left:0; border-left:0; }
    [dir="rtl"] .iv-dropdown-link { text-align:right; }
    [dir="rtl"] .header-nav,
    [dir="rtl"] .iv-nav { margin-left:0; margin-right:auto; }
    [dir="rtl"] .iv-header-actions { margin-left:0; margin-right:.4rem; }
    [dir="rtl"] .crumb-anchors { margin-left:0; margin-right:auto; }
    [dir="rtl"] .hero-visual span { right:auto; left:1.2rem; text-align:left; }
    [dir="rtl"] .section-heading p { justify-self:start; }
    [dir="rtl"] .steps article { border-right:0; border-left:1px solid rgba(242,237,228,.16); }
    [dir="rtl"] .steps article:first-child { padding-left:1.6rem; padding-right:0; }
    [dir="rtl"] .steps article:last-child { border-left:0; padding-left:0; }
    [dir="rtl"] .service-grid ul,
    [dir="rtl"] .example ol,
    [dir="rtl"] .example ul,
    [dir="rtl"] .split-content ul { padding-left:0; padding-right:1.3rem; }
    [dir="rtl"] details p { padding:0 0 1.4rem 1rem; }
    [dir="rtl"] .comparison { text-align:right; }
    [dir="rtl"] .comparison caption { text-align:right; }
    [dir="rtl"] .comparison th,
    [dir="rtl"] .comparison td { border-right:0; border-left:1px solid var(--line); }
    [dir="rtl"] .comparison tr > :last-child { border-left:0; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1120px) {
      .header-nav, .iv-nav { display:none; }
      .iv-menu-button { display:block; flex:0 0 auto; }
      .iv-header-actions { margin-left:auto; }
      [dir="rtl"] .iv-header-actions { margin-left:0; margin-right:auto; }
    }
    @media (max-width: 768px) {
      .header-cta, .iv-header-cta { display:none !important; }
    }
    @media (max-width: 960px) {
      .hero-grid { grid-template-columns:1fr; min-height:auto; padding:2.5rem 0 3.5rem; }
      .hero h1 { max-width:17ch; }
      .hero-visual { max-height:25rem; }
      .hero-visual img { min-height:22rem; }
      .web-landing .hero-visual { max-height:none; }
      .intro-grid, .section-heading, .faq-grid { grid-template-columns:1fr; gap:1.5rem; }
      .section-heading p { justify-self:start; }
      .steps { grid-template-columns:repeat(2,1fr); }
      .steps article { padding:1.6rem 1rem; }
      .contact-panel { grid-template-columns:1fr; }
      .topic-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width: 650px) {
      .wrap { width:calc(100% - 2.3rem); }
      .page-header, .iv-header { top:.65rem; left:.75rem; right:.75rem; }
      .header-inner, .iv-header-inner { height:3.7rem; min-height:3.7rem; padding:0 .45rem 0 .6rem; gap:.35rem; }
      .brand img, .iv-logo img { width:4.5rem; }
      .iv-lang-btn { padding:.38rem .56rem; font-size:.54rem; }
      .iv-menu-button { width:2.45rem; height:2.45rem; }
      .iv-mobile-menu { top:4.8rem; left:.75rem; right:.75rem; max-height:calc(100svh - 5.6rem); padding:.95rem 1rem 1.1rem; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
      .crumb, nav.wrap.crumb { padding:5.3rem 1.15rem 0 !important; font-size:.56rem; gap:.4rem .55rem; }
      .crumb-anchors { display:none; }
      .hero-grid { padding:1.6rem 0 2.8rem; gap:1.6rem; }
      .hero h1, .guide .hero h1, .web-landing .hero h1 { font-size:clamp(2.4rem,10.5vw,3.9rem); line-height:.98; max-width:100%; }
      .hero-actions { flex-direction:column; align-items:stretch; margin-top:1.6rem; }
      .hero-actions .btn { width:100%; justify-content:space-between; }
      .section { padding:3.8rem 0; }
      .section-top { margin-bottom:1.8rem; padding:1rem 0; }
      .service-grid, .project-grid, .web-landing .project-grid, .topic-grid, .split-content { grid-template-columns:1fr; gap:.85rem; }
      .service-grid article { min-height:0; padding:1.35rem; }
      .service-grid h3 { margin:1.25rem 0 .6rem; }
      .topic-grid a { min-height:0; padding:1.25rem; }
      .project img { aspect-ratio:16/10; }
      .steps { grid-template-columns:1fr; gap:0; }
      .steps article, [dir="rtl"] .steps article { border-right:0; border-left:0; border-bottom:1px solid rgba(242,237,228,.16); padding:1.4rem 0 !important; }
      .steps h3 { margin:.85rem 0 .45rem; }
      .contact-panel { padding:1.5rem; gap:1.5rem; }
      .contact-panel .actions { min-width:0; width:100%; }
      .contact-panel .actions .btn { width:100%; }
      .iv-floating-wa { right:.75rem; bottom:.75rem; padding:.6rem .9rem; font-size:.58rem; }
      .footer-links { gap:.85rem 1.1rem; }
      .footer-base { flex-direction:column; align-items:flex-start; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior:auto; }
      .btn, .service-grid article, .project, .topic-grid a, .steps article, .hero-visual img { transition:none; }
    }
