/* Adapted from the iSDO construction: perspective, docking, CAD outlines and material. */
.tools-assembly{background:linear-gradient(150deg,#f7f9f9,#eaf0f0);padding:24px 18px 20px;overflow:hidden;border-color:#d5e0e2;box-shadow:0 20px 55px -35px #01344360}
.tools-assembly .eyebrow{font-size:11px;margin:0 0 8px;color:#41606a}
.tools-assembly .assembly-stage{margin:0 -12px;isolation:isolate}
.tools-assembly .bb-construction{display:block;width:100%;height:auto;max-height:none;overflow:visible}
.tools-assembly .bb-building-shadow{fill:#013443;opacity:.12}
.tools-assembly .assembly-legend{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;justify-content:center;gap:7px}
.assembly-legend li{font-size:12px;line-height:1.4;background:#ffffffb0;border:1px solid #ccd9dc;color:#35545e;border-radius:20px;padding:5px 10px}
.assembly-result{display:flex;align-items:center;gap:14px;justify-content:space-between;border-top:1px solid #ccd9dc;padding-top:18px;text-align:left}
.tools-assembly figcaption{font-size:22px;line-height:1.2;max-width:290px;color:#013443}
.assembly-replay{flex:0 0 44px;width:44px;height:44px;border:1px solid #8fa8af;border-radius:50%;background:#fff;color:#013443;cursor:pointer;font-size:28px;line-height:1;display:grid;place-items:center}.assembly-replay[hidden]{display:none}.assembly-replay:hover{background:#013443;color:#fff}
.tools-assembly>p:last-child{text-align:left;color:#41606a;font-size:14px;line-height:1.5;margin:12px 0 0}
@media(max-width:520px){.tools-assembly{padding:18px 16px}.tools-assembly .bb-construction{max-height:none}.tools-assembly figcaption{font-size:21px}.tools-assembly .assembly-legend{gap:5px}.assembly-legend li{font-size:11px;padding:4px 8px}}
.bb-wire-brick{fill:none;stroke:#a17a32;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}.bb-brick-face{fill:var(--material,#a17a32);fill-opacity:0}.bb-construction{width:100%;height:auto;overflow:visible}.bb-building-shadow{fill:#071411;opacity:.5}.bb-construction .bb-brick-face{fill-opacity:1}.bb-construction .bb-face-1{filter:brightness(.72)}.bb-construction .bb-face-2{filter:brightness(.86)}.bb-construction .bb-wire-brick{stroke:var(--material)}.bb-playing .bb-assembly-brick{animation:contal-brick-position 5.8s cubic-bezier(.22,.7,.2,1) both;animation-delay:calc(var(--i)*100ms)}.bb-playing .bb-assembly-brick .bb-brick-face{animation:bb-brick-material 5.8s both;animation-delay:calc(var(--i)*100ms)}.bb-playing .bb-assembly-brick{stroke:#a17a32}.bb-playing .bb-assembly-brick path,.bb-playing .bb-assembly-brick polygon{animation:bb-brick-line 5.8s both;animation-delay:calc(var(--i)*100ms)}@keyframes contal-brick-position{0%,12%{transform:translate(var(--dx),var(--dy));opacity:0}22%{transform:translate(var(--dx),var(--dy));opacity:1}60%,100%{transform:translate(0,0);opacity:1}}@keyframes bb-brick-material{0%,74%{fill-opacity:0}100%{fill-opacity:1}}@keyframes bb-brick-line{0%,74%{stroke:#a17a32}100%{stroke:var(--material)}}@media(prefers-reduced-motion:reduce){.bb-construction .bb-brick-face{fill-opacity:1}.bb-construction .bb-wire-brick{stroke:var(--material)}}
.bb-playing .bb-assembly-brick .bb-brick-face{animation:bb-brick-material 5.8s both,bb-brick-line 5.8s both;animation-delay:calc(var(--i)*100ms),calc(var(--i)*100ms)}
/* CAD hidden geometry and dimensional stud shading. */
.bb-hidden-edge{fill:none;stroke-dasharray:3 3;stroke-opacity:.4;stroke-width:.8}.bb-stud-shadow{fill:#000;fill-opacity:0;stroke:none!important}.bb-construction .bb-hidden-edge{opacity:0}.bb-construction .bb-stud-shadow{fill-opacity:.25}.bb-construction .bb-stud-side-light{filter:brightness(.75)}.bb-construction .bb-stud-side-dark{filter:brightness(.5)}.bb-construction .bb-stud-cap{filter:brightness(1.14)}.bb-playing .bb-assembly-brick .bb-hidden-edge{animation:bb-hidden-material 5.8s both;animation-delay:calc(var(--i)*100ms)}.bb-playing .bb-assembly-brick .bb-stud-shadow{animation:bb-shadow-material 5.8s both;animation-delay:calc(var(--i)*100ms)}@keyframes bb-hidden-material{0%,74%{opacity:1}100%{opacity:0}}@keyframes bb-shadow-material{0%,74%{fill-opacity:0}100%{fill-opacity:.25}}@media(prefers-reduced-motion:reduce){.bb-construction .bb-hidden-edge{opacity:0}.bb-construction .bb-stud-shadow{fill-opacity:.25}}


/* The same brick vocabulary illustrates relationships, documents and transmission. */
.content-bricks{display:block;width:180px;height:94px;max-width:100%;overflow:visible}.brick-shade-dark{filter:brightness(.72)}.brick-shade-light{filter:brightness(.87)}.brick-stud-top{filter:brightness(1.16)}.brick-diagram-line{fill:none;stroke:#597680;stroke-width:2}.brick-paper{fill:#fff;stroke:#7d969e;stroke-width:1.6}.use-illustration{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.use-illustration .use-number{align-self:flex-start;padding-top:12px;font-size:14px}.uses .use-illustration+.content-bricks{display:none}.formats .content-bricks{width:150px;height:78px;margin:0 0 12px}.autonomy-illustration{float:right;margin:-65px 0 12px 20px}.autonomy-illustration .content-bricks{width:180px;height:94px}#autonomie .experience-grid{clear:both}@media(max-width:800px){.autonomy-illustration{margin:0 0 18px 20px}}@media(max-width:520px){.content-bricks{width:150px;height:78px}.use-illustration{margin-bottom:4px}.formats .content-bricks{width:130px;height:68px}.autonomy-illustration{float:none;margin:0 0 18px}.autonomy-illustration .content-bricks{width:160px;height:84px}}

/* Section illustrations: the same CAD-to-material assembly as the hero. */
.content-brick-motion{stroke:var(--material);stroke-width:.7;stroke-linejoin:round}
.content-playing .content-brick-motion{animation:content-brick-dock 2.8s cubic-bezier(.22,.7,.2,1) both;animation-delay:calc(var(--brick-index)*140ms)}
.content-playing .content-brick-motion path,.content-playing .content-brick-motion ellipse{animation:content-brick-material 2.8s both;animation-delay:calc(var(--brick-index)*140ms)}
.content-playing .brick-diagram-line{stroke-dasharray:300;animation:content-connection 2.8s ease-out both}
@keyframes content-brick-dock{0%,10%{opacity:0;transform:translate(calc((var(--brick-index) - 1)*18px),-24px)}25%{opacity:1}68%,100%{opacity:1;transform:translate(0,0)}}
@keyframes content-brick-material{0%,58%{fill-opacity:0;stroke:#a17a32}100%{fill-opacity:1;stroke:var(--material)}}
@keyframes content-connection{0%,30%{stroke-dashoffset:300;opacity:0}80%,100%{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){.content-playing *{animation:none!important}.content-brick-motion{transform:none;opacity:1}}

/* Only the illustration is interactive; its stable button bounds prevent hover loops. */
.content-brick-replay,.tools-assembly .assembly-stage{display:block;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;text-align:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.content-brick-replay{width:180px;max-width:100%;flex-shrink:1}.tools-assembly .assembly-stage{width:calc(100% + 24px)}
.content-brick-replay:focus-visible,.tools-assembly .assembly-stage:focus-visible{outline:3px solid #997228;outline-offset:4px}
.content-brick-replay:disabled,.tools-assembly .assembly-stage:disabled{cursor:default;opacity:1}
@media(max-width:520px){.content-brick-replay{width:150px}}

/* Compact FAQ, readable and operable without JavaScript. */
.tools-faq-list{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-items:start}.tools-faq-list details{border-top:1px solid #cbd8dc;padding:18px 0}.tools-faq-list summary{cursor:pointer;font-size:20px;line-height:1.4;font-weight:600;color:#013443;padding-right:12px}.tools-faq-list details p{margin:14px 0 0;font-size:17px;line-height:1.65;color:#465b64}.faq-intro{max-width:790px;margin-bottom:25px}.tools-faq-list summary:focus-visible{outline:3px solid #997228;outline-offset:4px}@media(max-width:800px){.tools-faq-list{grid-template-columns:1fr}.tools-faq-list details{padding-block:16px}}
