/* Navigation only: preserve header, logo and primary CTA geometry and styling. */
.header .header-shell{column-gap:14px}
.header #primary-navigation{gap:6px}
.header #primary-navigation>a:not(.mobile-nav-cta){display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 10px;border:1px solid rgba(117,161,192,.18);border-radius:9px;background:rgba(14,37,61,.45);color:#edf4fa;font-size:15px;line-height:1.25;font-weight:550;white-space:nowrap;text-decoration:none;text-shadow:none!important;box-shadow:none!important;filter:none!important;transform:none!important;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.header #primary-navigation>a:not(.mobile-nav-cta):hover{background:#123d60;color:#fff;border-color:#32779f;text-shadow:none!important;box-shadow:none!important;transform:none!important}
.header #primary-navigation>a.is-current:not(.mobile-nav-cta),.header #primary-navigation>a[aria-current="location"]:not(.mobile-nav-cta){background:#104567;color:#fff;border-color:#3983ad;text-shadow:none!important;box-shadow:none!important}
.header #primary-navigation>a:not(.mobile-nav-cta):focus-visible{outline:2px solid #8ed9ff;outline-offset:3px;background:#123d60;color:#fff}
.header #primary-navigation>a:not(.mobile-nav-cta)::before,.header #primary-navigation>a:not(.mobile-nav-cta)::after{content:none!important}
@media(min-width:1241px) and (max-width:1360px){
 .header .header-shell{column-gap:10px}
 .header #primary-navigation{gap:4px}
 .header #primary-navigation>a:not(.mobile-nav-cta){padding-inline:8px}
}
/* Collapse earlier only where larger navigation labels would collide with the
   approved logo/CTA. The existing menu events and aria state are reused. */
@media(min-width:1121px) and (max-width:1240px){
 .header .header-shell{justify-content:space-between}
 .header .header-actions{display:none}
 .header .menu{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #315674;border-radius:10px;background:#11324d;color:#eef7ff;font-size:22px}
 .header #primary-navigation{position:absolute;top:calc(100% + 10px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;margin:0;padding:12px;border:1px solid #254761;border-radius:14px;background:#06162f;max-height:calc(100svh - 150px);overflow-y:auto}
 .header #primary-navigation.open{display:flex}
 .header #primary-navigation .mobile-nav-only{display:flex}
}
@media(max-width:1240px){
 .header #primary-navigation{gap:8px}
 .header #primary-navigation>a:not(.mobile-nav-cta){justify-content:flex-start;min-height:48px;padding:12px 16px;font-size:16px}
 .header #primary-navigation .mobile-nav-cta{min-height:48px;justify-content:center;align-items:center;padding:12px 16px}
}
#software-cycle .cycle-intro h2{max-width:880px;margin-inline:auto;font-size:clamp(29px,3.1vw,42px);line-height:1.22;text-wrap:balance;word-break:normal}
#software-cycle .cycle-intro>p{max-width:840px;margin:24px auto 0;font-size:17px;line-height:1.8;color:#c7d8e5}
#software-cycle .cycle-intro>.fragmentation-support{color:#abc4d8;font-size:16px;line-height:1.8;margin-top:22px}
#software-cycle .cycle-transition{gap:18px;align-items:center;margin-top:36px}
#software-cycle .cycle-transition>b{display:block;flex:1;min-width:0;max-width:800px;padding:20px 24px;border-radius:18px;font-size:20px;line-height:1.7;font-weight:550;white-space:normal;text-align:center;color:#b8e4ff}
#software-cycle .cycle-transition>span{flex:0 1 40px;min-width:0}
@media(max-width:680px){
 #software-cycle .cycle-intro h2{font-size:29px;line-height:1.25}
 #software-cycle .cycle-intro>p{font-size:16px;line-height:1.75}
 #software-cycle .problem-card{margin-inline:0!important}
 #software-cycle .cycle-transition{gap:8px;margin-top:28px}
 #software-cycle .cycle-transition>b{font-size:18px;line-height:1.7}
 #software-cycle .cycle-transition>span{flex-basis:10px}
}
@media(prefers-reduced-motion:reduce){.header #primary-navigation>a:not(.mobile-nav-cta){transition:none}}
