:root{--igm-dur-quick:160ms;--igm-dur-base:280ms;--igm-dur-scene:480ms;--igm-ease-out:cubic-bezier(.2,.7,.2,1);--igm-ease-inout:cubic-bezier(.65,0,.35,1);--dur-quick:var(--igm-dur-quick);--dur-base:var(--igm-dur-base);--dur-scene:var(--igm-dur-scene);--ease-out:var(--igm-ease-out);--ease-inout:var(--igm-ease-inout)}
/* v24 defect fixes; existing palette, typography and document flow remain. */
.a22-chapter-heading{position:relative}
.a22 .a22-chapter>.a22-chapter-heading::before,.a22 .a22-chapter.is-current>.a22-chapter-heading::before{content:"";display:block;position:absolute;top:-16px;left:0;width:48px;height:3px;margin:0;opacity:0;transform:scaleX(0);transform-origin:left;transition:transform var(--igm-dur-scene) var(--igm-ease-out),opacity var(--igm-dur-scene) var(--igm-ease-out)}
.a22 .a22-chapter.is-current>.a22-chapter-heading::before{opacity:1;transform:scaleX(1)}
.a22-static .a22-chapter>.a22-chapter-heading::before{transform:scaleX(1);opacity:1}
html.v24-menu-open{overflow:hidden}
.mobile-nav>summary .hamburger,.mobile-nav[open]>summary .hamburger{position:relative;display:block;width:24px;height:24px;border:0;background:transparent;transform:none;font-size:0}
.mobile-nav>summary .hamburger::before,.mobile-nav>summary .hamburger::after{content:"";display:block;position:absolute;left:0;top:8px;width:24px;height:2px;background:currentColor;transform:none;transition:transform var(--igm-dur-base) var(--igm-ease-inout)}
.mobile-nav>summary .hamburger::after{top:15px}
.mobile-nav[open]>summary .hamburger::before{transform:translateY(3.5px) rotate(45deg)}
.mobile-nav[open]>summary .hamburger::after{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav[open]>nav{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
.v24-required{display:inline-block;margin-left:8px;font-size:12px;font-weight:600}
.native-contact .mwform-radio-field{margin-left:0!important;margin-right:12px;display:inline-flex;align-items:center}
.native-contact .mwform-radio-field label{display:inline-flex;align-items:center;gap:6px}
.native-contact .mwform-radio-field input{margin-left:0!important}
.v24-diagram-note{max-width:1200px;margin:16px auto;padding-inline:24px;font-size:13px}
.a22 main :is(h1,h2,h3){word-break:auto-phrase}
.is-motion .r16-role figcaption,.is-motion .r16-role .r16-note{visibility:visible;opacity:var(--scene-caption-opacity,0);transform:translateY(var(--scene-caption-y,12px))}
@media(min-width:1000px) and (min-height:680px){.r16-journey.is-motion .r16-role{transform:none;clip-path:inset(0 calc((1 - var(--scene-progress,0))*100%) 0 0)}}
.a22-static *,.a22-static *::before,.a22-static *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.a22 .a22-chapter>.a22-chapter-heading::before{transform:scaleX(1);opacity:1}}

@media(min-width:1000px) and (min-height:680px){.r16-journey.is-motion .r16-role{background:#fff}.r16-journey.is-motion .r16-role:before{opacity:1}.r16-journey.is-motion .r16-role figure img{clip-path:none}}

html:focus-within{scroll-behavior:auto!important}

.mobile-nav>nav,.a22-nav-group details>div{transition:opacity var(--igm-dur-base) var(--igm-ease-out),transform var(--igm-dur-base) var(--igm-ease-out)}
@starting-style{.mobile-nav[open]>nav,.a22-nav-group details[open]>div{opacity:0;transform:translateY(8px)}}
.native-contact .v24-field{position:relative;display:block}
.native-contact .v24-field::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--igm-dur-quick) var(--igm-ease-out);pointer-events:none}
.native-contact .v24-field:focus-within::after{transform:scaleX(1)}
.native-contact .error{opacity:1;transform:none;transition:opacity var(--igm-dur-base) var(--igm-ease-out),transform var(--igm-dur-base) var(--igm-ease-out)}
@starting-style{.native-contact .error{opacity:0;transform:translateY(5px)}}
