/* Shared navigation and partner directory refinement. */
html body :is(h1,h2,h3,h4,.btn,.eyebrow,.tag,.nav-top,.mega a,.mega a span,.feature-label,.aiivare-cue,.mobile-scene-title,.mobile-scene-note){text-transform:none!important}
html.tv-g body header.site-header :is(button,a){-webkit-tap-highlight-color:transparent}
html.tv-g body header.site-header .nav-top{font-family:Barlow,"Segoe UI",sans-serif!important;font-size:15px!important;font-weight:500!important;line-height:1.3!important;letter-spacing:-.015em!important;color:#202344!important}
html.tv-g body header.site-header ul.nav>li>.mega{font-family:Barlow,"Segoe UI",sans-serif!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #e8e7f0!important;border-radius:22px!important;box-shadow:0 24px 64px -20px rgba(24,24,66,.25),0 4px 12px rgba(24,24,66,.035)!important;gap:0!important;padding:24px 16px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.tv-g body header.site-header ul.nav>li>.mega::before,html.tv-g body header.site-header ul.nav>li>.mega::after{content:none!important}
html.tv-g body header.site-header ul.nav>li>.mega>div{padding:0 16px!important;min-width:0!important;background:none!important;border-left:1px solid #eeedf4!important;box-shadow:none!important}
html.tv-g body header.site-header ul.nav>li>.mega>div:first-child{border-left:0!important}
html.tv-g body header.site-header ul.nav>li>.mega>div::before{content:none!important}
html.tv-g body header.site-header ul.nav>li>.mega h4{font:600 15px/1.35 Barlow,"Segoe UI",sans-serif!important;color:#77758c!important;background:none!important;-webkit-text-fill-color:#77758c!important;letter-spacing:.01em!important;padding:0 12px 13px!important;margin:0 0 8px!important;border-bottom:1px solid #eeedf4!important;white-space:normal!important}
html.tv-g body header.site-header ul.nav>li>.mega h4::before,html.tv-g body header.site-header ul.nav>li>.mega h4::after{content:none!important}
html.tv-g body header.site-header ul.nav>li>.mega a{position:relative!important;display:block!important;padding:12px 28px 12px 12px!important;margin:2px 0!important;border-radius:10px!important;color:#262545!important;background:transparent!important;font:450 15px/1.5 Barlow,"Segoe UI",sans-serif!important;letter-spacing:-.012em!important;text-align:left!important;text-decoration:none!important;border:0!important;box-shadow:none!important;white-space:normal!important;overflow-wrap:break-word!important;transition:background .18s ease,color .18s ease!important;transform:none!important}
html.tv-g body header.site-header ul.nav>li>.mega a::after{content:"↗"!important;position:absolute!important;right:11px!important;top:13px!important;color:#6860a3!important;font-size:16px!important;opacity:0!important;transform:translate(-3px,3px)!important;transition:opacity .18s,transform .18s!important;background:none!important;width:auto!important;height:auto!important;border:0!important}
html.tv-g body header.site-header ul.nav>li>.mega a:hover,html.tv-g body header.site-header ul.nav>li>.mega a:focus-visible{background:#f5f3fa!important;color:#4e347b!important;transform:none!important}
html.tv-g body header.site-header ul.nav>li>.mega a:hover::after,html.tv-g body header.site-header ul.nav>li>.mega a:focus-visible::after{opacity:1!important;transform:none!important}
html.tv-g body header.site-header ul.nav>li>.mega a span:not(.tv-sr){font:400 15px/1.45 Barlow,"Segoe UI",sans-serif!important;color:#77758a!important;letter-spacing:-.015em!important;display:block!important;margin-top:4px!important}
html.tv-g body header.site-header ul.nav>li>.mega a .tv-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
html.tv-g body header.site-header ul.nav>li>.mega img.tv-menu-logo{height:25px!important;max-height:25px!important;width:auto!important;max-width:100%!important;object-fit:contain!important;margin:0 0 7px!important;filter:none!important}
html.tv-g body header.site-header :is(a,button):focus-visible{outline:2px solid #6551a5!important;outline-offset:3px!important}
@media(min-width:1100px){
 html.tv-g body header.site-header>.wrap{gap:14px!important;max-width:1512px!important;padding:14px 24px!important}
 html.tv-g body header.site-header a.brand img{height:40px!important;min-height:40px!important;width:auto!important;max-width:none!important}
 html.tv-g body header.site-header .nav-zone{flex:1 1 auto!important;min-width:0!important;display:flex!important;justify-content:center!important}
 html.tv-g body header.site-header nav[aria-label="Main"]{padding:5px!important;border-radius:999px!important;background:#fff!important;border:1px solid #e8e7f0!important}
 html.tv-g body header.site-header ul.nav{display:flex!important;align-items:center!important;gap:0!important;position:relative!important}
 html.tv-g body header.site-header ul.nav>li{position:relative!important}
 html.tv-g body header.site-header .nav-top{height:42px!important;padding:10px 10px!important;gap:5px!important;border-radius:999px!important;white-space:nowrap!important}
 html.tv-g body header.site-header .nav-top .nav-chevron{width:10px!important;height:10px!important}
 html.tv-g body header.site-header .nav-top::after{display:none!important}
 html.tv-g body header.site-header li.expanded>.nav-top,html.tv-g body header.site-header li.tv-current>.nav-top{background:linear-gradient(110deg,#f3edf7,#f0effb)!important;color:#503781!important}
 html.tv-g body header.site-header .menu-toggle{display:none!important}
 html.tv-g body header.site-header ul.nav>li>.mega{display:grid!important;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))!important;position:absolute!important;left:var(--menu-panel-left,0px)!important;right:auto!important;top:calc(100% + 14px)!important;transform:none!important;width:680px!important;min-width:0!important;max-width:calc(100vw - 40px)!important;max-height:calc(100dvh - 130px)!important;overflow:auto!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;transition:opacity .16s,visibility .16s!important}
 html.tv-g body header.site-header ul.nav>li>.mega[style*="--cols:3"]{width:960px!important}
 html.tv-g body header.site-header ul.nav>li.expanded>.mega{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important}
 html.tv-g body header.site-header .header-cta{font-size:15px!important;padding:10px 14px!important}
 html.tv-g body header.site-header .nav-search{width:36px!important;height:36px!important}
 html.tv-g body header.site-header .header-actions{gap:8px!important;flex-shrink:0!important}
 html.tv-g body header.site-header .tv-home-icon{flex-shrink:0!important;margin:0!important}
}
@media(min-width:1100px) and (max-width:1399px){
 html.tv-g body header.site-header>.wrap{gap:10px!important;padding-inline:18px!important}
 html.tv-g body header.site-header a.brand img{height:34px!important;min-height:34px!important}
 html.tv-g body header.site-header .nav-top{padding-inline:8px!important}
 html.tv-g body header.site-header .header-cta{padding-inline:10px!important}
}
@media(max-width:1099px){
 html.tv-g body header.site-header>.wrap{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:12px 20px!important;min-height:78px!important}
 html.tv-g body header.site-header a.brand img{height:36px!important;min-height:36px!important;width:auto!important;max-width:none!important}
 html.tv-g body header.site-header .nav-zone{flex:0 0 0!important;position:static!important;margin:0!important}
 html.tv-g body header.site-header nav[aria-label="Main"]{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
 html.tv-g body header.site-header .nav-zone ul.nav{display:none!important}
 html.tv-g body header.site-header .header-actions{display:flex!important;margin-left:auto!important;gap:10px!important;align-items:center!important}
 html.tv-g body header.site-header .menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;width:42px!important;height:42px!important;border-radius:12px!important}
 html.tv-g body header.site-header .nav-help{display:none!important}
 html.tv-g body header.site-header.open .nav-zone ul.nav{display:flex!important;flex-direction:column!important;position:absolute!important;top:calc(100% + 4px)!important;left:16px!important;right:16px!important;width:auto!important;max-height:calc(100dvh - 110px)!important;overflow-y:auto!important;padding:12px!important;margin:0!important;background:#fff!important;border:1px solid #e8e7f0!important;border-radius:18px!important;box-shadow:0 24px 48px -15px #22204433!important;gap:2px!important}
 html.tv-g body header.site-header.open ul.nav>li{position:static!important;width:100%!important}
 html.tv-g body header.site-header.open .nav-top{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:48px!important;padding:10px 14px!important;font-size:16px!important;border-radius:10px!important}
 html.tv-g body header.site-header.open .nav-top::after{content:none!important}
 html.tv-g body header.site-header.open ul.nav>li>.mega,html.tv-g body header.site-header.open ul.nav>li:hover>.mega{display:none!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;width:100%!important;min-width:0!important;max-width:100%!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;border:0!important;box-shadow:none!important;background:#faf9fc!important;border-radius:12px!important;margin:2px 0 10px!important;padding:14px 4px!important;grid-template-columns:1fr!important;max-height:none!important;overflow:visible!important}
 html.tv-g body header.site-header.open ul.nav>li.expanded>.mega,html.tv-g body header.site-header.open ul.nav>li.expanded:hover>.mega{display:grid!important;transform:none!important}
 html.tv-g body header.site-header.open ul.nav>li>.mega>div{border-left:0!important;padding:8px!important}
 html.tv-g body header.site-header ul.nav>li>.mega a{min-height:44px!important;padding-block:10px!important}
 html.tv-g body header.site-header .header-cta{position:static!important;font-size:15px!important}
}
@media(max-width:767px){html.tv-g body header.site-header .header-cta-stack{display:none!important}html.tv-g body header.site-header>.wrap{padding:12px 16px!important;gap:8px!important}html.tv-g body header.site-header a.brand img{height:30px!important;min-height:30px!important}html.tv-g body header.site-header .nav-search{width:38px!important;height:38px!important}html.tv-g body header.site-header .header-actions{gap:6px!important}}
/* Partner marks always sit on an opaque white surface, with original proportions. */
html body :is(.partner-logo-mark,.tv-partner-logo-surface){background:#fff!important}
html body .partner-directory-item--inverted{background:#fff!important;color:#252345!important}
html body .partner-directory-item--inverted :is(h3,p){color:inherit!important}
html body img[src*="partner-indigo.png"]{filter:brightness(0) saturate(100%)!important}
.tv-partners-page{--partner-ink:#262345;--partner-muted:#6d6a80;background:#fff!important;color:var(--partner-ink)}
html body .tv-partners-page .tv-partners-hero{padding-block:54px 42px!important;background:linear-gradient(125deg,#fdfbff,#fff 65%,#fafaff)!important}
html body .tv-partners-page .tv-partners-hero h1{font-size:clamp(36px,4.5vw,60px)!important;line-height:1.1!important;font-weight:500!important;letter-spacing:-.04em!important;margin:20px 0!important}
.tv-partners-page .tv-partners-intro{max-width:640px;font-size:18px;line-height:1.6;color:var(--partner-muted);margin:10px 0 0}
.tv-partners-page .tv-partner-jump{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:30px}
.tv-partners-page .tv-partner-jump a{font-size:15px;font-weight:500;display:inline-flex;gap:16px;align-items:center;padding:12px 0;color:#453770;border-bottom:1px solid #ded8ec;text-decoration:none}
.tv-partners-page .tv-partner-jump a:hover{border-color:#82639f;color:#823b79}
html body .tv-partners-page .tv-partner-section{padding-block:48px!important;background:#fff!important;border-top:1px solid #eeecf3!important;color:var(--partner-ink)!important}
html body .tv-partners-page #implementation{background:#faf9fc!important}
html body .tv-partners-page .tv-partner-section-heading{display:grid;grid-template-columns:1fr 1.1fr;align-items:end;gap:24px;margin-bottom:28px}
html body .tv-partners-page .tv-partner-section-heading h2{font-size:clamp(28px,3vw,38px)!important;font-weight:450!important;letter-spacing:-.035em!important;line-height:1.2!important;margin:10px 0 0!important}
.tv-partners-page .tv-partner-index{font-size:13px;letter-spacing:.04em;color:#8a698c}
.tv-partners-page .tv-partner-section-heading>p{font-size:17px;line-height:1.6;color:var(--partner-muted);max-width:560px;margin:0}
.tv-partners-page .tv-partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.tv-partners-page .tv-partner-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.tv-partners-page .tv-partner-card{background:#fff;border:1px solid #e9e6ef;border-radius:18px;min-width:0;padding:26px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}
.tv-partners-page .tv-partner-card:hover{border-color:#cfc3df;box-shadow:0 12px 32px -22px #33254b66}
.tv-partners-page .tv-partner-brand{display:block;text-decoration:none;color:var(--partner-ink)}
html body .tv-partners-page .tv-partner-logo-surface{height:94px;display:flex;align-items:center;justify-content:flex-start;background:#fff!important;border-bottom:1px solid #efedf3;margin-bottom:22px;padding-bottom:20px}
html body .tv-partners-page .tv-partner-logo-surface img{display:block!important;height:36px!important;max-height:36px!important;width:auto!important;max-width:100%!important;object-fit:contain!important;object-position:left center!important;margin:0!important}
html body .tv-partners-page .tv-partner-card h3{font-size:20px!important;font-weight:500!important;line-height:1.35!important;letter-spacing:-.02em!important;color:var(--partner-ink)!important;margin:0 0 8px!important}
.tv-partners-page .tv-partner-territory{font-size:15px;line-height:1.55;color:var(--partner-muted);margin:0 0 18px}
.tv-partners-page .tv-partner-role{font-size:13px;color:#65517f;letter-spacing:.02em;margin:auto 0 0;padding-top:12px}
.tv-partners-page .tv-partner-description{font-size:16px;line-height:1.6;color:var(--partner-muted);margin:14px 0}
.tv-partners-page .tv-partner-story{display:inline-flex;align-items:center;gap:12px;color:#554078;font-size:15px;margin-top:auto;padding-top:12px;text-decoration:none}
html body .tv-partners-page .tv-partner-model{padding-block:46px!important;background:#f8f7fb!important;color:var(--partner-ink)!important}
.tv-partners-page .tv-partner-model :is(p,.lead){max-width:900px}
.tv-partners-page :is(#directory,#alliance,#implementation,#technology,#model,#join){scroll-margin-top:120px}
html body .tv-partners-page .tv-partner-join :is(h2,p,.eyebrow){color:#fff!important;-webkit-text-fill-color:#fff!important}
.tv-partners-page a:focus-visible{outline:2px solid #6551a5;outline-offset:5px;border-radius:4px}
@media(max-width:1023px){.tv-partners-page .tv-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.tv-partners-page .tv-partner-grid,.tv-partners-page .tv-partner-grid--two,html body .tv-partners-page .tv-partner-section-heading{grid-template-columns:1fr!important}.tv-partners-page .tv-partner-card{padding:22px}.tv-partners-page .tv-partner-section-heading{gap:14px!important}.tv-partners-page .tv-partner-jump{flex-direction:column;gap:0}.tv-partners-page .tv-partner-jump a{justify-content:space-between}.tv-partners-page .tv-partner-territory{margin-bottom:12px}html body .tv-partners-page .tv-partner-section{padding-block:34px!important}}
@media(prefers-reduced-motion:reduce){html.tv-g body header.site-header *,html body .tv-partners-page *{scroll-behavior:auto!important;transition:none!important}}
/* Override the earlier ID-specific Products panel sizing at both breakpoints. */
html.tv-g body header.site-header #nav-panel-products .tv-menu-logo{height:25px!important;min-height:25px!important;max-height:25px!important;max-width:100%!important}
@media(min-width:1100px){
 html.tv-g body header.site-header ul.nav>li>#nav-panel-products{left:var(--menu-panel-left,0px)!important;right:auto!important;width:960px!important;min-width:0!important;max-width:calc(100vw - 40px)!important;overflow:auto!important;transform:none!important}
 html.tv-g body header.site-header ul.nav>li:hover>#nav-panel-products,html.tv-g body header.site-header ul.nav>li.expanded>#nav-panel-products{transform:none!important}
}
@media(max-width:1099px){
 html.tv-g body header.site-header.open ul.nav>li>#nav-panel-products{position:static!important;left:auto!important;right:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;transform:none!important;overflow:visible!important;box-sizing:border-box!important}
 html.tv-g body header.site-header.open ul.nav>li:hover>#nav-panel-products,html.tv-g body header.site-header.open ul.nav>li.expanded>#nav-panel-products{transform:none!important}
}

/* Stable disclosure navigation: pointer movement never dismisses the menu. */
html.tv-g body header.site-header{position:sticky!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:auto!important;min-height:78px!important;margin:0!important;transform:none!important;opacity:1!important;visibility:visible!important;overflow:visible!important;z-index:1000!important;background:#fff!important;border-radius:0!important}
html.tv-g body header.site-header a.brand{display:flex!important;flex:0 0 auto!important;align-items:center!important;width:auto!important;max-width:none!important;visibility:visible!important;opacity:1!important;transform:none!important}
html.tv-g body header.site-header a.brand img{display:block!important;opacity:1!important;visibility:visible!important;object-fit:contain!important;max-height:40px!important;transform:none!important}
html.tv-g body header.site-header ul.nav>li>.mega>div{opacity:1!important;transform:none!important}
html.tv-g body header.site-header ul.nav>li>.mega img.tv-menu-logo{opacity:1!important}
html.tv-g body header.site-header ul.nav>li:not(.expanded)>.mega{display:none!important;visibility:hidden!important;pointer-events:none!important}
html.tv-g body header.site-header ul.nav>li.expanded>.mega{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
@media(min-width:1100px){
 html.tv-g body header.site-header>.wrap{display:flex!important;align-items:center!important;height:auto!important;overflow:visible!important}
 html.tv-g body header.site-header .nav-zone{position:static!important;opacity:1!important;visibility:visible!important}
 html.tv-g body header.site-header .nav-zone ul.nav{display:flex!important;flex-direction:row!important;visibility:visible!important;opacity:1!important;width:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important}
 html.tv-g body header.site-header .nav-top{display:inline-flex!important;visibility:visible!important;opacity:1!important}
 html.tv-g body header.site-header .nav-help{display:none!important}
}
@media(max-width:1099px){
 html.tv-g body header.site-header .nav-zone{display:block!important}
 html.tv-g body header.site-header .nav-zone ul.nav{display:none!important}
 html.tv-g body header.site-header.open .nav-zone ul.nav{display:flex!important}
 html.tv-g body header.site-header a.brand img{max-width:160px!important;min-height:0!important;height:30px!important}
}

/* One desktop toolbar row; never move navigation below the brand. */
@media(min-width:1100px){
 html.tv-g body header.site-header>.wrap{flex-wrap:nowrap!important;flex-direction:row!important;gap:10px!important;padding:10px 20px!important;min-height:76px!important}
 html.tv-g body header.site-header a.brand{order:0!important}
 html.tv-g body header.site-header .tv-home-icon{order:1!important}
 html.tv-g body header.site-header .nav-zone{order:2!important;flex:1 1 auto!important;width:auto!important;margin:0!important;align-self:center!important}
 html.tv-g body header.site-header .header-actions{order:3!important;margin:0!important;align-self:center!important}
 html.tv-g body header.site-header .menu-toggle{display:none!important}
 html.tv-g body header.site-header .header-cta{display:inline-flex!important}
}
@media(min-width:1100px) and (max-width:1399px){
 html.tv-g body header.site-header>.wrap{gap:6px!important;padding-inline:12px!important}
 html.tv-g body header.site-header a.brand img{height:32px!important;min-height:32px!important;max-height:32px!important}
 html.tv-g body header.site-header .tv-home-icon{width:26px!important;height:26px!important}
 html.tv-g body header.site-header .nav-top{font-size:15px!important;padding-inline:6px!important;gap:3px!important}
 html.tv-g body header.site-header nav[aria-label="Main"]{padding:3px!important}
 html.tv-g body header.site-header .header-actions{gap:6px!important}
 html.tv-g body header.site-header .nav-search{width:32px!important;height:32px!important}
 html.tv-g body header.site-header .header-cta{font-size:13px!important;padding:8px 10px!important;margin-left:0!important}
}

/* QA fix 24 Oct 2026: mobile menu was positioned inside a zero-width nav; anchor it to the header instead */
@media (max-width: 1100px){html.tv-g body header.site-header.open div.nav-zone,html.tv-g body header.site-header.open div.nav-zone>nav[aria-label="Main"],html.tv-g body header.site-header.navbar.open div.wrap div.nav-zone>nav[aria-label="Main"]{position:static!important}}

/* QA-213: let Academy menu descriptions wrap instead of being cut off */
html body #nav-panel-academy .dropdown-item span{white-space:normal!important;text-overflow:clip!important;overflow:visible!important;display:block}
