/* Repère visible sur fond clair comme sur fond sombre. */
:focus-visible{outline:3px solid #111!important;outline-offset:4px;box-shadow:0 0 0 7px #fff!important}
main:focus{outline:none}
.skip:focus{position:fixed!important;top:12px!important;left:12px!important;z-index:10000;background:#fff;color:#111;padding:16px;transform:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.field-error{display:block;color:#8b2020;font-size:14px;line-height:1.5;margin:8px 0}
[aria-invalid=true]{border:2px solid #8b2020!important}
.error-summary a{color:#8b2020;text-decoration:underline;text-underline-offset:3px}
main p a:not(.button),main li a:not(.button){text-decoration:underline;text-underline-offset:3px}
.contact-form input,.contact-form select,.contact-form textarea{border-color:#677c7f}
.contact-form .consent input{accent-color:#006f76}
.october-promo{background:linear-gradient(115deg,#005e65,#007078)}
.cta{background:#007078}.cta .eyebrow{color:#fff}
.reference-turquoise{background:#007078}.reference-turquoise .eyebrow,.reference-turquoise p{color:#fff}
.october-action>span{font-size:12px;line-height:1.6}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid CanvasText}.button{border:1px solid ButtonText}}
