/* Mobile line-box and connector ownership fixes. Text never shares an animated rail. */
@media(max-width:900px){
 .imp16-shell .mobile-stage__copy{min-width:0!important;width:100%!important;max-width:760px!important;overflow:visible!important}
 .imp16-shell .mobile-stage__copy h1{display:block!important;position:relative!important;width:auto!important;max-width:100%!important;height:auto!important;font-size:clamp(34px,9vw,56px)!important;line-height:1.16!important;letter-spacing:-.02em!important;word-spacing:normal!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;text-wrap:balance!important;transform:none!important;animation:none!important}
 .imp16-shell .imp16-hero__name,.imp16-shell .imp16-hero__descriptor,.imp16-shell .imp16-hero__copy,.imp16-shell .imp16-actions{animation:none!important;transform:none!important;opacity:1!important}
 .imp16-shell .mobile-stage__copy .imp16-hero__descriptor{margin-bottom:24px!important;line-height:1.6!important}
 .imp16-shell .imp16-section h2,.imp16-shell .imp16-close h2{font-size:clamp(28px,7vw,40px)!important;line-height:1.2!important;letter-spacing:-.02em!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
 .imp16-shell .imp16-row h3{line-height:1.45!important;letter-spacing:0!important}
 .imp16-shell .imp16-copy p,.imp16-shell .imp16-section>p,.imp16-shell .imp16-row p{line-height:1.75!important}
 .imp16-shell .mobile-diagram,.imp16-shell .mobile-diagram *{box-sizing:border-box}
 .imp16-shell .mobile-diagram{margin-top:32px!important;margin-bottom:28px!important;overflow:visible!important}
 .imp16-shell .mobile-diagram figcaption{line-height:1.6!important;margin-bottom:20px}
 .imp16-shell .mobile-diagram .mobile-diagram-nodes{width:100%;min-width:0}
 .imp16-shell .mobile-diagram .mobile-diagram-node{position:static!important;min-width:0!important;animation:none!important;transform:none!important;translate:none!important;rotate:none!important;gap:9px!important}
 .imp16-shell .mobile-diagram .mobile-diagram-node strong{display:block!important;position:static!important;line-height:1.45!important;letter-spacing:0!important;overflow-wrap:anywhere!important;white-space:normal!important}
 .imp16-shell .mobile-diagram .mobile-diagram-node span{display:block!important;position:static!important;line-height:1.7!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere!important}
 .imp16-shell .mobile-diagram--flow .mobile-diagram-nodes>li{display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:14px!important;align-items:stretch!important;padding:0!important;margin:0!important}
 .imp16-shell .mobile-diagram--flow .mobile-diagram-nodes>li::after,.imp16-shell .mobile-diagram--flow .mobile-diagram-node::before{display:none!important;content:none!important}
 .imp16-shell .mobile-diagram--flow .mobile-diagram-node{padding:12px 0 26px!important}
 .imp16-shell .mobile-diagram--flow .mobile-flow-rail{display:block!important;position:relative!important;grid-column:1!important;grid-row:1!important;width:24px!important;height:auto!important;min-height:100%!important;transform:none!important;animation:none!important}
 .imp16-shell .mobile-flow-rail::before{content:"";position:absolute;top:20px;left:6px;width:12px;height:12px;border:2px solid var(--diagram-accent);border-radius:50%;background:transparent;box-sizing:border-box;z-index:1}
 .imp16-shell .mobile-flow-rail::after{content:"";position:absolute;top:38px;bottom:-14px;left:11px;width:2px;background:var(--diagram-line);transform-origin:top}
 .imp16-shell .mobile-diagram-nodes>li:last-child .mobile-flow-rail::after{display:none}
 .imp16-shell .mobile-diagram--flow .mobile-diagram-node{grid-column:2!important;grid-row:1!important}
 .imp16-shell .mobile-diagram.is-connected .mobile-flow-rail::after{animation:mobile-rail-draw 650ms cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--node-index)*90ms)}
 .imp16-shell .mobile-diagram.is-connected .mobile-flow-rail::before{animation:mobile-dot-accent 650ms ease both;animation-delay:calc(var(--node-index)*90ms)}
 .imp16-shell .mobile-diagram--hub .mobile-diagram-nodes,.imp16-shell .mobile-diagram--bridge .mobile-diagram-nodes{column-gap:24px!important;row-gap:20px!important}
 .imp16-shell .mobile-diagram-detail,.imp16-shell .mobile-topic-detail{clear:both!important}
 .imp16-shell .mobile-diagram-detail>summary,.imp16-shell .mobile-topic-detail>summary{line-height:1.6!important;min-height:52px!important;padding:14px 0!important}
 .imp16-shell .mobile-topic-map{column-gap:24px!important}
 .imp16-shell .mobile-topic-map .imp16-row{padding-top:24px!important;padding-bottom:24px!important}
 .imp16-shell .mobile-topic-map .imp16-row h3{font-size:16px!important;line-height:1.6!important;letter-spacing:0!important}
 .imp16-shell .mobile-topic-map .imp16-row p{font-size:15px!important;line-height:1.75!important}
 .imp16-shell .mobile-energy-ribbon span{line-height:1.35!important;letter-spacing:-.01em!important}
 .imp16-shell .imp16-section.motion-art-ready .imp16-rule{transform-origin:left!important;animation:mobile-rule-draw 650ms cubic-bezier(.22,1,.36,1) both!important}
 .imp16-shell .mobile-diagram-detail[open]>.imp16-copy,.imp16-shell .mobile-diagram-detail[open]>.imp16-rows{animation:mobile-detail-fade 200ms ease-out both}
 .imp16-shell .imp16-button:active .imp16-arrow{transform:translate(3px,-3px)!important;transition:transform 150ms cubic-bezier(.22,1,.36,1)!important}
 @media(max-width:480px){
  .imp16-shell .mobile-diagram--hub .mobile-diagram-nodes,.imp16-shell .mobile-diagram--bridge .mobile-diagram-nodes,.imp16-shell .mobile-topic-map{grid-template-columns:minmax(0,1fr)!important}
  .imp16-shell .mobile-diagram--bridge .mobile-diagram-nodes{padding-top:0!important;padding-left:22px!important;gap:12px!important}
  .imp16-shell .mobile-diagram--bridge .mobile-diagram-nodes::before{top:24px;bottom:24px;left:4px;right:auto;width:1px;height:auto}
  .imp16-shell .mobile-diagram--bridge .mobile-diagram-nodes>li::before,.imp16-shell .mobile-diagram--bridge .mobile-diagram-nodes>li:last-child::before{left:-22px;right:auto;top:21px;width:9px;height:9px}
  .imp16-shell .mobile-diagram--hub .mobile-diagram-nodes{gap:10px!important}
 }
 @media(prefers-reduced-motion:reduce){
  .imp16-shell .mobile-flow-rail::before,.imp16-shell .mobile-flow-rail::after,.imp16-shell .imp16-section.motion-art-ready .imp16-rule,.imp16-shell .mobile-diagram-detail[open]>.imp16-copy,.imp16-shell .mobile-diagram-detail[open]>.imp16-rows{animation:none!important;transform:none!important;opacity:1!important}
 }
}
@keyframes mobile-rail-draw{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
@keyframes mobile-dot-accent{from{background:transparent}to{background:var(--diagram-accent)}}
@keyframes mobile-rule-draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@keyframes mobile-detail-fade{from{opacity:.65}to{opacity:1}}

/* Mobile navigation: original logo geometry, dark lettering for the light menu. */
@media(max-width:900px){
 .imp16-shell .imp16-menu__nav .imp16-menu__group-title{min-height:52px!important;padding:8px 0!important;display:flex!important;align-items:center!important}
 .imp16-shell .imp16-menu__nav .mobile-training-brand{display:block!important;position:static!important;width:174px!important;max-width:70%!important;height:auto!important;aspect-ratio:1824/428!important;object-fit:contain!important;content:normal!important;filter:none!important}
 .imp16-shell .imp16-menu__nav .imp16-menu__sub{padding:0 0 0 16px!important;margin-top:5px!important}
 .imp16-shell .imp16-menu__nav .imp16-menu__sub a{font-size:13px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:0!important;min-height:44px!important;padding:10px 0!important;display:flex!important;align-items:center!important}
}

@media(max-width:900px){
 .imp16-shell .feedback-mobile-client-grid img{filter:none!important;-webkit-filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
}
