/* Intégration API : composition locale dans la famille accueil / secteurs. */
.api-agency-editorial .ed-hero__copy { max-width:960px; padding:100px 0 84px; }
.api-agency-editorial .ed-hero h1 { font-size:clamp(50px,5vw,78px); line-height:1.05; }
.api-agency-editorial .ed-hero__intro { max-width:660px; }
.api-agency-editorial .ed-hero__detail { max-width:620px; }
.api-agency__toc { position:relative; z-index:2; grid-column:1/-1; display:flex; align-items:center; gap:18px 28px; margin:0 0 38px; padding:14px 18px; border:1px solid #4b6659; background:#24362e; }
.api-agency-editorial .api-agency__toc>p { margin:0; color:#c1d7ca; font:11px/1.4 ui-monospace,monospace; text-transform:uppercase; letter-spacing:.08em; }
.api-agency__toc ul { display:flex; flex-wrap:wrap; flex:1; gap:6px; margin:0; padding:0; list-style:none; }
.api-agency__toc li { flex:1 0 auto; }
.api-agency__toc a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 12px; color:#f3f8ef; border:1px solid #516b5e; font-size:14px; line-height:1.5; }
.api-agency__toc a:hover { background:#304b3f; }
.api-agency__toc a span { color:#8ce8ce; }
.api-agency-editorial .api-agency__toc a:focus-visible { outline-color:#8ce8ce; }
.api-agency__hero-proof { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin-top:24px; padding:8px 0 8px 14px; border-left:2px solid #37dbb3; color:#c6d9ce; font-size:14px; line-height:1.5; }
.api-agency__hero-proof strong,.api-agency__hero-proof>span:last-child { color:#8ce8ce; }
.api-agency__hero-proof:hover strong { text-decoration:underline; text-underline-offset:4px; }
#cas-1up { scroll-margin-top:100px; }
.api-agency-editorial .sc-heading { grid-template-columns:1.2fr 1fr; gap:64px; align-items:start; }
.api-agency-editorial .api-agency__definition h3 { font-size:20px; margin:0 0 16px; }
.api-agency-editorial .api-agency__definition p { color:var(--sc-muted); font-size:15px; margin:0; }
.api-agency__needs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.api-agency__needs .sc-visual { aspect-ratio:16/9; }
.api-agency__needs .sc-solution__body { padding:26px 22px; }
.api-agency-editorial .api-agency__needs h3 { font-size:25px; }
.api-agency__need-links { display:grid; justify-items:start; gap:8px; margin-top:auto; padding-top:18px; }
.api-agency-editorial .api-agency__need-links .sc-link { margin-top:0; padding-top:4px; font-size:13px; }
.api-agency__feature { margin-bottom:32px; border:1px solid #48634d; background:#203c30; }
.api-agency__feature-main { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:32px; padding:clamp(24px,3vw,44px); }
.api-agency-editorial .api-agency__feature h3 { margin:12px 0 16px; color:#f4f8ed; font-size:clamp(28px,3vw,42px); }
.api-agency__feature-copy>p:not(.ed-eyebrow),.api-agency__feature-ciama p:not(.ed-eyebrow) { color:#c0d1c2; font-size:15px; }
.api-agency__flow { display:grid; gap:10px; margin:20px 0; padding:0; list-style:none; }
.api-agency__flow li { display:grid; grid-template-columns:90px 1fr; gap:12px; padding-top:10px; border-top:1px solid #48634d; color:#d8e5d7; font-size:14px; }
.api-agency__flow strong { color:#c5ed8a; }
.api-agency__feature-visual { margin:0; border:1px solid #48634d; }
.api-agency__feature-visual img { display:block; width:100%; height:auto; }
.api-agency__feature-visual figcaption { display:grid; gap:7px; padding:18px 22px; color:#c0d1c2; font-size:14px; }
.api-agency__feature-visual figcaption strong { color:#f4f8ed; }
.api-agency__feature-ciama { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px 36px; padding:clamp(24px,3vw,44px); border-top:1px solid #48634d; background:#182f25; }
.api-agency-editorial .api-agency__feature-ciama h4 { margin:10px 0 12px; color:#c5ed8a; font-size:clamp(23px,2.4vw,30px); }
.api-agency__feature-ciama p:last-child { max-width:660px; margin:0; }
.api-agency__projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.api-agency__project { min-width:0; display:flex; flex-direction:column; background:#203c30; border:1px solid #45614d; }
.api-agency__project-image { display:block; aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid #45614d; }
.api-agency__project-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.api-agency__project-image:hover img { transform:scale(1.025); }
.api-agency__project-copy { display:flex; flex:1; flex-direction:column; padding:28px; }
.api-agency-editorial .api-agency__project-copy .ed-eyebrow { margin-bottom:16px; font-size:9px; }
.api-agency-editorial .api-agency__client { color:#c5ed8a; font-size:14px; font-weight:600; margin:0 0 12px; }
.api-agency-editorial .api-agency__project h3 { color:#f4f8ed; font-size:27px; margin:0 0 18px; }
.api-agency__project-copy>p:not(.ed-eyebrow):not(.api-agency__client) { color:#c0d1c2; font-size:14px; }
.api-agency__project-copy .sc-link { margin-top:auto; padding-top:24px; font-size:12px; }
.api-agency__project--wide { display:grid; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; }
.api-agency__project--wide .api-agency__project-image { border-right:1px solid #45614d; border-bottom:0; }
.api-agency__project--wide .api-agency__project-copy { padding:clamp(24px,3vw,44px); }
.api-agency__project--wide .sc-link { align-self:flex-start; margin-top:0; padding-top:12px; }
.api-agency-editorial .api-agency__caption { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px; margin:30px 0 0; font-size:12px; color:#b3c8b9; }
.api-agency__delivery { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin:0; padding:0; list-style:none; }
.api-agency__delivery li { position:relative; display:flex; flex-direction:column; min-width:0; }
.api-agency__delivery li:not(:last-child)::before { content:""; position:absolute; top:18px; left:18px; right:-38px; border-top:1px solid #759480; }
.api-agency__delivery-marker { position:relative; display:grid; place-items:center; flex:none; width:36px; height:36px; margin-bottom:22px; border:1px solid #719482; border-radius:50%; background:#f6f6ef; color:#19382b; font:12px/1 ui-monospace,monospace; }
.api-agency__delivery li:first-child .api-agency__delivery-marker { background:#19382b; border-color:#19382b; color:#d4efb8; }
.api-agency__delivery-copy { display:flex; flex:1; flex-direction:column; }
.api-agency__number { display:block; font:11px/1.5 ui-monospace,monospace; color:var(--sc-accent); margin-bottom:26px; }
.api-agency-editorial .api-agency__delivery h3 { font-size:22px; margin:0 0 12px; }
.api-agency-editorial .api-agency__delivery p { margin:0 0 18px; font-size:14px; color:var(--sc-muted); }
.api-agency-editorial .api-agency__delivery .api-agency__deliverable { min-height:112px; margin:auto 0 0; padding:13px 14px; border-left:2px solid #719482; background:#f6f6ef; color:var(--sc-ink); }
.api-agency__deliverable strong { display:block; margin-bottom:4px; color:#17634d; font-size:12px; }
.api-agency__offer { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:40px; padding:clamp(22px,3vw,32px); border:1px solid #45614d; background:#203c30; color:#f4f8ed; }
.api-agency-editorial .api-agency__offer .ed-eyebrow { margin:0 0 10px; color:#c5ed8a; }
.api-agency__offer h3 { margin:0 0 10px; }
.api-agency-editorial .api-agency__offer p:not(.ed-eyebrow) { max-width:650px; margin:0; color:#d4e3d5; font-size:14px; }
.api-agency__offer .ed-button { flex-shrink:0; }
.api-agency__partner { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; gap:clamp(32px,5vw,76px); }
.api-agency__partner>div>p:not(.ed-eyebrow) { color:var(--sc-muted); font-size:15px; margin:24px 0; }
.api-agency__partner figure { margin:0; }
.api-agency__partner img { display:block; width:100%; height:auto; border:1px solid var(--sc-line); }
.api-agency__partner figcaption { color:var(--sc-muted); font-size:12px; margin-top:20px; line-height:1.7; }
.api-agency__partner-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:40px 0 0; padding:0; list-style:none; }
.api-agency__partner-steps li { padding:clamp(18px,2.5vw,28px); border:1px solid var(--sc-line); background:#fffef9; }
.api-agency__partner-steps .api-agency__number { margin-bottom:14px; }
.api-agency__partner-steps h3 { margin:0 0 10px; font-size:22px; }
.api-agency-editorial .api-agency__partner-steps p { margin:0; color:var(--sc-muted); font-size:14px; }
.api-agency__domains { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.api-agency__domains article { min-width:0; padding:clamp(22px,3vw,32px); border:1px solid var(--sc-line); background:#fffef9; }
.api-agency-editorial .api-agency__domains h3 { margin:0 0 8px; }
.api-agency__domains article>p:not(.ed-eyebrow) { color:var(--sc-muted); font-size:15px; }
.api-agency__domains ul { margin:22px 0 0; padding:0; list-style:none; border-top:1px solid var(--sc-line); }
.api-agency-editorial .api-agency__domains .sc-link { display:flex; padding:9px 0; }
.api-agency__domain-partner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; margin-top:24px; padding:22px 24px; border:1px solid var(--sc-line); background:#e7eddf; }
.api-agency-editorial .api-agency__domain-partner p { flex:1 1 28rem; margin:0; color:var(--sc-ink); font-size:15px; }
.api-agency__architecture { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.api-agency__architecture article { min-width:0; display:flex; flex-direction:column; padding:clamp(22px,3vw,32px); border:1px solid var(--sc-line); background:#fffef9; }
.api-agency__architecture h3 { font-size:25px; margin:0 0 18px; }
.api-agency__architecture p,.api-agency__hosting p { font-size:15px; color:var(--sc-muted); }
.api-agency-editorial .api-agency__architecture article>p:first-of-type { margin:0 0 14px; }
.api-agency__architecture .api-agency__architecture-example { margin:auto 0 18px; padding:14px 0 0; border-top:1px solid var(--sc-line); color:var(--sc-ink); }
.api-agency__architecture-example strong { display:block; margin-bottom:4px; }
.api-agency__architecture .sc-link { align-self:flex-start; }
.api-agency-editorial .api-agency__architecture-note { margin:22px 0 0; color:var(--sc-muted); font-size:14px; }
.api-agency__architecture-note .sc-link { margin-inline-start:8px; }
.api-agency__hosting { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.api-agency__hosting article { min-width:0; border:1px solid var(--sc-line); background:#fffef9; }
.api-agency__hosting-flow { display:grid; grid-template-columns:minmax(0,.8fr) auto minmax(0,1.2fr); align-items:center; gap:10px; padding:clamp(16px,3vw,28px); border-bottom:1px solid var(--sc-line); background:#dceee2; color:#19382b; }
.api-agency__hosting-client .api-agency__hosting-flow { background:#eee4d4; }
.api-agency__hosting-flow>span:first-child,.api-agency__hosting-flow strong { padding:9px 6px; border:1px solid #9fb5a4; background:#fffef9; text-align:center; font-size:13px; }
.api-agency__hosting-flow strong { border-color:#325644; background:#203c30; color:#f4f8ed; }
.api-agency__hosting-flow>span[aria-hidden] { color:#466858; font-size:20px; }
.api-agency__hosting-copy { padding:clamp(22px,3vw,32px); }
.api-agency-editorial .api-agency__hosting-copy .ed-eyebrow { margin:0 0 12px; }
.api-agency__hosting h3 { margin:0 0 12px; }
.api-agency-editorial .api-agency__hosting-copy p:last-child { margin:0; }
.api-agency__hosting-note { display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin-top:20px; padding:16px 20px; border:1px solid var(--sc-line); background:#e7eddf; }
.api-agency-editorial .api-agency__hosting-note h3 { margin:0; font-size:16px; }
.api-agency__hosting-note ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.api-agency__hosting-note li { padding:4px 10px; border:1px solid #bbcdb6; background:#f6f6ef; color:var(--sc-ink); font-size:13px; }
.api-agency__run { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:start; gap:40px; }
.api-agency__run-actions { display:grid; gap:18px; }
.api-agency__run-actions article { padding-top:16px; border-top:1px solid var(--sc-line); }
.api-agency__run-actions h3 { margin:0 0 8px; font-size:22px; }
.api-agency__run-actions p { margin:0; color:var(--sc-muted); font-size:15px; }
.api-agency__journal { margin:0; padding:clamp(18px,3vw,32px); border:1px solid #48634d; background:#203c30; }
.api-agency__journal figcaption { display:grid; gap:10px; margin-bottom:16px; }
.api-agency__journal figcaption .ed-eyebrow { margin:0; }
.api-agency__journal figcaption strong { font-size:20px; }
.api-agency__journal ol { margin:0 0 18px; padding:0; list-style:none; }
.api-agency__journal li { display:grid; grid-template-columns:105px 1fr; align-items:start; gap:12px; padding:12px 0; border-top:1px solid #48634d; }
.api-agency__journal li p { margin:0; color:#d4e3d5; font-size:14px; }
.api-agency__journal-status { justify-self:start; padding:4px 8px; background:#314d36; color:#d3f2a5; font-size:12px; font-weight:600; }
.api-agency__journal-status--check { background:#594a2b; color:#f7e0a1; }
.api-agency__ai-links { display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; margin-top:6px; }
#ia-connectee .api-agency__journal ol { margin-bottom:0; }
.api-agency__reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.api-agency__reviews figure { margin:0; padding:28px; border:1px solid var(--sc-line); display:flex; flex-direction:column; }
.api-agency__reviews blockquote { font-size:21px; line-height:1.5; margin:0 0 28px; }
.api-agency__reviews figcaption { margin-top:auto; display:grid; gap:8px; }
.api-agency__reviews figcaption>a { font-size:14px; font-weight:600; }
.api-agency__reviews figcaption>span,.api-agency__reviews small { font-size:11px; color:#5c6b60; }
.api-agency__guides { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.api-agency__guides>a { padding-top:25px; border-top:1px solid #48634d; display:flex; flex-direction:column; }
.api-agency__guides h3 { font-size:24px; margin:0 0 18px; }
.api-agency__guides p { font-size:14px; color:#bfd0c1; }
.api-agency__guides .sc-link { margin-top:auto; padding-top:20px; }
.api-agency__all-guides { margin-top:35px; }
.api-agency__faq { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(36px,5vw,80px); }
.api-agency__faq>header { position:sticky; top:110px; align-self:start; }
.api-agency__faq>header>p:not(.ed-eyebrow) { color:var(--sc-muted); font-size:15px; margin-top:24px; }
.api-agency__faq-nav ul { margin:24px 0 0; padding:0; list-style:none; border-top:1px solid var(--sc-line); }
.api-agency__faq-nav a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:10px 0; border-bottom:1px solid var(--sc-line); color:var(--sc-ink); font-size:14px; }
.api-agency__faq-nav a span,.api-agency__faq-nav a:hover { color:var(--sc-accent); }
.api-agency__faq-groups { display:grid; gap:24px; }
.api-agency__faq-group { min-width:0; padding:clamp(18px,2.5vw,30px); border:1px solid var(--sc-line); background:#fffef9; }
.api-agency-editorial .api-agency__faq-group h3 { margin:0 0 18px; }
.api-agency__faq details { border-top:1px solid var(--sc-line); }
.api-agency__faq summary { cursor:pointer; display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:14px 0; font-size:16px; font-weight:500; list-style:none; }
.api-agency__faq summary::-webkit-details-marker { display:none; }
.api-agency__faq summary>span { flex:none; font-size:22px; color:var(--sc-accent); }
.api-agency__faq details[open] summary>span { transform:rotate(45deg); }
.api-agency__faq-answer { padding:0 8px 16px 0; }
.api-agency-editorial .api-agency__faq-answer p { font-size:14px; color:var(--sc-muted); margin:0; }
.api-agency__faq-answer .sc-link { margin-top:12px; }
.api-agency__faq :is(a,summary):focus-visible,.api-agency__domains a:focus-visible { outline:2px solid var(--sc-accent); outline-offset:3px; }
.api-agency-editorial .ed-cta .ed-eyebrow { color:#acc5b4; }
.api-agency-editorial .ed-cta h2>span { color:#c5ed8a; }
.api-agency-editorial .ed-cta>div>p:not(.ed-eyebrow) { color:#bed1c0; margin-top:24px; font-size:15px; }
.api-agency__contact-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 16px; margin-top:28px; }
.api-agency-editorial .api-agency__contact-actions .ed-button { margin:0; }
.api-agency__contact-actions .api-agency__contact-secondary { color:#e1edd9; border-color:#648068; }
.api-agency__contact-actions .api-agency__contact-secondary:hover { background:#294b37; color:#fff; }
.api-agency__contact-actions .ed-button:focus-visible { outline-color:#c5ed8a; }

/* Shared rows align matching content within each row of cards. */
@supports (grid-template-rows:subgrid) {
 @media(min-width:768px) {
  .api-agency__needs .sc-solution,.api-agency__needs .sc-solution__body,
  .api-agency__project:not(.api-agency__project--wide),.api-agency__project:not(.api-agency__project--wide) .api-agency__project-copy,
  .api-agency__architecture article,.api-agency__delivery li,.api-agency__delivery-copy,
  .api-agency__hosting article,.api-agency__hosting-copy,.api-agency__partner-steps li,
  .api-agency__reviews figure,.api-agency__reviews figcaption,.api-agency__guides>a {
   display:grid; grid-template-rows:subgrid; row-gap:0;
  }
  .api-agency__project:not(.api-agency__project--wide) { grid-row:span 6; }
  .api-agency__needs .sc-solution,.api-agency__project:not(.api-agency__project--wide) .api-agency__project-copy,.api-agency__architecture article { grid-row:span 5; }
  .api-agency__needs .sc-solution__body,.api-agency__delivery li,.api-agency__hosting article,.api-agency__reviews figure,.api-agency__guides>a { grid-row:span 4; }
  .api-agency__delivery-copy,.api-agency__hosting-copy,.api-agency__partner-steps li,.api-agency__reviews figcaption { grid-row:span 3; }
  .api-agency__need-links { align-content:start; }
  .api-agency__need-links,.api-agency__project:not(.api-agency__project--wide) .sc-link,
  .api-agency__architecture .api-agency__architecture-example,.api-agency__reviews figcaption,.api-agency__guides .sc-link { margin-top:0; }
  .api-agency__architecture .sc-link { justify-self:start; }
  .api-agency-editorial .api-agency__delivery .api-agency__deliverable { min-height:0; margin-top:0; }
  .api-agency__reviews figcaption>*+* { margin-top:8px; }
 }
}
@media(max-width:1100px) {
 .api-agency__needs { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .api-agency__delivery { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .api-agency__delivery li:nth-child(3)::before { display:none; }
 .api-agency__guides { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .api-agency-editorial .ed-hero__copy { padding:48px 0 28px; }
 .api-agency-editorial .ed-hero h1 { font-size:clamp(40px,9vw,58px); }
 .api-agency-editorial .ed-hero__intro { font-size:17px; }
 .api-agency-editorial .ed-hero__detail { font-size:14px; }
 .api-agency-editorial .ed-actions { align-items:flex-start; flex-direction:column; gap:18px; }
 .api-agency__toc { flex-direction:column; align-items:stretch; gap:8px; padding:12px; }
 .api-agency__toc a { justify-content:center; gap:8px; padding:9px 8px; font-size:13px; }
 .api-agency-editorial .sc-heading { display:block; margin-bottom:30px; }
 .api-agency-editorial .sc-heading>p,.api-agency__definition { margin-top:26px; max-width:none; }
 .api-agency-editorial .sc-section { padding:62px 0; }
 .api-agency__needs,.api-agency__projects,.api-agency__partner,.api-agency__partner-steps,.api-agency__reviews,.api-agency__architecture,.api-agency__faq,.api-agency__domains,.api-agency__guides,.api-agency__delivery,.api-agency__hosting,.api-agency__run { grid-template-columns:1fr; }
 .api-agency__feature-main,.api-agency__feature-ciama { grid-template-columns:1fr; }
 .api-agency__feature-main { gap:24px; }
 .api-agency__feature-ciama .sc-link { justify-self:start; }
 .api-agency__project-copy { padding:26px; }
 .api-agency__project--wide { grid-template-columns:1fr; }
 .api-agency__project--wide .api-agency__project-image { border-right:0; border-bottom:1px solid #45614d; }
 .api-agency__contact-actions .ed-button { width:min(100%,340px); text-align:left; }
 .api-agency__offer { flex-direction:column; align-items:flex-start; padding:26px; gap:26px; }
 .api-agency__partner { gap:36px; }
 .api-agency__architecture-note .sc-link { margin:8px 0 0; }
 .api-agency__delivery li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:14px; }
 .api-agency__delivery li:not(:last-child)::before { display:block; top:18px; bottom:-38px; left:18px; right:auto; border-top:0; border-left:1px solid #759480; }
 .api-agency__delivery-marker { margin:0; }
 .api-agency-editorial .api-agency__delivery .api-agency__deliverable { min-height:0; }
 .api-agency__run { gap:24px; }
 .api-agency__journal li { grid-template-columns:1fr; gap:8px; }
 .api-agency__faq { gap:30px; }
 .api-agency__faq>header { position:static; }
 .api-agency__domain-partner { padding:18px; }
 .api-agency__reviews blockquote { font-size:23px; }
 .api-agency-editorial .api-agency__caption { display:block; }
 .api-agency__caption .sc-link { margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) { .api-agency-editorial *, .api-agency-editorial *::before, .api-agency-editorial *::after { transition:none!important; animation:none!important; } }
.api-agency-editorial .ed-hero .ed-eyebrow { color:#b7c9c1; }
