/* Socle des nouvelles scènes : les valeurs de repos sont toujours finales. */
:root { --blue: #007bff; }
/* Le bleu des petits titres sur crème garde le contraste du texte courant. */
.expertise-build .service[open] h3 { color: #005fc7; }
.clipboard-buffer { position: fixed; top: 0; left: 0; width: 1px; height: 1px; padding: 0; opacity: 0; pointer-events: none; }
.header { background: #0b0f19; color: #f5f4ee; border-color: #ffffff26; }
.header .brand-logo, .footer-logo { filter: brightness(0) invert(1); }
.header .motion-toggle { border-color: #ffffff40; }
.header .motion-toggle:hover { color: #0b0f19; }
.header .menu-toggle span { background: #f5f4ee; }
.header-cta:hover { color: #d8f36a; }
.mobile-nav { background: #0b0f19; color: #f5f4ee; border-color: #ffffff26; }
.page-scene { position: relative; isolation: isolate; overflow: clip; --scene-progress: 1; --scene-dash: 0; --scene-guide: 0; --scene-x: 0px; --scene-y: 0px; --scene-turn: 0deg; --scene-scale: 1; }
.page-scene > .scene-guides { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: var(--scene-guide); }
.page-scene > .scene-guides path { stroke-dasharray: 1; stroke-dashoffset: var(--scene-dash); }
.page-scene > .section-shell, .page-scene .section-intro, .page-scene .approach-layout, .page-scene .toolbox { position: relative; z-index: 1; }
.page-scene .section-intro h2 { transform-origin: left center; transform: translate(var(--scene-x), var(--scene-y)) scale(var(--scene-scale)); }
.page-scene .section-rule { transform-origin: left; transform: scaleX(var(--scene-progress)); }
.faq-build { padding-top: 10px; padding-bottom: 100px; gap: clamp(40px, 7vw, 110px); }
.faq-build .faq-heading h2 { font-family: Georgia, serif; font-weight: 400; }
.faq-build .faq-list { border-color: #929d9a; }
.faq-build .faq-list summary { font-size: 16px; line-height: 1.6; padding: 26px 12px; transition: background .18s; }
.faq-build .faq-list summary:hover { background: #e8ece5; }
.faq-build .faq-list details[open] { border-left: 2px solid #8a2be2; }
.faq-build .faq-list p { font-size: 14px; padding: 0 22px 25px 14px; line-height: 1.9; animation: none; }
.footer { max-width: none; padding-inline: max(var(--gutter), calc((100% - var(--max)) / 2)); background: #0b0f19; color: #f5f4ee; }
.footer > p, .footer .legal-open { color: #bac4d5; }
.footer .back-top { border-color: #ffffff40; }
.footer .back-top:hover { color: #0b0f19; }
@media (max-width: 620px) {
  .faq-build { padding-block: 0 60px; }
  .faq-build .faq-list summary { font-size: 14px; padding-inline: 8px; }
  .faq-build .faq-list p { font-size: 13px; padding-right: 8px; }
}
/* Le focus ne dépend jamais d'une position intermédiaire de la timeline. */
:is(.motion-paused .page-scene, .page-scene:focus-within) .section-intro h2 { transform: none; }
:is(.motion-paused .page-scene, .page-scene:focus-within) .section-rule { transform: scaleX(1); }
:is(.motion-paused .page-scene, .page-scene:focus-within) > .scene-guides { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .page-scene > .scene-guides { display: none; }
  .page-scene .section-intro h2 { transform: none; }
  .page-scene .section-rule { transform: scaleX(1); }
}
