/* REM — styles propres à la page expertises.html (chargés après main.css) */
@media (prefers-reduced-motion:reduce){
    .intro-sigle{ display:none; }
    .intro-rem{ opacity:1; clip-path:none; }
    body.loaded #intro{ opacity:0; transition:opacity .5s; }
  }
@media (prefers-reduced-motion:reduce){
    header .logo, nav li, .bounce-ball-wrap{ opacity:1; translate:none; }
  }
.hero h1 .line{ display:block; overflow:hidden; padding-bottom:.3em; margin-bottom:-.3em; }
.bounce-ball-wrap{
    position:absolute; right:clamp(1.4rem,4vw,3.4rem); bottom:clamp(2.2rem,5vw,3.4rem);
    display:flex; flex-direction:column; align-items:center; gap:.6rem; z-index:3;
  }
.bounce-ball{
    width:22px; height:22px; border-radius:50%; background:var(--blue-2);
    animation:ballBounce 1.1s cubic-bezier(.5,0,1,.5) infinite alternate;
  }
.bounce-shadow{
    width:22px; height:5px; border-radius:50%; background:var(--blue-2); opacity:.25;
    animation:shadowSquash 1.1s cubic-bezier(.5,0,1,.5) infinite alternate;
  }
@keyframes ballBounce{ from{ transform:translateY(0); } to{ transform:translateY(-46px); } }
@keyframes shadowSquash{ from{ transform:scale(1); opacity:.25; } to{ transform:scale(.5); opacity:.08; } }
/* chaque logo a la même surface visuelle, quel que soit son format */
.client-logo img{ display:block; object-fit:contain; opacity:.9; }
h2 .word{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.3em; margin-bottom:-.3em; }
.pillars{ position:relative; display:flex; flex-direction:column; gap:clamp(2rem,6vh,4rem); padding-bottom:4vh; }
.pillar{
    --top:calc(88px + var(--i) * 14px);
    position:sticky; top:var(--top);
    height:calc(100svh - var(--top) - 24px); min-height:460px;
    border-radius:clamp(22px,3vw,44px); overflow:hidden;
    background:var(--bg); color:var(--fg);
    box-shadow:0 -18px 50px rgba(11,15,20,.14);
    transform-origin:center top; will-change:transform;
  }
.pillar-inner{
    height:100%; display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(1.6rem,4vw,4rem);
    padding:clamp(1.8rem,4vw,3.6rem);
  }
.pillar-copy{ display:flex; flex-direction:column; justify-content:center; gap:1.3rem; }
.inline-logo{ display:inline-block; height:.78em; width:auto; vertical-align:baseline; margin:0 .08em; transform:translateY(.02em); }
.pillar-tag{
    align-self:flex-start; font-size:.82rem; font-weight:700; padding:.55rem 1.1rem;
    border:1px solid currentColor; border-radius:100px; opacity:.85; color:inherit;
    display:inline-flex; align-items:center; gap:.45rem;
    transition:background .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease);
  }
.pillar-tag:hover{ background:var(--fg); color:var(--bg); opacity:1; }
.pillar-tag .arr{ transition:transform .3s var(--ease); }
.pillar-tag:hover .arr{ transform:translate(2px,-2px); }
.pillar h3{
    font-family:var(--font); font-weight:800; letter-spacing:-.02em; line-height:.95;
    font-size:clamp(2.4rem,5.6vw,5.2rem);
  }
.pillar-copy p{ font-size:clamp(1rem,1.3vw,1.12rem); line-height:1.6; max-width:430px; opacity:.86; }
.pillar-visual{ position:relative; display:flex; flex-direction:column; justify-content:center; }
.pillar-visual ul{ list-style:none; }
.pillar-visual li{
    font-weight:700; font-size:clamp(1.3rem,2.7vw,2.4rem); letter-spacing:-.015em; line-height:1.15;
    padding:.4rem 0;
    opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease), transform .6s var(--ease);
  }
.pillar.on .pillar-visual li{ opacity:1; transform:none; }
.pillar.on .pillar-visual li:nth-child(2){ transition-delay:.08s; }
.pillar.on .pillar-visual li:nth-child(3){ transition-delay:.16s; }
.pillar.on .pillar-visual li:nth-child(4){ transition-delay:.24s; }
.pillar.on .pillar-visual li:nth-child(5){ transition-delay:.32s; }
.pillar.on .pillar-visual li:nth-child(6){ transition-delay:.40s; }
.pillar.on .pillar-visual li:nth-child(7){ transition-delay:.48s; }
@media (max-width:860px){
    .pillar{ --top:calc(76px + var(--i) * 10px); min-height:0; height:auto; }
    .pillar-inner{ grid-template-columns:1fr; }
  }
@media (prefers-reduced-motion:reduce){
    .pillar{ transform:none !important; }
    .pillar-visual li{ opacity:1; transform:none; transition:none; }
  }
@media (max-width:860px){ .two-col{ grid-template-columns:1fr; gap:2.6rem; } }
/* ---------- process / scrollytelling ---------- */
#approche{ display:block; }
#approche .section-head{ position:sticky; top:110px; margin-bottom:0; align-self:start; }
#approche{ align-items:center; }
@media (prefers-reduced-motion:reduce){ .wcard, .wcard-inner, .wcard-v{ transition:none; } }
@media (max-width:900px){
    #approche{ display:block; }
    #approche .section-head{ position:static; margin-bottom:3rem; }
  }
.xp-list li{ padding:1.1rem 0; }
.xp-list li:first-child{ padding-top:0; }
@media (max-width:860px){ .xp-grid{ grid-template-columns:1fr; } .xp-copy{ position:static; } }
.benefit{ border-top:1px solid var(--line); padding-top:1.6rem; }
@media (max-width:860px){ .benefits{ grid-template-columns:1fr; } }
@media (max-width:860px){ .contact-grid, .contact-form{ grid-template-columns:1fr; } }
/* ---------- sommaire des expertises ---------- */
.xp-index-sec{ padding-top:0; }
.xp-index{ list-style:none; max-width:1340px; margin:0 auto; }
.xp-index a{
    display:flex; align-items:baseline; gap:1.2rem; flex-wrap:wrap; padding:.2rem 0;
    font-weight:800; letter-spacing:-.02em; line-height:1.05; font-size:clamp(2.1rem,5.6vw,4.8rem);
    color:var(--grey-l); transition:color .35s var(--ease), transform .45s var(--ease);
  }
.xp-index a small{ font-size:clamp(.9rem,1.1vw,1rem); font-weight:400; letter-spacing:0; color:var(--text-dim); transition:color .35s var(--ease); }
.xp-index a:hover{ color:var(--blue-2); transform:translateX(10px); }
.xp-index a:hover small{ color:var(--grey-l); }
.xp-index a:focus-visible{ outline:2px solid var(--blue-2); outline-offset:6px; border-radius:6px; }
@media (max-width:700px){ .xp-index a small{ display:none; } .xp-index li + li{ margin-top:.5rem; } }
@media (prefers-reduced-motion:reduce){ .xp-index a{ transition:none; } .xp-index a:hover{ transform:none; } }
/* ---------- liens entre expertises ---------- */
.xp-links{ margin-top:1.8rem; }
.xp-links p{ font-size:.95rem !important; opacity:.75 !important; margin-bottom:.7rem; }
.xp-links ul{ list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; }
.xp-links a{
    display:inline-block; font-size:.9rem; font-weight:700; padding:.5rem 1rem; border-radius:100px;
    border:1px solid currentColor; opacity:.85; transition:background .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease);
  }
.xp-links a:hover{ background:var(--fg); color:var(--bg); opacity:1; }
/* ---------- expertises détaillées : fond clair, cartes de prestations ---------- */
.xp2-sec{ background:var(--grey-l); color:var(--grey-d); }
.xp2{
    display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,6vw,6rem); align-items:start;
    max-width:1340px; margin:0 auto; scroll-margin-top:90px;
  }
.xp2 + .xp2{ margin-top:clamp(5rem,10vw,8rem); }
.xp2-copy{ position:sticky; top:120px; }
.xp2-copy h2{ margin-bottom:1.3rem; color:var(--blue); }
.xp2-copy > p{ font-size:clamp(1.02rem,1.3vw,1.15rem); line-height:1.65; color:#2b323b; max-width:460px; }
.xp2-copy .btn{ margin-top:2rem; background:#fff; color:var(--grey-d); box-shadow:0 0 0 1px #d6dde6; }
.xp2-copy .btn .fill{ background:var(--blue); }
.xp2-sec .xp-links p{ color:#4b545e; opacity:1 !important; }
.xp2-sec .xp-links a{ color:var(--grey-d); --fg:var(--grey-d); --bg:var(--grey-l); }
.xp2-sec .xp-links a:hover{ background:var(--grey-d); color:#fff; opacity:1; }
.xp2:nth-of-type(3n/**/+2) .xp2-copy h2{ color:var(--blue-2); }
.xp2:nth-of-type(3n) .xp2-copy h2{ color:var(--grey-d); }
.xp2-list{ list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2.2rem clamp(1.6rem,3vw,2.8rem); padding-top:.6rem; }
.xp2-list strong{ display:block; font-weight:800; font-size:clamp(1.2rem,1.8vw,1.55rem); letter-spacing:-.015em; line-height:1.15; }
.xp2-list span{ display:block; margin-top:.55rem; color:#4b545e; font-size:clamp(.98rem,1.15vw,1.06rem); line-height:1.6; max-width:34ch; }
.xp2-example{ margin-top:clamp(2.6rem,5vw,3.6rem); max-width:540px; }
.xp2-example b{ display:block; font-size:.82rem; font-weight:400; color:#6b7480; margin:0 1.1rem .4rem; }
.xp2-example p{
    background:var(--blue); color:#fff; border-radius:24px; border-bottom-left-radius:6px; padding:1.1rem 1.35rem;
    font-size:clamp(1.02rem,1.3vw,1.12rem); line-height:1.5; font-weight:400;
  }
@media (max-width:860px){
    .xp2{ grid-template-columns:1fr; }
    .xp2-copy{ position:static; }
    .xp2-list{ grid-template-columns:1fr; gap:1.6rem; }
  }
body.sub .xp2{ scroll-margin-top:40px; }
/* FAQ */
.faq-sec{ background:var(--grey-l); color:var(--grey-d); }
.faq{ max-width:900px; border-top:1px solid rgba(22,27,34,.14); }
.faq-item{ border-bottom:1px solid rgba(22,27,34,.14); }
.faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.4rem 0; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary h3{ margin:0; font-size:clamp(1.05rem,1.6vw,1.3rem); font-weight:700; line-height:1.35; }
.faq-item summary:hover h3{ color:#0066FF; }
.faq-plus{ position:relative; flex:0 0 22px; height:22px; }
.faq-plus::before,.faq-plus::after{ content:""; position:absolute; left:0; right:0; top:50%; height:2px; margin-top:-1px; background:#0066FF; transition:transform .3s ease; }
.faq-plus::after{ transform:rotate(90deg); }
.faq-item[open] .faq-plus::after{ transform:rotate(0deg); }
.faq-item p{ margin:0 0 1.5rem; max-width:720px; line-height:1.65; color:#4b545e; }
