/* Reference navigation CSS extracted from the working prototype.
   Everything is scoped to the header: no html/body/:root rules, so it can sit inside an existing theme.
   Custom properties live on .site-header and .site-header-spacer (the in-flow element that reserves the fixed header's height).
   --site-header-top (default 0) lets a host page push the fixed header down, e.g. below an announcement banner while
   it is on screen; the dropdown and mobile-menu height caps subtract it too. */
.site-header,.site-header-spacer{--signin-fade:128px;--signin-solid:236px;--bg:#000;--white:#fff;--muted:#aaa;--line:#4a4a4a;--hv:#2BB8C7;--sh:#CA3C7D;--nav-badge:#55bd3c;--max:1170px;--grid-gap:44px;--header-h:80px}
:where(.site-header),:where(.site-header) *{box-sizing:border-box}.site-header{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:400;line-height:normal;letter-spacing:normal;text-align:left;color:var(--white)}:where(.site-header) a{color:inherit;font-weight:inherit;text-decoration:none}.site-header-spacer{height:var(--header-h)}.site-header{position:fixed;top:var(--site-header-top,0px);left:0;right:0;background:#000;z-index:50;transform:translateY(0);transition:transform .16s cubic-bezier(.22,.9,.25,1),box-shadow .16s ease;will-change:transform}.site-header.is-hidden{transform:translateY(calc(-100% - 1px))}.site-header.is-floating:not(.is-hidden){box-shadow:0 8px 24px rgba(0,0,0,.14)}.topbar{height:var(--header-h);border-bottom:1px solid #444}.nav-shell{max-width:var(--max);height:100%;margin:0 auto;display:flex;align-items:center;gap:0;padding:0}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:185px;height:auto}.primary-nav{position:relative;margin-left:auto;flex:0 0 auto;height:100%;display:flex;align-items:stretch;gap:26px;padding-right:116px}.nav-item{appearance:none;border:0;background:transparent;color:#9d9d9d;font:400 12.8pt/1 "Inter Tight",Inter,Arial,sans-serif;display:flex;align-items:center;gap:8px;padding:0;cursor:pointer;white-space:nowrap;transition:color .22s ease,transform .22s ease}.nav-item img{width:28px;height:28px;opacity:.63;transition:opacity .22s ease,transform .22s ease}.nav-item:hover,.nav-item.is-active{color:#fff}.nav-item:hover img,.nav-item.is-active img{opacity:1}.nav-item:hover img{transform:translateY(-1px)}.marketplace-link{position:absolute;right:0;top:50%;z-index:20;display:block;width:78px;height:26px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#000;color:#929292;font:400 10pt/1 "Inter Tight",Inter,Arial,sans-serif;white-space:nowrap;overflow:visible;transform:translateY(-50%);transition:border-color .18s ease,color .18s ease,background-color .18s ease;isolation:isolate}.marketplace-link:before{content:"";position:absolute;z-index:-2;right:-1px;top:50%;width:calc(var(--signin-fade) + var(--signin-solid));height:72px;transform:translateY(-50%);pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,.1) calc(var(--signin-fade)*.206),rgba(0,0,0,.3) calc(var(--signin-fade)*.412),rgba(0,0,0,.58) calc(var(--signin-fade)*.618),rgba(0,0,0,.82) calc(var(--signin-fade)*.794),rgba(0,0,0,.95) calc(var(--signin-fade)*.912),#000 var(--signin-fade));opacity:0;transition:opacity .2s ease}.marketplace-link:after{content:"";position:absolute;z-index:-1;right:-1px;top:-1px;width:78px;height:26px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#000;pointer-events:none;transition:width .3s cubic-bezier(.22,.9,.25,1),border-color .18s ease}.marketplace-short,.marketplace-full{position:absolute;top:50%;right:25px;transform:translateY(-50%);white-space:nowrap;pointer-events:none}.marketplace-short{opacity:1;transition:opacity .12s ease .08s}.marketplace-full{opacity:0;transform:translate(4px,-50%);transition:opacity .14s ease .04s,transform .24s cubic-bezier(.22,.9,.25,1)}.marketplace-arrow{position:absolute;right:8px;top:50%;display:block;width:10px;height:auto;opacity:.55;transform:translateY(-50%);transition:transform .18s ease,opacity .18s ease}.marketplace-link:hover,.marketplace-link:focus-visible{border-color:transparent;background:transparent;color:#b8b8b8;outline:none}.marketplace-link:hover:after,.marketplace-link:focus-visible:after{width:236px;border-color:rgba(255,255,255,.38)}.marketplace-link:hover:before,.marketplace-link:focus-visible:before{opacity:1}.marketplace-link:hover .marketplace-short,.marketplace-link:focus-visible .marketplace-short{opacity:0;transition-delay:0s}.marketplace-link:hover .marketplace-full,.marketplace-link:focus-visible .marketplace-full{opacity:1;transform:translate(0,-50%)}.marketplace-link:hover .marketplace-arrow,.marketplace-link:focus-visible .marketplace-arrow{transform:translate(1px,-50%);opacity:.82}.indicator{position:absolute;bottom:0;height:5px;left:0;width:0;opacity:0;transition:left .34s cubic-bezier(.22,.9,.25,1),width .34s cubic-bezier(.22,.9,.25,1),opacity .18s ease;pointer-events:none;overflow:hidden;background-image:url("../images/navigation/nav-indicator-graphic.png");background-repeat:no-repeat;background-size:cover;background-position:center center}.mega-wrap{position:absolute;top:100%;left:0;right:0;background:#000;height:0;overflow:hidden;transition:height .34s cubic-bezier(.22,.9,.25,1);border-bottom:0 solid transparent}.mega-wrap.is-open{border-bottom:1px solid #222}.mega-menu{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .18s ease,transform .25s ease,visibility 0s linear .25s;pointer-events:none}.mega-menu.is-active{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s;pointer-events:auto}.mega-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--grid-gap);padding:38px 0 48px}.mega-grid h3{margin:0 0 22px;color:#aaa;font-family:Inter,Arial,sans-serif;font-size:12.8pt;font-weight:300;line-height:1.1;letter-spacing:.01em}.span-2{grid-column:span 2}.start-3{grid-column-start:3}.start-4{grid-column-start:4}.start-5{grid-column-start:5}.stack-link,.solution-product{display:block;width:max-content;max-width:100%;font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:12.8pt;font-weight:400;line-height:1.3;margin:0 0 16px;position:relative;transition:color .18s ease,transform .18s ease}.stack-link:hover,.solution-product:hover{color:#d8d8d8;transform:translateX(3px)}.stack-link.has-copy{margin-bottom:18px}.stack-link.has-copy strong{display:block;font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:12.8pt;font-weight:400;margin-bottom:5px}.stack-link.has-copy small{display:block;color:#8f8f8f;font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:10.4pt;font-weight:400;line-height:1.3;transition:color .18s ease}.stack-link.has-copy:hover small{color:#aaa}.nav-badge{display:inline-block;background:var(--nav-badge);color:#fff;font-size:10px;font-weight:700;line-height:17px;height:17px;padding:0 5px;border-radius:2px;vertical-align:1px;margin-left:4px}.solutions-grid{padding-bottom:44px;min-height:535px}.solutions-grid h3{margin-bottom:22px}.solution-product{padding-left:8px;margin-bottom:16px;line-height:1.25}.solution-product:before{content:"";position:absolute;left:0;top:1px;width:3px;height:18px;background:#fff}.solution-product.hv:before{background:var(--hv)}.solution-product.sh:before{background:var(--sh)}.solution-legend{height:47px;background:#202329;border-top:1px solid #555;display:flex;align-items:center;gap:42px;padding-left:max(calc((100vw - var(--max))/2),24px);font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:10.4pt;font-weight:400}.solution-legend span{position:relative;padding-left:8px}.solution-legend span:before{content:"";position:absolute;left:0;top:0;width:3px;height:18px}.solution-legend .hv:before{background:var(--hv)}.solution-legend .sh:before{background:var(--sh)}.featured{display:block;align-self:start;grid-column:4 / 6;width:calc((1.5 * ((var(--max) - (4 * var(--grid-gap))) / 5)) + var(--grid-gap));max-width:100%}.featured h3{margin-bottom:24px}.featured-img{position:relative;width:100%;max-width:100%;overflow:hidden;margin-bottom:8px}.featured-img:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,#5bc63a 0 25%,#12cfd8 25% 50%,#e53488 50% 75%,#f4dc18 75% 100%);z-index:1}.featured-img img{display:block;width:100%;height:auto;transition:transform .35s ease,filter .35s ease}.featured strong{display:block;width:100%;max-width:100%;font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:12.8pt;line-height:1.45;font-weight:400}.featured:hover img{transform:scale(1.025);filter:brightness(1.06)}.featured:hover strong{color:#ddd}
.featured small{display:block;margin-top:5px;font:400 10.4pt/1.3 "Inter Tight",Inter,Arial,sans-serif;color:#777}.lifecycle-column{position:relative}.lifecycle-timeline{position:relative}.timeline-link{position:relative;display:block;width:100%;max-width:none;padding:0 0 0 44px;margin:0 0 20px;transition:color .18s ease,transform .18s ease}.timeline-link:not(:last-child):after{content:"";position:absolute;left:8.5px;top:17px;bottom:-20px;width:1px;background:rgba(255,255,255,.18);transform:translateX(-50%)}.timeline-link:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;background:#555b63;border:1px solid rgba(255,255,255,.45);box-shadow:0 0 0 4px #000 inset;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.timeline-content{display:block}.timeline-link strong{display:block;font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:12.8pt;font-weight:400;line-height:1.25;margin-bottom:5px}.timeline-link small{display:block;color:#8f8f8f;font-family:"Inter Tight",Inter,Arial,sans-serif;font-size:10.4pt;font-weight:400;line-height:1.3;transition:color .18s ease}.timeline-link:hover{color:#d8d8d8}.timeline-link:hover .timeline-content{transform:translateX(3px)}.timeline-content{transition:transform .18s ease}.timeline-link:hover small{color:#aaa}.timeline-link:hover .timeline-dot{border-color:rgba(255,255,255,.62);background:#5c626a}.lifecycle-grid{min-height:482px}.sectors-grid{min-height:626px}.insights-grid{min-height:361px}.company-grid{min-height:277px}.mobile-toggle{display:none}
@media(max-width:1218px){.nav-shell,.mega-grid{margin-left:24px;margin-right:24px}.brand img{width:175px}.primary-nav{margin-left:auto;gap:26px;padding-right:102px}.marketplace-link{width:74px;height:25px;font-size:9.7pt}.marketplace-link:before{--signin-solid:228px;height:68px}.marketplace-link:after{width:74px;height:25px}.marketplace-link:hover:after,.marketplace-link:focus-visible:after{width:228px}.marketplace-short,.marketplace-full{right:24px}.marketplace-arrow{right:7px;width:9px}.solution-legend{padding-left:24px}}
@media(max-width:980px){.site-header,.site-header-spacer{--header-h:74px}.topbar{height:var(--header-h)}.nav-shell{margin:0;padding:0}.brand img{width:190px}.mobile-toggle{display:flex;margin-left:auto;width:42px;height:42px;background:transparent;border:0;padding:7.2px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}.mobile-toggle span{width:23px;height:2px;background:#fff;transition:transform .25s ease,opacity .2s ease}.mobile-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.mobile-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-nav{position:absolute;left:0;right:0;top:var(--header-h);height:auto;margin:0;background:#000;border-top:1px solid #333;display:none;flex-direction:column;gap:0;padding:8px 24px 14px}.primary-nav.is-mobile-open{display:flex}.indicator{display:none}.nav-item{height:52px;justify-content:flex-start;border-bottom:1px solid #1d1d1d;font-size:12.8pt}.nav-item img{width:25px;height:25px}.marketplace-link{position:relative;right:auto;top:auto;display:flex;width:100%;height:44px;align-self:stretch;align-items:center;justify-content:space-between;margin:12px 0 4px;padding:0 14px 0 16px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#000;color:#fff;font-size:12.4pt;line-height:1;transform:none;overflow:hidden}.marketplace-link:before,.marketplace-link:after{display:none}.marketplace-short{display:none}.marketplace-full{position:static;top:auto;right:auto;opacity:1;transform:none;line-height:1;pointer-events:auto}.marketplace-arrow{position:static;right:auto;top:auto;display:block;width:10px;height:auto;margin:0 0 0 12px;opacity:.68;transform:none;flex:0 0 auto}.marketplace-link:hover,.marketplace-link:focus-visible{width:100%;background:#151515}.marketplace-link:hover .marketplace-full,.marketplace-link:focus-visible .marketplace-full{opacity:1;transform:none}.marketplace-link:hover .marketplace-arrow,.marketplace-link:focus-visible .marketplace-arrow{transform:translateX(1px);opacity:.85}.mega-wrap{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--header-h) - var(--site-header-top,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.mega-wrap::-webkit-scrollbar{display:none}.mega-menu{position:absolute;transform:none}.mega-menu.is-active{transform:none}.mega-grid{grid-template-columns:1fr 1fr;margin:0;padding:28px 24px 34px;column-gap:36px;row-gap:26px}.span-2{grid-column:span 1}.start-3,.start-4,.start-5{grid-column-start:auto}.solutions-grid{min-height:0}.solutions-grid>div{grid-column:span 1}.company-grid,.lifecycle-grid,.sectors-grid,.insights-grid{min-height:0}.featured{grid-column:span 1;width:100%}.solutions-grid{padding-bottom:86px}.solution-legend{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:14px 24px;height:auto;flex-wrap:wrap;box-shadow:0 -1px 0 #555}.timeline-link{padding-left:44px}.timeline-link:not(:last-child):after{left:8.5px;top:17px;bottom:-20px}.timeline-dot{top:0;width:17px;height:17px}}
@media(max-width:640px){.nav-shell{margin:0 18px}.brand img{width:171px}.primary-nav{padding-left:18px;padding-right:18px}.mega-grid{grid-template-columns:1fr;margin:0;padding:24px 18px 32px;row-gap:24px}.mega-grid>div,.featured{grid-column:1}.featured{width:100%}.featured-img,.featured strong{width:100%}.stack-link,.solution-product{font-size:12.8pt}.mega-grid h3{margin-bottom:17px}.solution-legend{padding:14px 18px;gap:18px}.timeline-link{padding-left:40px;margin-bottom:16px}.timeline-link:not(:last-child):after{left:8.5px;top:17px;bottom:-16px}.timeline-dot{top:0;width:17px;height:17px}.nav-badge{font-size:9px}}
@media(prefers-reduced-motion:reduce){:where(.site-header) *,:where(.site-header) *:before,:where(.site-header) *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

@media(min-width:981px){.case-studies{grid-column:3 / span 2}}
.legal-mark{font-size:.62em;line-height:0;vertical-align:super;font-weight:inherit;margin-left:.04em}

@media(min-width:981px){.sectors-grid .use-cases{grid-column:3 / span 2;width:calc(75% - 11px)}}
@media(max-width:980px){.sectors-grid .use-cases{grid-column:auto;width:100%}}

/* Light dropdown exploration */

.mega-wrap{background:#fff;color:#111;box-shadow:0 12px 28px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06)}
.mega-wrap.is-open{border-bottom-color:#e4e4e4}
.mega-grid h3{color:#777}
.stack-link,.solution-product,.featured strong,.timeline-link{color:#111}
.stack-link:hover,.solution-product:hover,.timeline-link:hover{color:#555}
.stack-link.has-copy small,.timeline-link small{color:#777}
.stack-link.has-copy:hover small,.timeline-link:hover small{color:#555}
.featured:hover strong{color:#555}
.timeline-link:not(:last-child):after{background:rgba(0,0,0,.18)}
.timeline-dot{background:#8a9097;border-color:rgba(0,0,0,.42);box-shadow:0 0 0 4px #fff inset}
.timeline-link:hover .timeline-dot{border-color:rgba(0,0,0,.55);background:#777d84}
.solution-legend{background:#fff;color:#111;border-top-color:#d8d8d8}
@media(max-width:980px){.solution-legend{box-shadow:0 -1px 0 #d8d8d8,0 -8px 18px rgba(0,0,0,.06)}}



/* Mobile accordion navigation */
.mobile-accordion-panel{display:none}

@media(max-width:980px){
  .primary-nav{
    max-height:calc(100vh - var(--header-h) - var(--site-header-top,0px));
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
  }
  .primary-nav::-webkit-scrollbar{display:none}

  /* The desktop drawer is not used on mobile; each panel sits below its button. */
  .mega-wrap{display:none!important}

  .mobile-accordion-panel{
    display:block;
    max-height:0;
    overflow:hidden;
    background:#000;
    opacity:0;
    transition:max-height .32s cubic-bezier(.22,.9,.25,1),opacity .2s ease;
  }
  .mobile-accordion-panel.is-open{
    max-height:1800px;
    opacity:1;
  }

  .mobile-accordion-panel .mega-grid{
    position:relative;
    display:grid;
    padding:22px 0 28px;
    margin:0;
    grid-template-columns:minmax(0,1fr); /* 1fr would let max-content links widen the column past the screen */
    row-gap:24px;
    column-gap:0;
  }
  .mobile-accordion-panel .mega-grid>div,
  .mobile-accordion-panel .featured{
    grid-column:1!important;
    width:100%!important;
  }
  .mobile-accordion-panel .mega-grid h3{
    margin-bottom:16px;
  }
  .mobile-accordion-panel .featured{
    max-width:100%;
  }
  .mobile-accordion-panel .solution-legend{
    position:static!important;
    height:auto;
    margin:0;
    padding:16px 0 22px;
    border-top:1px solid #333;
    box-shadow:none;
    background:#000;
    gap:24px;
  }

  /* Keep the top-level rows in sequence with their accordion content. */
  .nav-item{
    flex:0 0 auto;
    width:100%;
  }
  .nav-item.is-active{
    color:#fff;
  }
  .nav-item.is-active img{
    opacity:1;
  }

  /* Remove touch/sticky hover treatments on mobile. Open state is still clear. */
  .nav-item:hover{
    color:#9d9d9d;
    transform:none;
  }
  .nav-item:hover img{
    opacity:.63;
    transform:none;
  }
  .nav-item.is-active:hover{color:#fff}
  .nav-item.is-active:hover img{opacity:1}

  .stack-link:hover,
  .solution-product:hover{
    color:inherit;
    transform:none;
  }
  .stack-link.has-copy:hover small,
  .timeline-link:hover small{
    color:#8f8f8f;
  }
  .timeline-link:hover{
    color:inherit;
  }
  .timeline-link:hover .timeline-content{
    transform:none;
  }
  .timeline-link:hover .timeline-dot{
    border-color:rgba(255,255,255,.45);
    background:#555b63;
  }
  .featured:hover img{
    transform:none;
    filter:none;
  }
  .featured:hover strong{
    color:inherit;
  }
  .marketplace-link:hover,
  .marketplace-link:focus-visible{
    background:#000;
    color:#fff;
  }
  .marketplace-link:hover .marketplace-arrow,
  .marketplace-link:focus-visible .marketplace-arrow{
    transform:translateY(-50%);
    opacity:.55;
  }
}

@media(max-width:640px){
  .mobile-accordion-panel .mega-grid{
    padding:20px 0 26px;
  }
}


@media(max-width:980px){
  /* Restore the dark mobile-menu palette inside accordion content. */
  .mobile-accordion-panel{color:#fff}
  .mobile-accordion-panel .mega-grid h3{color:#aaa}
  .mobile-accordion-panel .stack-link,
  .mobile-accordion-panel .solution-product,
  .mobile-accordion-panel .featured strong,
  .mobile-accordion-panel .timeline-link{color:#fff}
  .mobile-accordion-panel .stack-link.has-copy small,
  .mobile-accordion-panel .timeline-link small{color:#8f8f8f}
  .mobile-accordion-panel .timeline-link:not(:last-child):after{background:rgba(255,255,255,.18)}
  .mobile-accordion-panel .timeline-dot{
    background:#555b63;
    border-color:rgba(255,255,255,.45);
    box-shadow:0 0 0 4px #000 inset;
  }
  .mobile-accordion-panel .solution-legend{
    color:#fff;
    border-top-color:#333;
  }

  /* No hover visual changes on mobile. */
  .mobile-accordion-panel .stack-link:hover,
  .mobile-accordion-panel .solution-product:hover,
  .mobile-accordion-panel .featured:hover strong,
  .mobile-accordion-panel .timeline-link:hover{color:inherit}
  .mobile-accordion-panel .stack-link.has-copy:hover small,
  .mobile-accordion-panel .timeline-link:hover small{color:#8f8f8f}
  .mobile-accordion-panel .timeline-link:hover .timeline-dot{
    background:#555b63;
    border-color:rgba(255,255,255,.45);
  }

  .marketplace-link:hover,
  .marketplace-link:focus-visible{
    width:100%;
    background:#000;
    color:#fff;
  }
  .marketplace-link:hover .marketplace-full,
  .marketplace-link:focus-visible .marketplace-full{
    opacity:1;
    transform:none;
  }
  .marketplace-link:hover .marketplace-arrow,
  .marketplace-link:focus-visible .marketplace-arrow{
    transform:none;
    opacity:.68;
  }
}


/* Mobile accordion refinements: white content panels, full content access, +/- affordance */
@media(max-width:980px){
  .primary-nav{
    max-height:calc(100vh - var(--header-h) - var(--site-header-top,0px));
    overflow-y:auto;
    overflow-x:hidden;
    padding-bottom:18px;
  }

  .nav-item{position:relative;padding-right:38px}
  .nav-item:after{
    content:"+";
    position:absolute;
    right:2px;
    top:50%;
    transform:translateY(-50%);
    font:300 22px/1 Inter,Arial,sans-serif;
    color:#9d9d9d;
    pointer-events:none;
  }
  .nav-item[aria-expanded="true"]:after{
    content:"−";
    color:#fff;
  }

  .mobile-accordion-panel{
    margin:0 -24px;
    padding:0 24px;
    background:#fff;
    color:#111;
    max-height:0;
    overflow:hidden;
    opacity:1;
    transition:max-height .3s cubic-bezier(.22,.9,.25,1);
  }
  .mobile-accordion-panel.is-open{opacity:1}
  .mobile-accordion-panel .mega-grid{
    padding:26px 0 30px;
  }
  .mobile-accordion-panel .mega-grid h3{color:#777}
  .mobile-accordion-panel .stack-link,
  .mobile-accordion-panel .solution-product,
  .mobile-accordion-panel .featured strong,
  .mobile-accordion-panel .timeline-link{color:#111}
  .mobile-accordion-panel .stack-link.has-copy small,
  .mobile-accordion-panel .timeline-link small{color:#777}
  .mobile-accordion-panel .timeline-link:not(:last-child):after{background:rgba(0,0,0,.18)}
  .mobile-accordion-panel .timeline-dot{
    background:#8a9097;
    border-color:rgba(0,0,0,.42);
    box-shadow:0 0 0 4px #fff inset;
  }
  .mobile-accordion-panel .solution-legend{
    position:static!important;
    margin:0 -24px -30px;
    padding:16px 24px 20px;
    background:#fff;
    color:#111;
    border-top:1px solid #d8d8d8;
    box-shadow:none;
  }

  /* Keep mobile taps visually stable: no hover-only state changes. */
  .mobile-accordion-panel .stack-link:hover,
  .mobile-accordion-panel .solution-product:hover,
  .mobile-accordion-panel .featured:hover strong,
  .mobile-accordion-panel .timeline-link:hover{color:inherit;transform:none}
  .mobile-accordion-panel .stack-link.has-copy:hover small,
  .mobile-accordion-panel .timeline-link:hover small{color:#777}
  .mobile-accordion-panel .timeline-link:hover .timeline-content{transform:none}
  .mobile-accordion-panel .timeline-link:hover .timeline-dot{
    background:#8a9097;
    border-color:rgba(0,0,0,.42);
  }
  .mobile-accordion-panel .featured:hover img{transform:none;filter:none}
}

@media(max-width:640px){
  .mobile-accordion-panel{margin:0 -18px;padding:0 18px}
  .mobile-accordion-panel .solution-legend{margin:0 -18px -26px;padding:14px 18px 18px}
}

/* Mobile accordion: allow open content to use full natural height. */
@media(max-width:980px){
  .mobile-accordion-panel.is-open{max-height:none;overflow:visible}
  .primary-nav.is-mobile-open{overflow-y:auto;overflow-x:hidden}
}


/* Mobile accordion: selected item pins to the top; Solutions key appears first. */
@media(max-width:980px){
  .primary-nav{scroll-behavior:smooth}
  .mobile-accordion-panel[data-mobile-panel="solutions"] .solution-legend{
    margin:0 -24px;
    padding:16px 24px;
    border-top:0;
    border-bottom:1px solid #d8d8d8;
    box-shadow:none;
  }
}
@media(max-width:640px){
  .mobile-accordion-panel[data-mobile-panel="solutions"] .solution-legend{
    margin:0 -18px;
    padding:14px 18px;
  }
}

/* Case study link icons */




/* Desktop drawer heights are content-driven rather than fixed per section.
   The shared .mega-grid bottom padding now provides a consistent closing gap. */
@media(min-width:981px){
  .solutions-grid,
  .lifecycle-grid,
  .sectors-grid,
  .insights-grid,
  .company-grid{
    min-height:0;
  }
}

@media(min-width:981px){.products-grid{min-height:0}}

/* Six-item desktop nav spacing refinement: preserve labels, icons and type size. */
@media(min-width:981px){
  .brand img{width:175px}
  .primary-nav{gap:22px;padding-right:100px}
  .nav-item{gap:6px}
  .nav-item img{width:24px;height:24px}
}
@media(min-width:981px) and (max-width:1218px){
  .brand img{width:168px}
  .primary-nav{gap:19px;padding-right:92px}
  .nav-item{gap:5px}
  .nav-item img{width:23px;height:23px}
}

/* Full-bleed desktop bar: logo pinned left, sign-in pinned right. Below 1440px the nav items sit evenly
   between them (space-between); from 1440px they are centered in the viewport.
   The third column holds the space for the absolutely positioned sign-in pill; column-gap is the minimum gap. */
@media(min-width:981px){
  .site-header{--nav-gutter:24px;--signin-reserve:78px}
  .nav-shell{position:relative;max-width:none;margin:0;padding:0 var(--nav-gutter);display:grid;grid-template-columns:auto auto var(--signin-reserve);justify-content:space-between;column-gap:24px}
  .brand{justify-self:start}
  .primary-nav{position:static;margin:0;padding-right:0}
  .marketplace-link{right:var(--nav-gutter)}
}
@media(min-width:1440px){
  .nav-shell{grid-template-columns:1fr auto minmax(var(--signin-reserve),1fr);justify-content:normal}
}
@media(min-width:981px) and (max-width:1218px){
  .site-header{--signin-reserve:74px}
}
/* Tablet: inset the logo to line up with the 24px padding of the open menu panel; the hamburger
   needs less, since the button's own padding already insets its lines. */
@media(min-width:641px) and (max-width:980px){
  .nav-shell{padding:0 12px 0 24px}
}
/* Desktop dropdowns: never taller than the space below the bar; the open panel scrolls instead.
   Only panels taller than the cap get a scroll area (.is-scrollable, set in setWrapHeight): otherwise every panel
   overflows while the height animates open, and where scrollbars take up space (e.g. macOS "always show", Windows)
   one flashes in and out and shifts the columns.
   overscroll-behavior stops the page from scrolling (and hiding the header) at the panel's ends.
   content-box keeps the 1px bottom border outside the JS-set height, so panels that fit don't scroll by 1px. */
@media(min-width:981px){
  .mega-wrap{box-sizing:content-box;max-height:calc(100vh - var(--header-h) - var(--site-header-top,0px) - 1px);max-height:calc(100dvh - var(--header-h) - var(--site-header-top,0px) - 1px)}
  .mega-wrap.is-scrollable .mega-menu.is-active:not([data-panel="solutions"]){overflow-y:auto;overscroll-behavior:contain}
}
/* Desktop Solutions: the link columns scroll inside .solutions-scroll, which flexes to fill the panel;
   the help row sits below it in its own space, so it stays put at the bottom while the links scroll. */
@media(min-width:981px){
  .mega-menu[data-panel="solutions"]{display:flex;flex-direction:column;overflow:hidden}
  .solutions-scroll{flex:1 1 auto;min-height:0;overflow:hidden}
  .mega-wrap.is-scrollable .solutions-scroll{overflow-y:auto;overscroll-behavior:contain}
  .solutions-scroll .solutions-grid{padding-bottom:18px}
  .mega-menu > .solution-help{flex:none;width:calc(100% - 48px);max-width:var(--max);margin:0 auto}
}
/* Desktop Products & tech: inset the category tabs from the left edge. */
@media(min-width:981px){
  .products-tech-layout .products-tech-tabs{padding-left:24px}
}
/* Small desktops: drop the item icons so all six labels fit beside the logo and sign-in. */
@media(min-width:981px) and (max-width:1280px){
  .nav-item img{display:none}
}


/* v5 solutions navigation */
.solutions-grid{min-height:0;padding-bottom:48px}
.solution-column h3{margin-bottom:7px}
.solution-description{
  margin:0 0 24px;
  max-width:190px;
  color:#777;
  font-family:"Inter Tight",Inter,Arial,sans-serif;
  font-size:10.4pt;
  font-weight:400;
  line-height:1.35;
}
.solutions-grid .solution-product{
  padding-left:0;
}
.solutions-grid .solution-product:before{
  display:none;
}
.solution-help{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid #dedede;
  font-family:"Inter Tight",Inter,Arial,sans-serif;
}
.solution-help span{
  display:block;
  margin-bottom:7px;
  color:#777;
  font-size:10.4pt;
  line-height:1.3;
}
.solution-help a{
  display:inline-block;
  color:#111;
  font-size:11.2pt;
  line-height:1.3;
  transition:transform .18s ease,color .18s ease;
}
.solution-help a:hover{color:#555;transform:translateX(3px)}

@media(max-width:980px){
  .mobile-accordion-panel .solution-description{color:#777;max-width:none;margin-bottom:20px}
  .mobile-accordion-panel .solutions-grid .solution-product{color:#111}
  .mobile-accordion-panel .solution-help{border-top-color:#dedede}
  .mobile-accordion-panel .solution-help a{color:#111}
  .mobile-accordion-panel .solution-help a:hover{color:#111;transform:none}
}


/* Refined solution help CTA */
.solution-help{margin-top:30px;padding-top:20px}
.solution-help span{margin-bottom:10px}
.solution-help a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:38px;padding:9px 14px 10px;border:1px solid #111;border-radius:999px;background:#111;color:#fff;font-size:10.8pt;line-height:1;transition:background-color .18s ease,border-color .18s ease,color .18s ease}
.solution-help a:hover{background:#333;border-color:#333;color:#fff;transform:none}
@media(max-width:980px){.mobile-accordion-panel .solution-help a{display:inline-flex;background:#111;border-color:#111;color:#fff}.mobile-accordion-panel .solution-help a:hover{background:#111;border-color:#111;color:#fff;transform:none}}


/* Full-width solution finder strip */
.solutions-grid{padding-bottom:0}
.solution-help{
  position:relative;
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:18px;
  padding:14px 0 16px;
  border-top:0;
  font-family:"Inter Tight",Inter,Arial,sans-serif;
}
.solution-help:before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  border-top:1px solid #dedede;
  pointer-events:none;
}
.solution-help span{
  display:inline;
  margin:0;
  color:#111;
  font-size:11.2pt;
  line-height:1.3;
}
.solution-help a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#0b66ff;
  font-size:11.2pt;
  line-height:1.3;
  transition:color .18s ease;
}
.solution-help a span{color:inherit}
.solution-help a:hover{
  background:transparent;
  border-color:transparent;
  color:#004fd6;
  transform:none;
}

@media(max-width:980px){
  .mobile-accordion-panel .solutions-grid{padding-bottom:0}
  .mobile-accordion-panel .solution-help{
    grid-column:1!important;
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    margin-top:8px;
    padding:14px 0 18px;
    background:#fff;
  }
  .mobile-accordion-panel .solution-help span{color:#111}
  .mobile-accordion-panel .solution-help a,
  .mobile-accordion-panel .solution-help a:hover{
    display:inline-flex;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#0b66ff;
    transform:none;
  }
}


/* Products & tech: category rail with two-column content */
.products-tech-interface{color:#111;background:#fff}
.products-tech-shell{max-width:var(--max);margin:0 auto;padding:30px 0 42px}
.products-tech-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:32px;align-items:start}
.products-tech-tabs{display:flex;flex-direction:column;gap:12px;border:0}
.products-tech-tab{appearance:none;position:relative;width:100%;min-height:78px;padding:13px 42px 13px 12px;border:1px solid #d9d9d9;border-left:3px solid #1a1a1a;border-radius:2px;background:#fff;color:#111;text-align:left;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.products-tech-tab:hover{background:#f8f8f8}
.products-tech-tab.is-active{background:#f1f1f1;border-color:#d5d5d5;border-left-color:#1a1a1a}
.products-tech-tab:after{display:none}
.products-tech-tab-title{display:block;margin-bottom:5px;font:400 11.7pt/1.18 "Inter Tight",Inter,Arial,sans-serif;color:#111;text-transform:uppercase}
/* The JSON keeps category labels in sentence case; the desktop tabs show them uppercase, the mobile accordion as written. */
.mobile-accordion-panel .products-tech-tab-title{text-transform:none}
.products-tech-tab-copy{display:block;max-width:245px;font:400 9.7pt/1.35 "Inter Tight",Inter,Arial,sans-serif;color:#777}
.products-tech-tab-arrow{position:absolute;right:13px;top:50%;transform:translateY(-50%);font:400 15pt/1 "Inter Tight",Inter,Arial,sans-serif;color:#111}
.products-tech-content{padding:0}
.products-tech-panel[hidden]{display:none}
.products-tech-grid{display:grid}
.products-tech-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.products-tech-column{min-width:0}
.products-tech-card{display:block;padding:0 0 16px;margin:0 0 16px;border:0;color:#111;text-decoration:none;min-height:0}
.products-tech-card strong{display:block;margin:0 0 4px;color:#111;font:400 11.8pt/1.22 "Inter Tight",Inter,Arial,sans-serif}
.products-tech-card small{display:block;max-width:430px;margin:0 0 5px;color:#777;font:400 9.7pt/1.32 "Inter Tight",Inter,Arial,sans-serif}
.products-tech-links{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.products-tech-links a{display:inline-flex;align-items:center;gap:4px;color:#0b66ff;text-decoration:none;font:400 9.9pt/1.25 "Inter Tight",Inter,Arial,sans-serif;transition:color .18s ease,transform .18s ease}
.products-tech-links a b{font-weight:400;color:inherit}
.products-tech-links a:hover{color:#004fd6;transform:translateX(2px)}

@media(max-width:980px){
  .mobile-accordion-panel .products-tech-interface{margin:0 -24px;padding:0 24px;background:#fff}
  .mobile-accordion-panel .products-tech-shell{max-width:none;padding:22px 0 28px}
  .mobile-accordion-panel .products-tech-layout{grid-template-columns:1fr;gap:22px}
  .mobile-accordion-panel .products-tech-tabs{gap:8px}
  .mobile-accordion-panel .products-tech-tab{min-height:68px;padding:11px 40px 11px 12px}
  .mobile-accordion-panel .products-tech-tab-copy{max-width:none}
  .mobile-accordion-panel .products-tech-grid-two{grid-template-columns:1fr;gap:0}
  .mobile-accordion-panel .products-tech-card{padding-bottom:14px;margin-bottom:14px}
  .mobile-accordion-panel .products-tech-links a:hover{transform:none;color:#0b66ff}
}
@media(max-width:640px){
  .mobile-accordion-panel .products-tech-interface{margin:0 -18px;padding:0 18px}
}


/* Use the supplied arrow artwork throughout Products & tech. */
.products-tech-tab-arrow{
  width:13px;
  height:11.3px;
  background:currentColor;
  -webkit-mask:url("../images/navigation/products-arrow.svg") center/contain no-repeat;
  mask:url("../images/navigation/products-arrow.svg") center/contain no-repeat;
  font-size:0;
}
.products-tech-links b{
  display:inline-block;
  width:10px;
  height:8.7px;
  margin-left:3px;
  background:currentColor;
  -webkit-mask:url("../images/navigation/products-arrow.svg") center/contain no-repeat;
  mask:url("../images/navigation/products-arrow.svg") center/contain no-repeat;
  vertical-align:-1px;
  font-size:0;
  font-weight:400;
}


/* Render the supplied arrow artwork as actual SVG images for reliable local/browser display. */
.products-tech-tab-arrow{
  width:13px;
  height:12px;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.products-tech-tab-arrow img{display:block;width:13px;height:auto}
.products-tech-links b{
  width:10px;
  height:auto;
  margin-left:3px;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  display:inline-flex;
  align-items:center;
  vertical-align:-1px;
}
.products-tech-links b img{display:block;width:10px;height:auto}


/* Use the supplied arrow icon in the "find the right..." CTA too. */
.solution-help-arrow{
  display:inline-block;
  width:10px;
  height:9px;
  margin-left:4px;
  background:url("../images/navigation/products-arrow-blue.svg") center/contain no-repeat;
  vertical-align:-1px;
  flex:0 0 auto;
}


/* Mobile Products & tech UX: horizontal tab rail rather than stacked button cards. */
@media(max-width:980px){
  .mobile-accordion-panel .products-tech-shell{
    padding-top:10px;
  }
  .mobile-accordion-panel .products-tech-layout{
    gap:24px;
  }
  .mobile-accordion-panel .products-tech-tabs{
    display:flex;
    flex-direction:row;
    gap:22px;
    width:calc(100% + 48px);
    margin:0 -24px;
    padding:0 24px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    border-bottom:1px solid #dedede;
    scroll-snap-type:x proximity;
  }
  .mobile-accordion-panel .products-tech-tabs::-webkit-scrollbar{
    display:none;
  }
  .mobile-accordion-panel .products-tech-tab{
    flex:0 0 auto;
    width:auto;
    min-height:0;
    padding:13px 0 14px;
    border:0;
    border-radius:0;
    background:transparent;
    text-align:left;
    scroll-snap-align:start;
    transition:color .18s ease;
  }
  .mobile-accordion-panel .products-tech-tab:hover,
  .mobile-accordion-panel .products-tech-tab.is-active{
    background:transparent;
    border:0;
  }
  .mobile-accordion-panel .products-tech-tab:after{
    content:"";
    display:block;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:4px;
    opacity:0;
    background-image:url("../images/navigation/nav-indicator-graphic.png");
    background-size:cover;
    background-position:center;
    transition:opacity .18s ease;
  }
  .mobile-accordion-panel .products-tech-tab.is-active:after{
    opacity:1;
  }
  .mobile-accordion-panel .products-tech-tab-title{
    margin:0;
    font-size:0;
    line-height:1;
    white-space:nowrap;
  }
  .mobile-accordion-panel .products-tech-tab-title:after{
    content:attr(data-mobile-label);
  }
  .mobile-accordion-panel .products-tech-tab-title:after{
    font:400 11.2pt/1 "Inter Tight",Inter,Arial,sans-serif;
    color:#777;
  }
  .mobile-accordion-panel .products-tech-tab.is-active .products-tech-tab-title:after{
    color:#111;
  }
  .mobile-accordion-panel .products-tech-tab-copy,
  .mobile-accordion-panel .products-tech-tab-arrow{
    display:none!important;
  }
}

@media(max-width:640px){
  .mobile-accordion-panel .products-tech-tabs{
    width:calc(100% + 36px);
    margin:0 -18px;
    padding:0 18px;
    gap:20px;
  }
}


/* Mobile Products & tech: nested accordion instead of horizontal tabs. */
@media(max-width:980px){
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-shell{
    padding-top:8px;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-layout{
    display:block;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tabs{
    display:block;
    overflow:visible;
    width:auto;
    margin:0;
    padding:0;
    border:0; /* the horizontal tab strip this replaces had a bottom border */
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab{
    position:relative;
    display:block;
    width:100%;
    min-height:0;
    margin:0;
    padding:18px 42px 18px 0;
    border:0;
    border-bottom:1px solid #dedede;
    border-radius:0;
    background:#fff;
    text-align:left;
    box-shadow:none;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab:hover,
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab.is-active{
    background:#fff;
    border-color:#dedede;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-title{
    display:block;
    margin:0 0 6px;
    font:400 12.8pt/1.2 "Inter Tight",Inter,Arial,sans-serif;
    color:#111;
    white-space:normal;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-title:after{
    content:none!important;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-copy{
    display:block;
    max-width:none;
    padding-right:8px;
    font:400 10.4pt/1.35 "Inter Tight",Inter,Arial,sans-serif;
    color:#777;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-arrow{
    display:none;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab:after{
    content:"+";
    display:block!important;
    position:absolute;
    right:2px;
    top:50%;
    width:auto;
    height:auto;
    border:0;
    background:none;
    transform:translateY(-50%);
    font:300 20pt/1 Inter,Arial,sans-serif;
    color:#111;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab.is-active:after{
    content:"−";
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-content{
    display:contents;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-panel{
    padding:18px 0 4px;
    border-bottom:1px solid #dedede;
  }
  /* No divider below the last category: the row's own line while it's collapsed, its panel's line while expanded.
     The list runs tab, panel, tab, panel…, so the last row is the second-to-last child. */
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab:not(.is-active):nth-last-child(2),
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-panel:last-child{
    border-bottom:0;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-panel[hidden]{
    display:none!important;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-grid-two{
    display:block;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-card{
    margin:0 0 22px;
    padding:0;
  }
}


/* Mobile Products & tech refinements: sentence-case subsection labels, descriptions, and matching +/- affordance. */
@media(max-width:980px){
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-title{
    font-size:0;
    line-height:1;
    margin:0 0 6px;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-title:before{
    content:attr(data-mobile-label);
    display:block;
    font:400 12.8pt/1.2 "Inter Tight",Inter,Arial,sans-serif;
    color:#111;
    white-space:normal;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab-copy{
    display:block!important;
    max-width:none;
    padding-right:8px;
    font:400 10.4pt/1.35 "Inter Tight",Inter,Arial,sans-serif;
    color:#777;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab:after{
    right:2px;
    font:300 22px/1 Inter,Arial,sans-serif;
    color:#9d9d9d;
  }
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab.is-active:after{
    color:#111;
  }
}


/* Mobile submenu affordance + stable interaction refinement. */
@media(max-width:980px){
  /* Remove older pseudo-element +/- so there is one explicit control only. */
  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab:after{
    content:none!important;
    display:none!important;
  }

  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab{
    padding-right:64px;
  }

  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-subtoggle{
    position:absolute!important;
    right:4px!important;
    top:50%!important;
    left:auto!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin:0!important;
    padding:0!important;
    color:#9d9d9d;
    font:300 22px/1 Inter,Arial,sans-serif;
    pointer-events:none;
  }

  .mobile-accordion-panel[data-mobile-panel="products"] .products-tech-tab[aria-expanded="true"] .products-tech-subtoggle{
    color:#111;
  }

  /* No automatic smooth scrolling when accordions are opened. */
  .primary-nav{scroll-behavior:auto;}
}
