/* =========================================================
   AGENCE MARKETING DIGITAL — concept "CENTRE DE PILOTAGE"
   Dashboard : courbe de croissance qui se trace, KPIs,
   entonnoir, boucle d'optimisation continue rotative.
   Double thème clair/sombre.
   v2 : sections éditoriales retravaillées + emplacements d'images.
   ========================================================= */
#sd{
  --bg:#F6F5F1; --bg2:#FFFFFF; --ink:#0B0B0A; --soft:rgba(11,11,10,.75); --dim:#6E6E73;
  --line:rgba(11,11,10,.12);   --acc:#FF8A3D; --acc2:#F57323; --ok:#2FA36B;
  --serif:"Schibsted Grotesk",system-ui,-apple-system,Segoe UI,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --radius:18px;
  position:relative; background:var(--bg); color:var(--ink); font-family:var(--serif);
  overflow-x:clip; -webkit-font-smoothing:antialiased;
}
#intro,#cur-dot,#cur-ring{display:none!important}
body.locked{overflow:auto!important;height:auto!important}
[data-theme="dark"] #sd{
  --bg:#0B0A09; --bg2:#141312; --ink:#F4F1EB; --soft:rgba(244,241,235,.82); --dim:#98938A;
  --line:rgba(244,241,235,.14); --ok:#3BE07E;
}
#sd *{ box-sizing:border-box; }
#sd a{ color:inherit; text-decoration:none; }
#sd img{ max-width:100%; }
#sd ::selection{ background:var(--acc); color:#0B0B0A; }
.sd-wrap{ width:min(1240px,calc(100% - 40px)); margin:0 auto; }

#sdProg{ position:fixed; top:0; left:0; height:2px; width:100%; z-index:95; transform:scaleX(0); transform-origin:0 50%;
  background:linear-gradient(90deg,var(--acc),var(--acc2)); }

#sd.is-ready [data-r]{ opacity:0; transform:translateY(26px); }
#sd.is-ready [data-r].in{ opacity:1; transform:none; transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1); transition-delay:var(--d,0s); }

.sd-eyebrow{ font-family:var(--mono); font-size:.68rem; letter-spacing:.26em; text-transform:uppercase; color:var(--dim); }
.sd-eyebrow b{ color:var(--acc); }
.sd-hl{ background:linear-gradient(rgba(255,138,61,.3),rgba(255,138,61,.3)) no-repeat; background-size:0% 100%; background-position:0 62%; padding:0 .05em; }
#sd .sd-hl.lit{ background-size:100% 100%; transition:background-size .9s cubic-bezier(.5,0,.1,1) var(--hd,0s); }

.sd-btn{ display:inline-flex; align-items:center; gap:.7rem; height:50px; padding:0 1.4rem; border-radius:10px;
  font-family:var(--mono); font-size:.75rem; font-weight:600; border:1.5px solid var(--ink); transition:.4s cubic-bezier(.19,1,.22,1); will-change:transform; cursor:pointer; }
.sd-btn.fill{ background:var(--acc); border-color:var(--acc); color:#0B0B0A; }
.sd-btn:hover{ background:var(--ink); color:var(--bg); }
.sd-btn.fill:hover{ background:var(--acc2); border-color:var(--acc2); color:#0B0B0A; }

/* ---------------- HERO : DASHBOARD ---------------- */
.sd-hero{ padding:calc(var(--header-h,80px) + 1.6rem) 0 2rem; }
.sd-hero-top{ display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.sd-hero h1{ font-weight:900; letter-spacing:-.045em; line-height:.98; font-size:clamp(1.9rem,4.6vw,3.4rem); max-width:20ch; }
.sd-hero h1 span{ color:var(--acc); }
.sd-lede{ margin-top:.9rem; font-size:clamp(.95rem,1.4vw,1.08rem); line-height:1.6; max-width:58ch; color:var(--soft); }
.sd-cta{ display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1.2rem; }

.sd-board{ margin-top:2rem; border:1px solid var(--line); border-radius:16px; background:var(--bg2); overflow:hidden;
  box-shadow:0 44px 90px -60px rgba(0,0,0,.5); }
.sd-board-bar{ display:flex; align-items:center; gap:.6rem; padding:.7rem 1rem; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.sd-board-bar .live{ display:inline-flex; align-items:center; gap:.4rem; font-family:var(--mono); font-size:.62rem; font-weight:700; letter-spacing:.08em; color:var(--ok); }
.sd-board-bar .live b{ width:8px; height:8px; border-radius:50%; background:var(--ok); animation:sdPulse 1.8s ease-out infinite; }
@keyframes sdPulse{ 0%{ box-shadow:0 0 0 0 rgba(47,163,107,.5); } 70%,100%{ box-shadow:0 0 0 8px rgba(47,163,107,0); } }
.sd-board-bar .ttl{ font-family:var(--mono); font-size:.66rem; color:var(--dim); letter-spacing:.06em; }
.sd-board-bar .rng{ margin-left:auto; display:flex; gap:.3rem; }
.sd-board-bar .rng span{ font-family:var(--mono); font-size:.56rem; padding:.28rem .55rem; border-radius:6px; border:1px solid var(--line); color:var(--dim); }
.sd-board-bar .rng span.on{ background:var(--acc); border-color:var(--acc); color:#0B0B0A; font-weight:700; }

.sd-board-body{ display:grid; grid-template-columns:1.35fr .95fr; gap:0; }
@media(max-width:900px){ .sd-board-body{ grid-template-columns:1fr; } }

/* KPIs */
.sd-kpis{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-bottom:1px solid var(--line); grid-column:1 / -1; }
.sd-kpi{ padding:1rem 1.1rem; border-right:1px solid var(--line); }
.sd-kpi:last-child{ border-right:0; }
.sd-kpi .lb{ font-family:var(--mono); font-size:.56rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.sd-kpi .vl{ font-weight:900; letter-spacing:-.03em; font-size:clamp(1.25rem,2.6vw,1.85rem); margin-top:.25rem; }
.sd-kpi .dl{ font-family:var(--mono); font-size:.6rem; font-weight:700; color:var(--ok); margin-top:.15rem; }
.sd-kpi .dl:before{ content:"▲ "; }
@media(max-width:620px){ .sd-kpis{ grid-template-columns:1fr 1fr; } .sd-kpi:nth-child(2){ border-right:0; } .sd-kpi:nth-child(1),.sd-kpi:nth-child(2){ border-bottom:1px solid var(--line); } }

/* Graphique */
.sd-chart{ padding:1.1rem; position:relative; }
.sd-chart .cap{ font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-bottom:.5rem; }
.sd-svg{ width:100%; height:auto; display:block; }
.sd-svg .grid line{ stroke:var(--line); stroke-width:1; }
.sd-svg .flat{ fill:none; stroke:var(--dim); stroke-width:2; stroke-dasharray:4 4; opacity:.5; }
.sd-svg .area{ fill:url(#sdGrad); opacity:0; transition:opacity 1s .7s; }
.sd-svg .line{ fill:none; stroke:var(--acc); stroke-width:3; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:640; stroke-dashoffset:640; }
.sd-svg .dot{ fill:var(--acc); opacity:0; }
.sd-chart.in .line{ stroke-dashoffset:0; transition:stroke-dashoffset 1.6s cubic-bezier(.5,0,.15,1) .3s; }
.sd-chart.in .area{ opacity:1; }
.sd-chart.in .dot{ opacity:1; transition:opacity .3s calc(1.3s + var(--dd,0s)); }
.sd-badge{ position:absolute; right:1.1rem; top:1.1rem; font-family:var(--mono); font-size:.58rem; font-weight:700;
  background:var(--acc); color:#0B0B0A; border-radius:99px; padding:.3rem .65rem; }

/* Entonnoir */
.sd-funnel{ padding:1.1rem; border-left:1px solid var(--line); display:flex; flex-direction:column; gap:.55rem; }
@media(max-width:900px){ .sd-funnel{ border-left:0; border-top:1px solid var(--line); } }
.sd-funnel .cap{ font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.sd-step{ position:relative; }
.sd-step .top{ display:flex; justify-content:space-between; font-size:.74rem; margin-bottom:.28rem; }
.sd-step .top b{ font-weight:700; } .sd-step .top span{ font-family:var(--mono); color:var(--dim); }
.sd-bar{ height:26px; border-radius:7px; background:linear-gradient(90deg,var(--acc),var(--acc2)); width:0; transition:width 1.2s cubic-bezier(.5,0,.1,1) var(--bd,0s);
  display:flex; align-items:center; justify-content:flex-end; padding-right:.5rem; color:#0B0B0A; font-family:var(--mono); font-size:.6rem; font-weight:700; }
.sd-step:nth-child(3) .sd-bar{ opacity:.85; } .sd-step:nth-child(4) .sd-bar{ opacity:.7; }
.sd-funnel.in .sd-bar{ width:var(--w); }

/* Marquee */
.sd-marquee{ overflow:hidden; padding:.6rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:2rem; }
.sd-track{ display:flex; width:max-content; animation:sdMarq 25s linear infinite; }
.sd-track:hover{ animation-play-state:paused; }
.sd-track span{ font-family:var(--mono); font-weight:600; font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; padding:0 1.1rem; color:var(--dim); white-space:nowrap; }
.sd-track .sep{ color:var(--acc); }
@keyframes sdMarq{ to{ transform:translateX(-50%); } }

/* ---------------- SUR MESURE (étapes) ---------------- */
.sd-custom{ padding:clamp(2.6rem,5vw,4.2rem) 0; border-top:1px solid var(--line); }
.sd-custom h2{ font-weight:900; letter-spacing:-.035em; line-height:1.04; font-size:clamp(1.6rem,3.2vw,2.6rem); max-width:20ch; margin-top:.6rem; }
.sd-custom .intro{ margin-top:.8rem; color:var(--soft); line-height:1.6; max-width:62ch; font-size:.98rem; }
.sd-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; margin-top:1.8rem; counter-reset:st; }
.sd-scard{ border:1px solid var(--line); border-radius:14px; background:var(--bg2); padding:1.2rem; position:relative; overflow:hidden; transition:.4s cubic-bezier(.19,1,.22,1); }
.sd-scard:hover{ transform:translateY(-5px); border-color:rgba(255,107,26,.5); box-shadow:0 26px 50px -40px rgba(0,0,0,.5); }
.sd-scard .no{ font-family:var(--mono); font-size:.66rem; color:var(--acc); font-weight:700; }
.sd-scard b{ display:block; margin-top:.5rem; font-size:.98rem; letter-spacing:-.015em; }
.sd-scard p{ margin-top:.4rem; font-size:.8rem; line-height:1.5; color:var(--dim); }
.sd-scard:after{ content:""; position:absolute; left:1.2rem; top:0; width:32px; height:2px; background:var(--acc); transform:scaleX(0); transform-origin:0 50%; }
.sd-scard.in:after{ transform:scaleX(1); transition:transform .8s cubic-bezier(.19,1,.22,1) calc(var(--d,0s) + .3s); }
@media(max-width:900px){ .sd-steps{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .sd-steps{ grid-template-columns:1fr; } }

/* ---------------- PILIERS (image de marque / conversions) ---------------- */
.sd-pillars{ padding:0 0 clamp(2.4rem,5vw,3.8rem); }
.sd-pill{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.2rem,3.5vw,2.6rem); align-items:center; padding:clamp(1.2rem,3vw,2rem) 0; border-top:1px solid var(--line); }
.sd-pill:nth-child(even) .sd-pill-media{ order:-1; }
@media(max-width:820px){ .sd-pill{ grid-template-columns:1fr; } .sd-pill:nth-child(even) .sd-pill-media{ order:0; } }
.sd-pill .k{ font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--acc); }
.sd-pill h3{ font-weight:900; letter-spacing:-.03em; line-height:1.05; font-size:clamp(1.3rem,2.8vw,2rem); margin-top:.5rem; }
.sd-pill p{ margin-top:.7rem; color:var(--soft); line-height:1.6; font-size:.92rem; }
.sd-pill ul{ margin:.9rem 0 0; padding:0; list-style:none; }
.sd-pill li{ font-size:.86rem; line-height:1.5; color:var(--soft); padding:.28rem 0 .28rem 1.3rem; position:relative; }
.sd-pill li:before{ content:"→"; position:absolute; left:0; color:var(--acc); }
.sd-pill-media{ margin:0; overflow:hidden; border-radius:var(--radius); border:1px solid var(--line); height:clamp(210px,30vh,310px); }
.sd-pill-media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.04); transition:filter .9s,transform 1.1s; }
.sd-pill-media:hover img{ filter:none; transform:scale(1.05); }

/* ---------------- SEO (3 axes) ---------------- */
.sd-seo{ background:var(--ink); color:var(--bg); padding:clamp(2.4rem,5vw,3.8rem) 0; }
[data-theme="dark"] .sd-seo{ background:#050505; color:#F4F1EB; }
.sd-seo .sd-eyebrow{ color:var(--acc2); }
.sd-seo h2{ font-weight:900; letter-spacing:-.035em; line-height:1; font-size:clamp(1.5rem,3.2vw,2.3rem); margin-top:.6rem; max-width:24ch; }
.sd-seo3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.sd-seocard{ border:1px solid rgba(244,241,235,.16); border-radius:14px; padding:1.3rem; transition:.4s cubic-bezier(.19,1,.22,1); }
.sd-seocard:hover{ transform:translateY(-4px); border-color:rgba(255,138,61,.5); }
.sd-seocard .n{ font-family:var(--mono); font-size:.62rem; color:var(--acc2); font-weight:700; }
.sd-seocard b{ display:block; margin-top:.5rem; font-size:1.05rem; letter-spacing:-.015em; }
.sd-seocard p{ margin-top:.5rem; font-size:.84rem; line-height:1.55; color:rgba(244,241,235,.68); }
@media(max-width:820px){ .sd-seo3{ grid-template-columns:1fr; } }

/* ---------------- BOUCLE D'OPTIMISATION (signature) ---------------- */
.sd-loop{ padding:clamp(2.4rem,5vw,3.8rem) 0; }
.sd-loop-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(1.5rem,5vw,4rem); align-items:center; }
@media(max-width:820px){ .sd-loop-grid{ grid-template-columns:1fr; } }
.sd-loop h2{ font-weight:900; letter-spacing:-.035em; line-height:1; font-size:clamp(1.5rem,3.2vw,2.3rem); max-width:16ch; }
.sd-loop p{ margin-top:.8rem; color:var(--soft); line-height:1.6; font-size:.95rem; max-width:48ch; }
.sd-cycle{ position:relative; width:min(420px,88vw); aspect-ratio:1; margin:0 auto; }
.sd-cycle svg{ width:100%; height:100%; overflow:visible; }
.sd-ring-bg{ fill:none; stroke:var(--line); stroke-width:2; }
.sd-ring-fg{ fill:none; stroke:url(#sdCyc); stroke-width:3; stroke-linecap:round; stroke-dasharray:534; stroke-dashoffset:534; }
.sd-cycle.in .sd-ring-fg{ stroke-dashoffset:0; transition:stroke-dashoffset 1.8s cubic-bezier(.5,0,.15,1) .3s; }
.sd-orbit{ transform-origin:center; }
.sd-cycle.in .sd-orbit{ animation:sdSpin 12s linear 2s infinite; }
@keyframes sdSpin{ to{ transform:rotate(360deg); } }
.sd-orbit .runner{ fill:var(--acc); }
.sd-node circle{ fill:var(--bg2); stroke:var(--line); stroke-width:2; transition:.4s; }
.sd-node.act circle{ stroke:var(--acc); }
.sd-node text{ font-family:var(--mono); font-weight:700; font-size:11px; fill:var(--ink); text-anchor:middle; }
.sd-node .ic{ font-size:18px; text-anchor:middle; }
.sd-center{ text-anchor:middle; }
.sd-center .big{ font-family:var(--serif); font-weight:900; font-size:20px; fill:var(--ink); letter-spacing:-.02em; }
.sd-center.sm{ font-family:var(--mono); font-size:9px; fill:var(--dim); letter-spacing:.12em; }
.sd-legend{ margin-top:1.4rem; display:flex; flex-direction:column; gap:.5rem; }
.sd-lg{ display:flex; align-items:center; gap:.6rem; font-size:.86rem; color:var(--soft); opacity:.5; transition:.4s; }
.sd-lg.act{ opacity:1; color:var(--ink); }
.sd-lg i{ width:9px; height:9px; border-radius:50%; background:var(--line); transition:.4s; flex:0 0 auto; }
.sd-lg.act i{ background:var(--acc); box-shadow:0 0 0 4px rgba(255,107,26,.16); }
.sd-lg b{ font-weight:700; } .sd-lg span{ color:var(--dim); }

/* ---------------- PRÉSENCE (4 canaux) ---------------- */
.sd-presence{ padding:0 0 clamp(2.4rem,5vw,3.8rem); }
.sd-presence h2{ font-weight:900; letter-spacing:-.035em; line-height:1; font-size:clamp(1.5rem,3.2vw,2.3rem); max-width:20ch; margin-top:.6rem; }
.sd-chan{ display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; margin-top:1.6rem; }
.sd-chn{ border:1px solid var(--line); border-radius:14px; background:var(--bg2); padding:1.2rem; transition:.4s cubic-bezier(.19,1,.22,1); }
.sd-chn:hover{ transform:translateY(-5px); border-color:rgba(255,107,26,.5); box-shadow:0 26px 50px -40px rgba(0,0,0,.5); }
.sd-chn .ic{ font-size:1.3rem; }
.sd-chn b{ display:block; margin-top:.5rem; font-size:.95rem; }
.sd-chn p{ margin-top:.35rem; font-size:.8rem; line-height:1.5; color:var(--dim); }
@media(max-width:900px){ .sd-chan{ grid-template-columns:1fr 1fr; } }
@media(max-width:520px){ .sd-chan{ grid-template-columns:1fr; } }

/* ---------------- SERVICES INCLUS ---------------- */
.sd-svc{ background:var(--bg2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:clamp(2.4rem,5vw,3.8rem) 0; }
.sd-svc-head{ display:flex; justify-content:space-between; align-items:end; gap:1rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.sd-svc-head h2{ font-weight:900; letter-spacing:-.035em; line-height:1; font-size:clamp(1.5rem,3.2vw,2.3rem); max-width:18ch; }
.sd-svc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
.sd-scard2{ border:1px solid var(--line); border-radius:14px; background:var(--bg); padding:1.3rem; position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:.5rem; min-height:170px; transition:.4s cubic-bezier(.19,1,.22,1); }
.sd-scard2 .no{ font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; color:var(--dim); }
.sd-scard2 b{ font-size:1.02rem; letter-spacing:-.015em; }
.sd-scard2 p{ font-size:.82rem; line-height:1.5; color:var(--dim); }
.sd-scard2 .go{ margin-top:auto; align-self:flex-end; width:32px; height:32px; border-radius:50%; border:1.5px solid var(--line);
  display:grid; place-items:center; font-size:.8rem; transition:.4s; }
.sd-scard2:hover{ transform:translateY(-5px); border-color:rgba(255,107,26,.5); box-shadow:0 28px 55px -40px rgba(0,0,0,.5); }
.sd-scard2:hover .go{ background:var(--acc); border-color:var(--acc); color:#0B0B0A; transform:rotate(45deg); }
@media(max-width:900px){ .sd-svc-grid{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .sd-svc-grid{ grid-template-columns:1fr; } }

/* ---------------- CTA ---------------- */
.sd-final{ padding:clamp(2.8rem,6vw,4.6rem) 0; text-align:center; border-top:1px solid var(--line);
  background:radial-gradient(60% 80% at 50% 0%,rgba(255,138,61,.12),transparent 70%); }
.sd-final h2{ font-weight:900; letter-spacing:-.04em; line-height:.96; font-size:clamp(1.9rem,4.8vw,3.4rem); max-width:22ch; margin:.8rem auto 0; }
.sd-final p{ margin:.9rem auto 1.4rem; color:var(--dim); max-width:54ch; line-height:1.6; }


/* =========================================================
   EMPLACEMENTS D'IMAGES (.sd-media)
   Repère en pointillés tant qu'aucune <img> n'est présente.
   ========================================================= */
#sd .sd-media{ position:relative; margin:0; overflow:hidden; border-radius:var(--radius); aspect-ratio:var(--ar,16/10);
  background:var(--bg2); isolation:isolate; width:100%; }
#sd .sd-media > img,#sd .sd-media > picture,#sd .sd-media > picture img,#sd .sd-media > video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
#sd .sd-media > img{ transition:transform 1.1s cubic-bezier(.19,1,.22,1); }
#sd .sd-media:hover > img{ transform:scale(1.035); }
#sd .sd-media-ph{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem;
  padding:1rem; text-align:center; color:var(--dim); border-radius:inherit;
  border:1.5px dashed color-mix(in srgb,var(--dim) 45%,transparent);
  background:
    radial-gradient(70% 60% at 18% 12%,rgba(255,138,61,.14),transparent 70%),
    repeating-linear-gradient(135deg,transparent 0 13px,color-mix(in srgb,var(--ink) 4%,transparent) 13px 14px),
    var(--bg2); }
#sd .sd-media-ph:before{ content:""; width:30px; height:30px; margin-bottom:.25rem; background:var(--acc2); opacity:.85;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='3'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") center/contain no-repeat; }
#sd .sd-media-ph b{ font-family:var(--mono); font-size:.64rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }
#sd .sd-media-ph small{ font-family:var(--mono); font-size:.6rem; color:var(--dim); letter-spacing:.04em; }
#sd .sd-media:has(> img,> picture,> video) .sd-media-ph{ display:none; }

/* Formats */
#sd .sd-media--tall{ --ar:5/4; max-height:440px; }
#sd .sd-media--landscape{ --ar:3/2; max-height:420px; }
#sd .sd-media--wide{ --ar:3/1; margin-bottom:clamp(.8rem,1.6vw,1.1rem); }
#sd .sd-media--video{ --ar:16/9; }
#sd .sd-media--square{ --ar:1/1; }
#sd .sd-media--inline{ --ar:16/9; border-radius:12px; margin-top:auto; }
#sd .sd-media--inline .sd-media-ph b{ font-size:.58rem; }
#sd .sd-media--avatar{ --ar:1/1; width:64px; flex:0 0 64px; border-radius:50%; }
#sd .sd-media--avatar .sd-media-ph{ padding:0; border-width:1.5px; }
#sd .sd-media--avatar .sd-media-ph b,#sd .sd-media--avatar .sd-media-ph small{ display:none; }
#sd .sd-media--avatar .sd-media-ph:before{ width:22px; height:22px; margin:0; }
@media(max-width:700px){ #sd .sd-media--wide{ --ar:16/10; } }

/* Image en tête de carte (déborde jusqu'aux bords) */
#sd .sd-card-media{ --ar:16/9; width:auto; margin:calc(var(--pad) * -1) calc(var(--pad) * -1) 1rem; border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0; }
#sd .sd-card-media .sd-media-ph{ border-width:0 0 1.5px; }

/* Logos clients */
/* Logos clients */
#sd .sd-logos {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .7rem;
  margin: clamp(1.4rem, 3vw, 2rem) 0 0;
}

#sd .sd-media--logo {
  --ar: 3/2;
  border-radius: 12px;
  overflow: hidden;
}

#sd .sd-media--logo .sd-media-ph {
  background: transparent;
}

#sd .sd-media--logo .sd-media-ph:before {
  display: none;
}

#sd .sd-media--logo > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5%;
  filter: grayscale(1);
  opacity: .7;
  transition: filter .4s, opacity .4s;
}

#sd .sd-media--logo:hover > img {
  filter: none;
  opacity: 1;
  transform: none;
}

/* Tablette */
@media (max-width: 900px) {
  #sd .sd-logos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 480px) {
  #sd .sd-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   SECTIONS ÉDITORIALES — système v2
   ========================================================= */
#sd .sd-content-section{ position:relative; padding:clamp(2.6rem,5vw,4.2rem) 0; border-top:1px solid var(--line);
  scroll-margin-top:calc(var(--header-h,80px) + 16px); }
#sd .sd-sec-alt{ background:var(--bg2); }
#sd .sd-variation-accent{ background:linear-gradient(160deg,rgba(255,138,61,.075),transparent 48%),var(--bg); }

/* Titres */
#sd .sd-section-heading{ max-width:880px; margin-bottom:1rem; }
#sd .sd-section-heading .sd-eyebrow{ display:inline-flex; align-items:center; gap:.7rem; color:var(--acc2); font-weight:700; letter-spacing:.14em; }
#sd .sd-section-heading .sd-eyebrow:before{ content:""; width:24px; height:1.5px; background:currentColor; }
#sd .sd-section-heading h2{ margin:.8rem 0 0; font-weight:900; letter-spacing:-.04em; line-height:1.06; font-size:clamp(1.55rem,3vw,2.4rem); max-width:26ch; text-wrap:balance; }

/* Texte */
#sd .sd-content-section p{ margin:0 0 .7rem; color:var(--soft); line-height:1.65; font-size:clamp(.92rem,1.1vw,1rem); }
#sd .sd-intro{ max-width:64ch; }
#sd .sd-intro > p:first-child{ font-size:clamp(1rem,1.3vw,1.1rem); line-height:1.6; color:var(--ink); font-weight:500; }
#sd .sd-intro > p:last-child{ margin-bottom:0; }
#sd .sd-keyword{ font-weight:800; color:var(--ink); text-decoration:underline; text-decoration-color:rgba(245,115,35,.5); text-decoration-thickness:2px; text-underline-offset:3px; }
#sd .sd-lbl{ display:inline-block; margin-right:.3rem; font-family:var(--mono); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }

/* Mises en page */
#sd .sd-split{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(1.8rem,5vw,4.5rem); align-items:center; }
#sd .sd-split--rev > :last-child{ order:-1; }
#sd .sd-head-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(1.2rem,4vw,4rem); align-items:end; margin-bottom:clamp(1.1rem,2.4vw,1.8rem); }
#sd .sd-head-split .sd-section-heading{ margin:0; }
#sd .sd-head-split .sd-intro{ padding-left:clamp(0rem,2vw,1.6rem); border-left:1px solid var(--line); }
@media(max-width:900px){
  #sd .sd-split,#sd .sd-head-split{ grid-template-columns:1fr; }
  #sd .sd-split--rev > :last-child{ order:0; }
  #sd .sd-head-split .sd-intro{ padding-left:0; border-left:0; }
}

/* Grilles de cartes */
#sd .sd-editorial-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.8rem,1.4vw,1.1rem); margin-top:clamp(1.1rem,2.2vw,1.7rem); }
#sd .sd-editorial-grid--3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
#sd .sd-editorial-grid > :nth-child(2){ --d:.07s; }
#sd .sd-editorial-grid > :nth-child(3){ --d:.14s; }
#sd .sd-editorial-grid > :nth-child(4){ --d:.21s; }
#sd .sd-editorial-grid > :nth-child(5){ --d:.28s; }
#sd .sd-editorial-grid > :nth-child(6){ --d:.35s; }
@media(max-width:1000px){ #sd .sd-editorial-grid--3{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px){ #sd .sd-editorial-grid,#sd .sd-editorial-grid--3{ grid-template-columns:1fr; } }

#sd .sd-editorial-card{ --pad:clamp(1rem,1.6vw,1.4rem); position:relative; display:flex; flex-direction:column; min-width:0;
  padding:var(--pad); border:1px solid var(--line); border-radius:var(--radius); background:var(--bg2); overflow:hidden;
  transition:transform .35s cubic-bezier(.19,1,.22,1),border-color .35s,box-shadow .35s; }
#sd .sd-sec-alt .sd-editorial-card{ background:var(--bg); }
#sd .sd-editorial-card:hover{ transform:translateY(-4px); border-color:rgba(245,115,35,.55); box-shadow:0 26px 50px -40px rgba(0,0,0,.45); }
#sd .sd-editorial-card h3{ margin:0 0 .6rem; font-size:clamp(1.02rem,1.5vw,1.2rem); line-height:1.28; font-weight:800; letter-spacing:-.02em; color:var(--ink); }
#sd .sd-editorial-card p{ font-size:.88rem; line-height:1.6; margin-bottom:.45rem; }
#sd .sd-editorial-card p:last-child{ margin-bottom:0; }

/* Encadré de conclusion */
#sd .sd-note{ margin-top:clamp(1.1rem,2.2vw,1.7rem); padding:clamp(1rem,2vw,1.4rem) clamp(1.1rem,2.2vw,1.6rem);
  border-left:3px solid var(--acc); border-radius:0 var(--radius) var(--radius) 0; background:rgba(255,138,61,.07); max-width:920px; }
#sd .sd-note h3{ margin:0 0 .6rem; font-size:clamp(1.05rem,1.6vw,1.25rem); font-weight:800; letter-spacing:-.02em; }
#sd .sd-note p:last-child{ margin-bottom:0; }

#sd .sd-section-action{ margin-top:clamp(1.1rem,2.2vw,1.6rem); }
#sd .sd-content-section .sd-btn{ max-width:100%; height:auto; min-height:50px; padding:.85rem 1.4rem; text-align:center; line-height:1.4; }
#sd .sd-small-note{ margin-top:1.2rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.02em; color:var(--dim); }

/* ---------- [02] Preuve sociale ---------- */
#sd .sd-sec-proof .sd-editorial-card:first-child p{ padding:.55rem 0; margin:0; border-top:1px dashed var(--line); }
#sd .sd-sec-proof .sd-editorial-card:first-child p:first-of-type{ border-top:0; padding-top:0; }

/* ---------- [03] Problème / solution ---------- */
#sd .sd-sec-problem .sd-editorial-grid{ counter-reset:pb; }
#sd .sd-sec-problem .sd-editorial-card:not(.is-answer){ counter-increment:pb; padding-top:calc(var(--pad) + 1.6rem); }
#sd .sd-sec-problem .sd-editorial-card:not(.is-answer):before{ content:counter(pb,decimal-leading-zero); position:absolute; top:var(--pad); left:var(--pad);
  display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1.5px solid var(--acc);
  font-family:var(--mono); font-size:.64rem; font-weight:800; color:var(--acc2); }
#sd .sd-sec-problem .sd-editorial-grid > :nth-child(3){ grid-column:span 1; }
#sd .sd-editorial-card.is-answer{ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(1rem,4vw,3.5rem);
  background:var(--ink); border-color:transparent; padding:clamp(1.3rem,2.8vw,2.2rem); }
#sd .sd-editorial-card.is-answer:after{ content:""; position:absolute; left:0; top:0; height:4px; width:100%; background:linear-gradient(90deg,var(--acc),var(--acc2)); }
#sd .sd-editorial-card.is-answer h3{ color:var(--bg); font-size:clamp(1.3rem,2.4vw,1.9rem); line-height:1.12; letter-spacing:-.035em; font-weight:900; margin:0; }
#sd .sd-editorial-card.is-answer p{ color:color-mix(in srgb,var(--bg) 78%,transparent); font-size:.95rem; }
#sd .sd-editorial-card.is-answer p:first-child{ color:var(--bg); font-weight:600; font-size:1.02rem; }
#sd .sd-editorial-card.is-answer:hover{ border-color:transparent; }
@media(max-width:780px){ #sd .sd-editorial-card.is-answer{ grid-template-columns:1fr; } }

/* ---------- [05] Portfolio & [12] Blog ---------- */
#sd .sd-project p{ margin:0; padding:.5rem 0; border-top:1px solid var(--line); font-size:.86rem; }
#sd .sd-project h3{ margin-bottom:.9rem; }
#sd .sd-project .sd-lbl{ display:block; margin-bottom:.15rem; }
#sd .sd-variation-gallery .sd-editorial-card:after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px;
  background:linear-gradient(90deg,var(--acc),var(--acc2)); transform:scaleX(0); transform-origin:0 50%; transition:transform .6s cubic-bezier(.19,1,.22,1); }
#sd .sd-variation-gallery .sd-editorial-card:hover:after{ transform:scaleX(1); }
#sd .sd-post .sd-tag{ align-self:flex-start; margin:0 0 .8rem; padding:.3rem .65rem; border-radius:99px; border:1px solid var(--line);
  font-family:var(--mono); font-size:.6rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--acc2); line-height:1.4; }
#sd .sd-post .sd-tag .sd-keyword{ color:inherit; text-decoration:none; font-weight:700; }

/* ---------- [06] Étude de cas ---------- */
#sd .sd-sec-case .sd-editorial-card{ padding-top:calc(var(--pad) + .5rem); }
#sd .sd-sec-case .sd-editorial-card:before{ content:""; position:absolute; top:0; left:var(--pad); right:var(--pad); height:3px; border-radius:0 0 3px 3px;
  background:linear-gradient(90deg,var(--acc),var(--acc2)); transform:scaleX(0); transform-origin:0 50%; }
#sd .sd-sec-case .sd-editorial-card.in:before{ transform:scaleX(1); transition:transform .9s cubic-bezier(.19,1,.22,1) calc(var(--d,0s) + .35s); }
#sd .sd-sec-case .sd-editorial-card .sd-media--inline{ margin-top:.9rem; }
#sd .sd-editorial-card.is-quote{ background:linear-gradient(150deg,rgba(255,138,61,.14),transparent 70%),var(--bg); }
#sd .sd-quote{ position:relative; font-size:clamp(1rem,1.4vw,1.12rem)!important; line-height:1.55!important; color:var(--ink)!important; font-weight:500; padding-top:1.6rem; }
#sd .sd-quote:before{ content:"“"; position:absolute; top:-.6rem; left:-.1rem; font-family:var(--serif); font-size:3.4rem; line-height:1; font-weight:900; color:var(--acc); }
#sd .sd-quote-author{ margin-top:auto!important; padding-top:.8rem; border-top:1px solid var(--line); font-family:var(--mono); font-size:.72rem!important; color:var(--dim)!important; }

/* ---------- [08] Témoignages ---------- */
#sd .sd-testi-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
#sd .sd-testi-head h3{ margin:0; }
#sd .sd-testi-meta{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.2rem 1rem; padding:.8rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:1rem; }
#sd .sd-testi-meta p{ margin:0; font-size:.84rem; }
#sd .sd-testi .sd-quote{ margin-bottom:0; }
@media(max-width:420px){ #sd .sd-testi-meta{ grid-template-columns:1fr; } }

/* ---------- [09] Équipe ---------- */
#sd .sd-sec-team .sd-role{ margin-top:auto!important; padding-top:.8rem; border-top:1px solid var(--line); font-size:.86rem; }
#sd .sd-sec-team .sd-editorial-card > p:not(.sd-role){ margin-bottom:1rem; }
#sd .sd-team-vision{ background:var(--ink)!important; border-color:transparent!important; justify-content:center; }
#sd .sd-team-vision h3{ color:var(--bg); font-weight:900; font-size:clamp(1.15rem,1.9vw,1.45rem); letter-spacing:-.03em; }
#sd .sd-team-vision p{ color:color-mix(in srgb,var(--bg) 78%,transparent); }
#sd .sd-team-vision .sd-keyword{ color:var(--bg); }
#sd .sd-team-vision:after{ content:""; position:absolute; right:-40px; bottom:-40px; width:140px; height:140px; border-radius:50%; border:24px solid rgba(255,138,61,.25); }

/* ---------- [10] Engagements ---------- */
#sd .sd-sec-commit .sd-editorial-grid{ counter-reset:cm; }
#sd .sd-sec-commit .sd-editorial-card{ counter-increment:cm; padding-top:calc(var(--pad) + 1.7rem); }
#sd .sd-sec-commit .sd-editorial-card:before{ content:counter(cm,decimal-leading-zero); position:absolute; top:var(--pad); left:var(--pad);
  font-family:var(--mono); font-size:.7rem; font-weight:800; letter-spacing:.1em; color:var(--acc2); }
#sd .sd-sec-commit .sd-editorial-card:after{ content:""; position:absolute; top:calc(var(--pad) + .45rem); left:calc(var(--pad) + 2.1rem); right:var(--pad); height:1px; background:var(--line); }

/* ---------- [11] FAQ ---------- */
#sd .sd-faq-layout{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(1.8rem,5vw,4.5rem); align-items:start; }
#sd .sd-faq-aside{ position:sticky; top:calc(var(--header-h,80px) + 24px); }
#sd .sd-faq-aside .sd-media{ --ar:16/10; margin-top:.2rem; }
#sd .sd-faq{ display:flex; flex-direction:column; gap:.5rem; }
#sd .sd-faq-item{ border:1px solid var(--line); border-radius:14px; background:var(--bg2); overflow:hidden; transition:border-color .3s,box-shadow .3s; }
#sd .sd-faq-item summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:.85rem 1.1rem; font-weight:700; font-size:.97rem; line-height:1.45; }
#sd .sd-faq-item summary::-webkit-details-marker{ display:none; }
#sd .sd-faq-item summary:hover{ color:var(--acc2); }
#sd .sd-faq-item summary span{ flex:0 0 30px; height:30px; border-radius:50%; border:1.5px solid var(--line); display:grid; place-items:center;
  color:var(--acc2); font-weight:500; font-size:1.05rem; transition:transform .35s cubic-bezier(.19,1,.22,1),background .3s,border-color .3s,color .3s; }
#sd .sd-faq-item[open]{ border-color:rgba(245,115,35,.55); box-shadow:0 18px 40px -34px rgba(0,0,0,.5); }
#sd .sd-faq-item[open] summary span{ transform:rotate(45deg); background:var(--acc); border-color:var(--acc); color:#0B0B0A; }
#sd .sd-faq-item p{ margin:0; padding:0 1.2rem 1.15rem; font-size:.92rem; }
@media(max-width:900px){ #sd .sd-faq-layout{ grid-template-columns:1fr; } #sd .sd-faq-aside{ position:static; } }

/* ---------- [13] Contact + formulaire ---------- */
#sd .sd-contact-section{ background:linear-gradient(125deg,rgba(255,138,61,.10),transparent 60%),var(--bg); }
#sd .sd-contact-grid{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:clamp(1.8rem,5vw,4rem); align-items:start; }
#sd .sd-contact-aside .sd-media{ margin:1.6rem 0 0; }
#sd .sd-contact-aside .sd-note{ margin-top:1.4rem; }
#sd .sd-form-card{ position:sticky; top:calc(var(--header-h,80px) + 24px); padding:clamp(1.3rem,2.8vw,2.3rem); border:1px solid var(--line);
  border-radius:22px; background:var(--bg2); box-shadow:0 50px 90px -65px rgba(0,0,0,.55); }
#sd .sd-form-card > h3{ margin:0 0 .4rem; font-size:clamp(1.2rem,2vw,1.55rem); font-weight:900; letter-spacing:-.03em; }
#sd .sd-form-cols{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; }
#sd .sd-lead-form label{ display:block; margin:.85rem 0 0; font-family:var(--mono); font-size:.64rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); }
#sd .sd-lead-form input:not([type=checkbox]),#sd .sd-lead-form select,#sd .sd-lead-form textarea{
  display:block; width:100%; margin-top:.4rem; padding:.85rem .95rem; border:1px solid var(--line); border-radius:10px; background:var(--bg); color:var(--ink);
  font-family:var(--serif); font-size:.95rem; letter-spacing:0; text-transform:none; transition:border-color .25s,box-shadow .25s; }
#sd .sd-lead-form select{ appearance:none; -webkit-appearance:none; padding-right:2.4rem;
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F57323' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .9rem center/16px; }
#sd .sd-lead-form textarea{ resize:vertical; min-height:96px; }
#sd .sd-lead-form input:not([type=checkbox]):hover,#sd .sd-lead-form select:hover,#sd .sd-lead-form textarea:hover{ border-color:color-mix(in srgb,var(--ink) 30%,transparent); }
#sd .sd-lead-form input:focus,#sd .sd-lead-form select:focus,#sd .sd-lead-form textarea:focus{ outline:none; border-color:var(--acc); box-shadow:0 0 0 4px rgba(255,138,61,.18); }
#sd .sd-lead-form .sd-consent{ display:flex; gap:.7rem; align-items:flex-start; margin:1.1rem 0 1.2rem; font-family:var(--serif); font-size:.84rem; font-weight:400;
  letter-spacing:0; text-transform:none; line-height:1.5; color:var(--soft); }
#sd .sd-lead-form .sd-consent input{ flex:0 0 18px; width:18px; height:18px; margin:.15rem 0 0; accent-color:var(--acc); }
#sd .sd-lead-form .sd-consent a{ text-decoration:underline; text-underline-offset:2px; color:var(--ink); }
#sd .sd-lead-form button{ width:100%; justify-content:center; }
#sd .sd-form-feedback{ min-height:1.2em; margin:.7rem 0 0!important; font-size:.86rem!important; }
#sd .sd-form-note{ margin:.2rem 0 0!important; font-size:.74rem!important; line-height:1.5!important; color:var(--dim)!important; }
@media(max-width:900px){ #sd .sd-contact-grid{ grid-template-columns:1fr; } #sd .sd-form-card{ position:static; } }
@media(max-width:560px){ #sd .sd-form-cols{ grid-template-columns:1fr; } }

/* =========================================================
   MOBILE (≤ 700px) — sections compactes + carrousels à glisser
   ========================================================= */
.sd-dots{ display:none; }
@media(max-width:700px){
  .sd-wrap{ width:calc(100% - 32px); }

  /* Rythme vertical resserré */
  #sd .sd-content-section,.sd-custom,.sd-seo,.sd-loop,.sd-svc{ padding:2.1rem 0; }
  .sd-pillars,.sd-presence{ padding-bottom:2.1rem; }
  .sd-final{ padding:2.4rem 0; }

  /* Hero */
  .sd-hero{ padding:calc(var(--header-h,80px) + .9rem) 0 1.1rem; }
  .sd-hero-top{ margin-bottom:.8rem; }
  .sd-hero-top .sd-eyebrow:last-child{ display:none; }
  .sd-hero h1{ font-size:clamp(1.7rem,8.2vw,2.15rem); line-height:1.03; }
  .sd-lede{ font-size:.93rem; line-height:1.55; }
  .sd-cta{ margin-top:1rem; }
  .sd-cta .sd-btn{ flex:1 1 0; justify-content:center; height:46px; padding:0 .9rem; }
  .sd-board{ margin-top:1.3rem; border-radius:14px; }
  .sd-board-bar{ padding:.6rem .8rem; }
  .sd-board-bar .ttl{ display:none; }
  .sd-kpi{ padding:.7rem .8rem; }
  .sd-chart{ padding:.8rem; }
  .sd-funnel{ display:none; }
  .sd-marquee{ margin-top:1.3rem; padding:.45rem 0; }

  /* Titres & textes */
  .sd-eyebrow{ font-size:.6rem; letter-spacing:.16em; }
  #sd .sd-section-heading{ margin-bottom:.8rem; }
  #sd .sd-section-heading h2,.sd-custom h2,.sd-seo h2,.sd-loop h2,.sd-presence h2,.sd-svc-head h2,.sd-final h2{
    font-size:clamp(1.38rem,6.4vw,1.7rem); line-height:1.1; max-width:none; }
  #sd .sd-section-heading h2{ margin-top:.55rem; }
  #sd .sd-content-section p{ font-size:.9rem; line-height:1.58; margin-bottom:.55rem; }
  #sd .sd-intro > p:first-child{ font-size:.98rem; }
  #sd .sd-split,#sd .sd-head-split{ gap:1rem; }
  #sd .sd-head-split{ margin-bottom:1rem; }

  /* Images : formats bas sur mobile */
  #sd .sd-media--tall,#sd .sd-media--landscape,#sd .sd-media--wide{ --ar:16/9; max-height:none; }
  #sd .sd-faq-aside .sd-media{ display:none; }
  #sd .sd-contact-aside .sd-media{ margin-top:1rem; }
  #sd .sd-media-ph b{ font-size:.58rem; }

  /* ---- Carrousels horizontaux (cartes, logos, services, SEO) ---- */
  #sd .sd-editorial-grid,#sd .sd-svc-grid,#sd .sd-seo3,#sd .sd-logos{
    display:flex; gap:.7rem; overflow-x:auto; overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory; scroll-padding-inline:16px;
    margin-left:-16px; margin-right:-16px; padding:.2rem 16px .5rem;
    scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  #sd .sd-editorial-grid::-webkit-scrollbar,#sd .sd-svc-grid::-webkit-scrollbar,
  #sd .sd-seo3::-webkit-scrollbar,#sd .sd-logos::-webkit-scrollbar{ display:none; }
  #sd .sd-editorial-grid > *,#sd .sd-svc-grid > *,#sd .sd-seo3 > *{ flex:0 0 84%; scroll-snap-align:start; min-width:0; }
  #sd .sd-logos > *{ flex:0 0 38%; scroll-snap-align:start; }
  #sd .sd-editorial-grid{ margin-top:1rem; }
  #sd .sd-logos{ margin-top:1.2rem; }

  /* Les cartes hors écran à droite doivent rester visibles */
  #sd.is-ready .sd-editorial-grid > [data-r],#sd.is-ready .sd-svc-grid > [data-r],#sd.is-ready .sd-seo3 > [data-r]{ opacity:1; transform:none; }
  #sd .sd-sec-case .sd-editorial-card:before{ transform:scaleX(1); }

  /* Points de progression */
  .sd-dots{ display:flex; justify-content:center; gap:6px; margin-top:.5rem; }
  .sd-dots i{ width:6px; height:6px; border-radius:99px; background:var(--line); transition:width .3s,background .3s; }
  .sd-dots i.on{ width:18px; background:var(--acc); }
  .sd-seo .sd-dots i{ background:rgba(244,241,235,.2); }
  .sd-seo .sd-dots i.on{ background:var(--acc); }

  /* Cartes plus denses */
  #sd .sd-editorial-card{ --pad:1rem; border-radius:14px; }
  #sd .sd-editorial-card h3{ font-size:1rem; }
  #sd .sd-editorial-card p{ font-size:.86rem; line-height:1.55; }
  #sd .sd-editorial-card:hover{ transform:none; box-shadow:none; }
  #sd .sd-editorial-card.is-answer{ padding:1.15rem; gap:.7rem; }
  #sd .sd-editorial-card.is-answer h3{ font-size:1.2rem; }
  #sd .sd-project p{ padding:.4rem 0; }
  #sd .sd-testi-meta{ grid-template-columns:1fr 1fr; padding:.6rem 0; margin-bottom:.7rem; }
  #sd .sd-media--avatar{ width:52px; flex-basis:52px; }
  #sd .sd-quote{ font-size:.98rem!important; padding-top:1.3rem; }
  #sd .sd-quote:before{ font-size:2.8rem; }
  #sd .sd-note{ padding:.95rem 1rem; margin-top:1rem; }
  #sd .sd-note h3{ font-size:1rem; }
  #sd .sd-small-note{ font-size:.66rem; }

  /* Boutons d'action pleine largeur */
  #sd .sd-section-action{ margin-top:1rem; }
  #sd .sd-section-action .sd-btn,.sd-final .sd-btn{ width:100%; justify-content:center; min-height:48px; }

  /* Méthode + canaux : grille 2 colonnes compacte */
  .sd-custom .intro{ font-size:.9rem; }
  .sd-steps,.sd-chan{ grid-template-columns:1fr 1fr; gap:.55rem; margin-top:1.1rem; }
  .sd-scard,.sd-chn{ padding:.85rem; border-radius:12px; }
  .sd-scard b,.sd-chn b{ font-size:.88rem; margin-top:.3rem; }
  .sd-scard p,.sd-chn p{ font-size:.74rem; line-height:1.45; margin-top:.25rem; }
  .sd-chn .ic{ font-size:1.1rem; }

  /* Piliers : image en haut, plus basse */
  .sd-pill{ gap:.9rem; padding:1.3rem 0; }
  .sd-pill .sd-pill-media,.sd-pill:nth-child(even) .sd-pill-media{ order:-1; height:180px; }
  .sd-pill h3{ font-size:1.3rem; }
  .sd-pill p{ font-size:.88rem; margin-top:.5rem; }
  .sd-pill ul{ margin-top:.5rem; display:grid; grid-template-columns:1fr 1fr; gap:0 .6rem; }
  .sd-pill li{ font-size:.8rem; padding:.2rem 0 .2rem 1.1rem; }

  /* SEO / boucle / services */
  .sd-seo3{ margin-top:1.1rem; }
  .sd-seocard{ padding:1rem; }
  .sd-loop-grid{ gap:1rem; }
  .sd-loop p{ font-size:.9rem; }
  .sd-legend{ margin-top:.9rem; display:grid; grid-template-columns:1fr 1fr; gap:.45rem .8rem; }
  .sd-lg{ font-size:.8rem; }
  .sd-cycle{ width:min(280px,76vw); }
  .sd-svc-head{ margin-bottom:.9rem; }
  .sd-scard2{ min-height:150px; padding:1rem; }

  /* FAQ */
  #sd .sd-faq-layout{ display:flex; flex-direction:column; gap:0; }
  #sd .sd-faq-aside{ display:contents; }
  #sd .sd-faq{ order:1; }
  #sd .sd-faq-aside > .sd-section-action{ order:2; }
  #sd .sd-faq-item summary{ padding:.8rem .95rem; font-size:.9rem; }
  #sd .sd-faq-item summary span{ flex-basis:26px; height:26px; }
  #sd .sd-faq-item p{ padding:0 .95rem .9rem; font-size:.86rem; }

  /* Contact */
  #sd .sd-contact-grid{ gap:1.2rem; }
  #sd .sd-form-card{ padding:1.1rem; border-radius:16px; }
  #sd .sd-lead-form label{ margin-top:.7rem; }
  #sd .sd-lead-form input:not([type=checkbox]),#sd .sd-lead-form select,#sd .sd-lead-form textarea{ padding:.75rem .85rem; font-size:16px; }
}
@media(max-width:360px){
  .sd-steps,.sd-chan{ grid-template-columns:1fr; }
  .sd-pill ul,.sd-legend{ grid-template-columns:1fr; }
}

/* ---------- Accessibilité / mouvement réduit ---------- */
@media(prefers-reduced-motion:reduce){
  #sd *{ animation:none !important; }
  #sd.is-ready [data-r]{ opacity:1 !important; transform:none !important; }
  .sd-hl{ background-size:100% 100% !important; }
  .sd-svg .line{ stroke-dashoffset:0 !important; } .sd-svg .area,.sd-svg .dot{ opacity:1 !important; }
  .sd-funnel .sd-bar{ width:var(--w) !important; }
  .sd-scard:after{ transform:scaleX(1) !important; }
  .sd-ring-fg{ stroke-dashoffset:0 !important; }
  #sd .sd-sec-case .sd-editorial-card:before{ transform:scaleX(1) !important; }
  #sd .sd-editorial-card:hover,#sd .sd-media:hover > img{ transform:none !important; }
}



/* ÉQUIPE — Portraits compacts */
#sd .sd-sec-team .sd-editorial-card > img.sd-card-media {
    width: 110px;
    height: 140px;
    max-width: 110px;
    aspect-ratio: 11 / 14;
    object-fit: cover;
    object-position: center top;
    border-radius: 14px;
    margin: 0 0 14px;
    flex-shrink: 0;
    display: block;
}

/* Cartes plus compactes */
#sd .sd-sec-team .sd-editorial-card {
    padding: 18px;
}

/* Mobile */
@media (max-width: 700px) {
    #sd .sd-sec-team .sd-editorial-card > img.sd-card-media {
        width: 90px;
        height: 115px;
        max-width: 90px;
    }

    #sd .sd-sec-team .sd-editorial-card {
        padding: 15px;
    }
}
