/* Visual content-discovery upgrade across Abecator public hubs. */
.ux-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:118px;border:1px solid rgba(96,165,250,.2);border-radius:14px;background:radial-gradient(circle at 72% 22%,rgba(46,213,230,.17),transparent 30%),linear-gradient(145deg,#07172e,#0b2748);color:#68e8f2;isolation:isolate}
.ux-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent);pointer-events:none}
.ux-visual svg{width:76%;max-width:230px;height:auto;filter:drop-shadow(0 8px 18px rgba(31,115,255,.12));opacity:.96}
.ux-visual>span{position:absolute;left:12px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(2,7,25,.68);color:#c9d9eb;font-size:.58rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ux-visual-thermal{color:#6ee7f1;background:radial-gradient(circle at 68% 18%,rgba(255,122,26,.24),transparent 25%),linear-gradient(145deg,#07172e,#0e3158)}
.ux-visual-turbo{color:#85c7ff;background:radial-gradient(circle at 52% 50%,rgba(46,213,230,.16),transparent 28%),linear-gradient(145deg,#07172e,#142f54)}
.ux-visual-multiphase{color:#7ae6ff;background:linear-gradient(180deg,#07172e 0 45%,#0f3c68 45% 100%)}
.ux-visual-diagnostic,.ux-visual-validation{color:#9fd3ff}
.ux-visual-ai{color:#6ee7f1;background:radial-gradient(circle at 50% 50%,rgba(46,213,230,.18),transparent 34%),linear-gradient(145deg,#07172e,#082943)}
.ux-visual-training{color:#a4d5ff}

/* Homepage */
.ux-home .priority-service,.ux-home .resource-gateway-card{overflow:hidden}
.ux-home .priority-service>.ux-visual,.ux-home .resource-gateway-card>.ux-visual{margin:-27px -27px 23px;border-width:0 0 1px;border-radius:0;min-height:126px}
.ux-home .priority-service-primary>.ux-visual,.ux-home .resource-ai>.ux-visual{border-color:rgba(255,255,255,.12)}
.ux-home .priority-service h3,.ux-home .resource-gateway-card strong{margin-top:0}
.ux-home .knowledge-row{grid-template-columns:70px 72px minmax(0,1fr) auto;align-items:center}
.ux-row-visual{display:block;width:64px;height:52px}
.ux-row-visual .ux-visual{min-height:52px;border-radius:9px}
.ux-row-visual svg{width:84%}
.ux-proof-layer{padding:82px 0;border-top:1px solid #dbe4ee;border-bottom:1px solid #dbe4ee;background:linear-gradient(180deg,#fff,#f6f9fc)}
.ux-proof-head,.ux-section-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:44px;align-items:end;margin-bottom:34px}
.ux-proof-head>div>span,.ux-section-head>div>span,.ux-library-intro>div>span{display:block;margin-bottom:8px;color:#116bd5;font-size:.66rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ux-proof-head h2,.ux-section-head h2,.ux-library-intro h2{margin:0;max-width:760px;color:#0a223d;font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.04;letter-spacing:-.045em}
.ux-proof-head p,.ux-section-head p{margin:0;color:#61748a;font-size:.9rem;line-height:1.75}
.ux-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ux-proof-grid a{min-height:210px;display:flex;flex-direction:column;padding:24px;border:1px solid #d7e2ed;border-radius:16px;background:#fff;color:#0b2440;box-shadow:0 8px 28px rgba(18,42,70,.05);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.ux-proof-grid a:hover{transform:translateY(-3px);border-color:#a9c7e8;box-shadow:0 18px 40px rgba(18,42,70,.09)}
.ux-proof-grid strong{font-size:3.25rem;line-height:1;color:#0f67d8;letter-spacing:-.055em}
.ux-proof-grid span{margin-top:14px;font-size:1rem;font-weight:800;line-height:1.3}
.ux-proof-grid small{margin-top:auto;padding-top:24px;color:#5f7187;font-size:.72rem;font-weight:760;border-top:1px solid #e6edf4}

/* Knowledge Hub */
.ux-library-browser{position:relative;z-index:2;padding:44px 0 52px;border-bottom:1px solid #d8e4ef;background:#f7faff}
.ux-library-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:36px;align-items:end;margin-bottom:28px}
.ux-library-search{position:relative;display:block}
.ux-library-search>span{display:block;margin-bottom:7px;color:#5b6e84;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.ux-library-search input{width:100%;min-height:54px;padding:0 52px 0 17px;border:1px solid #cddbe9;border-radius:12px;background:#fff;color:#102b49;font:600 .9rem/1.2 inherit;box-shadow:0 8px 22px rgba(17,45,77,.05)}
.ux-library-search input:focus{outline:3px solid rgba(31,115,255,.14);border-color:#4b8fe8}
.ux-library-search b{position:absolute;right:15px;bottom:13px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #d7e2ec;border-radius:7px;color:#66809e;background:#f8fafc;font-size:.75rem}
.ux-library-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ux-library-categories button{appearance:none;text-align:left;cursor:pointer;padding:0;overflow:hidden;border:1px solid #d7e2ed;border-radius:15px;background:#fff;color:#102840;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}
.ux-library-categories button:hover{transform:translateY(-2px);border-color:#afcae6;box-shadow:0 14px 30px rgba(20,51,84,.08)}
.ux-library-categories .ux-visual{min-height:92px;border:0;border-bottom:1px solid rgba(145,174,205,.22);border-radius:0}
.ux-library-categories strong,.ux-library-categories button>span:last-child{display:block;padding-left:16px;padding-right:16px}
.ux-library-categories strong{padding-top:14px;font-size:.95rem}
.ux-library-categories button>span:last-child{padding-top:5px;padding-bottom:16px;color:#6b7b90;font-size:.72rem;line-height:1.45}
.ux-library-results{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding-top:16px;border-top:1px solid #dce6ef;color:#60738a;font-size:.74rem}
.ux-library-results button{border:0;background:transparent;color:#0f67d8;font:800 .72rem/1 inherit;cursor:pointer}
.ux-knowledge .info-card{overflow:hidden}
.ux-knowledge .info-card>.ux-visual{margin:-26px -26px 22px;border-width:0 0 1px;border-radius:0;min-height:116px}
.ux-knowledge .dark-card>.ux-visual{border-color:rgba(255,255,255,.11)}
.ux-knowledge .page-section.ux-filter-empty{display:none}

/* Consulting */
.ux-consulting-workflows{padding:68px 0;background:#f7faff;border-bottom:1px solid #dbe5ef}
.ux-workflow-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ux-workflow-cards>a{display:flex;flex-direction:column;overflow:hidden;min-height:390px;border:1px solid #d7e2ed;border-radius:17px;background:#fff;color:#102840;box-shadow:0 10px 30px rgba(14,42,72,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ux-workflow-cards>a:hover{transform:translateY(-3px);border-color:#b1cae4;box-shadow:0 18px 40px rgba(14,42,72,.09)}
.ux-workflow-cards .ux-visual{min-height:166px;border:0;border-bottom:1px solid #dfe8f0;border-radius:0}
.ux-workflow-cards>a>small,.ux-workflow-cards>a>strong,.ux-workflow-cards>a>span,.ux-workflow-cards>a>b{margin-left:22px;margin-right:22px}
.ux-workflow-cards>a>small{margin-top:20px;color:#0f67d8;font-size:.62rem;font-weight:900;letter-spacing:.11em}
.ux-workflow-cards>a>strong{margin-top:8px;font-size:1.12rem;line-height:1.28}
.ux-workflow-cards>a>span{margin-top:10px;color:#68798d;font-size:.8rem;line-height:1.6}
.ux-workflow-cards>a>b{margin-top:auto;padding:18px 0 20px;border-top:1px solid #e5ecf3;color:#173d68;font-size:.75rem}
.ux-consulting .consulting-need-card{overflow:hidden}
.ux-consulting .consulting-need-card>.ux-visual{margin:-25px -25px 22px;border-width:0 0 1px;border-radius:0;min-height:120px}
.ux-consulting .application-row{grid-template-columns:82px 120px minmax(0,1fr) auto;align-items:center}
.ux-application-visual{width:70px}
.ux-application-visual .ux-visual{min-height:58px;border-radius:9px}

/* Training academy */
.ux-academy-dashboard{padding:66px 0;background:#f7faff;border-bottom:1px solid #dbe5ef}
.ux-academy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ux-academy-grid>a{display:flex;flex-direction:column;overflow:hidden;min-height:335px;border:1px solid #d6e1ec;border-radius:16px;background:#fff;color:#102840;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.ux-academy-grid>a:hover{transform:translateY(-3px);border-color:#aec9e4;box-shadow:0 18px 40px rgba(13,42,74,.08)}
.ux-academy-grid .ux-visual{min-height:126px;border:0;border-bottom:1px solid #e1e8f0;border-radius:0}
.ux-academy-grid>a>small,.ux-academy-grid>a>strong,.ux-academy-grid>a>span,.ux-academy-grid>a>b{margin-left:18px;margin-right:18px}
.ux-academy-grid>a>small{margin-top:17px;color:#0f67d8;font-size:.58rem;font-weight:900;letter-spacing:.1em}
.ux-academy-grid>a>strong{margin-top:7px;font-size:1rem;line-height:1.3}
.ux-academy-grid>a>span{margin-top:9px;color:#68798d;font-size:.75rem;line-height:1.55}
.ux-academy-grid>a>b{margin-top:auto;padding:16px 0 18px;border-top:1px solid #e5edf4;color:#173e68;font-size:.72rem}
.ux-training .path-stage,.ux-training .specialist-card,.ux-training .compact-course-grid a{overflow:hidden}
.ux-training .path-stage>.ux-visual{grid-column:1/-1;min-height:118px;margin:-1px -1px 8px;border-radius:12px 12px 0 0}
.ux-training .specialist-card>.ux-visual,.ux-training .compact-course-grid a>.ux-visual{margin:-22px -22px 18px;border-width:0 0 1px;border-radius:0;min-height:108px}
.ux-course-dot{display:inline-block;width:9px;height:9px;margin-right:10px;border-radius:50%;background:#2ed5e6;box-shadow:0 0 0 4px rgba(46,213,230,.12)}
.ux-course-thermal{background:#ff9b54;box-shadow:0 0 0 4px rgba(255,122,26,.1)}
.ux-course-turbo{background:#5bb7ff}
.ux-course-multiphase{background:#31d5db}

/* Tools */
.ux-tools .tool-priority-card,.ux-tools .engineering-workflow-grid a,.ux-tools .tool-problem-grid button,.ux-tools .tool-problem-grid a{overflow:hidden}
.ux-tools .tool-priority-card>.ux-visual,.ux-tools .engineering-workflow-grid a>.ux-visual,.ux-tools .tool-problem-grid button>.ux-visual,.ux-tools .tool-problem-grid a>.ux-visual{margin:-20px -20px 16px;border-width:0 0 1px;border-radius:0;min-height:96px}

/* AI */
.ux-ai .ai-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ux-ai .ai-quick-card{overflow:hidden;text-align:left}
.ux-ai .ai-quick-card>.ux-visual{margin:-20px -20px 16px;border-width:0 0 1px;border-radius:0;min-height:105px}
.ux-engineering-band{display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:8px;align-items:center;margin:0 0 12px;padding:10px;border:1px solid #d9e3ed;border-radius:12px;background:#f7fafc;color:#52687f;font-size:.68rem}
.ux-engineering-band>span{padding-left:4px;color:#0f67d8;font-weight:900;letter-spacing:.1em}
.ux-engineering-band>div{padding:9px 10px;border:1px solid #e0e7ef;border-radius:8px;background:#fff}
.ux-engineering-band b{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;border-radius:50%;background:#0e3158;color:#fff;font-size:.62rem}

@media(max-width:1050px){
  .ux-proof-grid,.ux-library-categories,.ux-academy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ux-workflow-cards{grid-template-columns:1fr 1fr}
  .ux-workflow-cards>a:last-child{grid-column:1/-1}
  .ux-engineering-band{grid-template-columns:1fr repeat(3,1fr)}
  .ux-engineering-band>div:nth-last-child(-n+2){grid-column:auto}
}

@media(max-width:760px){
  .ux-proof-layer,.ux-consulting-workflows,.ux-academy-dashboard{padding:52px 0}
  .ux-proof-head,.ux-section-head,.ux-library-intro{grid-template-columns:1fr;gap:18px}
  .ux-proof-head h2,.ux-section-head h2,.ux-library-intro h2{font-size:clamp(1.85rem,8vw,2.65rem)}
  .ux-proof-grid,.ux-library-categories,.ux-workflow-cards,.ux-academy-grid,.ux-ai .ai-quick-grid{grid-template-columns:1fr}
  .ux-workflow-cards>a:last-child{grid-column:auto}
  .ux-proof-grid a{min-height:170px}
  .ux-library-browser{padding:36px 0 42px}
  .ux-library-search input{min-height:50px}
  .ux-home .knowledge-row{grid-template-columns:56px minmax(0,1fr) auto}
  .ux-home .knowledge-row>.knowledge-index{display:none}
  .ux-row-visual{width:50px}
  .ux-consulting .application-row{grid-template-columns:60px minmax(0,1fr) auto}
  .ux-consulting .application-code{display:none}
  .ux-application-visual{width:52px}
  .ux-engineering-band{display:flex;overflow-x:auto;gap:7px;scrollbar-width:none}
  .ux-engineering-band::-webkit-scrollbar{display:none}
  .ux-engineering-band>span,.ux-engineering-band>div{flex:0 0 auto;white-space:nowrap}
}

@media(max-width:480px){
  .ux-proof-grid,.ux-library-categories{gap:10px}
  .ux-proof-grid strong{font-size:2.7rem}
  .ux-library-categories .ux-visual{min-height:82px}
  .ux-workflow-cards>a{min-height:350px}
}


/* Practical CFD imagery for consulting routes */
.ux-case-media{
  position:relative;
  overflow:hidden;
  background:#eaf1f7;
}
.ux-case-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 420ms cubic-bezier(.2,.7,.2,1),filter 180ms ease;
}
.ux-workflow-cards .ux-case-media{
  height:166px;
  flex:0 0 166px;
  border-bottom:1px solid #dfe8f0;
}
.ux-workflow-cards>a:hover .ux-case-media img{transform:scale(1.035)}
.ux-consulting .consulting-need-card>.ux-case-media{
  height:154px;
  flex:0 0 154px;
  margin:-30px -30px 22px;
  border-bottom:1px solid rgba(127,177,212,.24);
}
.ux-consulting .consulting-need-card.primary>.ux-case-media{
  border-color:rgba(255,255,255,.11);
}
.ux-consulting .consulting-need-card:hover>.ux-case-media img{
  transform:scale(1.035);
  filter:saturate(1.03) contrast(1.02);
}
@media(max-width:680px){
  .ux-consulting .consulting-need-card>.ux-case-media{
    height:150px;
    margin:-23px -23px 20px;
  }
}
@media(prefers-reduced-motion:reduce){
  .ux-case-media img{transition:none!important}
  .ux-workflow-cards>a:hover .ux-case-media img,
  .ux-consulting .consulting-need-card:hover>.ux-case-media img{transform:none!important}
}


/* Automatic thermal hot-spot workflow-card slideshow */
.ux-card-slideshow{
  position:relative;
  isolation:isolate;
  background:#eef3f7;
}
.ux-card-slideshow img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  opacity:0;
  visibility:hidden;
  transform:scale(1.012);
  background:#fff;
  transition:opacity .6s ease,transform 1.1s ease,visibility 0s linear .6s;
}
.ux-card-slideshow img.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  transition-delay:0s;
}
.ux-workflow-cards>a:hover .ux-card-slideshow img{
  transform:scale(1);
}
@media(prefers-reduced-motion:reduce){
  .ux-card-slideshow img{transition:none!important}
}
