/* SPB targeted refinements — no layout-affecting scroll handlers or costly blur */
body:has(.page-intro) {
  background: radial-gradient(ellipse 120% 340px at 12% 0%, rgba(46,130,130,.17), transparent 64%),
              radial-gradient(ellipse 120% 520px at 94% 4%, rgba(134,107,195,.12), transparent 70%),#1b1b22;
}
body:has(.page-intro) .contact-verify-ribbon {
  background:#12141c;
  border-bottom-color:rgba(255,255,255,.08);
}
main:has(> .page-intro) > .breadcrumbs {
  position:relative;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
  isolation:isolate;
  margin-bottom:0;
}
main:has(> .page-intro) > .page-intro {
  background:transparent!important;
  border-top:0!important;
  box-shadow:none!important;
}
main:has(> .page-intro) > .page-intro::before{
  opacity:.3;
}
.page-intro .spb-about-title {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  letter-spacing:-.058em;
  line-height:1.04;
  max-width:min(100%,1080px);
  overflow-wrap:normal;
  word-break:normal;
}
.spb-about-title span{display:block;white-space:nowrap;max-width:100%}
.profile-stats article{min-width:0}
.profile-stats strong{
  display:block;
  max-width:100%;
  font-size:clamp(1.75rem,3.15vw,3.65rem);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.055em;
  overflow-wrap:normal;
  line-height:1.12;
  white-space:nowrap
}
/* Both small company tiles share one palette and size. Gradients replace expensive blur. */
.spb-editorial-company .spb-company-blue,
.spb-editorial-company .spb-company-molecule {
  position:relative;
  border:1px solid rgba(201,227,233,.15);
  border-radius:20px;
  background:linear-gradient(148deg,#2b313c 0%,#252733 58%,#222431 100%);
  box-shadow:inset 0 1px rgba(255,255,255,.06);
  color:#f1f1f7;
}
.spb-editorial-company .spb-company-blue { isolation:isolate }
.spb-editorial-company .spb-company-blue span{color:#9ce8d9}
.spb-editorial-company .spb-company-blue strong{max-width:18ch;z-index:1;line-height:1.14}
.spb-editorial-company .spb-company-ring{
  right:-28px;top:-50px;
  will-change:auto;
  transform:translate3d(0,var(--spb-orb-shift,0px),0);
  transition:transform .14s linear;
  border-color:rgba(132,231,225,.22);
  box-shadow:0 0 0 20px rgba(146,234,225,.065),0 0 0 39px rgba(146,234,225,.03)
}
.spb-editorial-company .spb-company-molecule {
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:clamp(1rem,2.2vw,1.6rem);
  min-width:0;
  min-height:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(179,216,233,.22),transparent 69%),
    linear-gradient(148deg,#2b313c 0%,#252733 58%,#222431 100%);
}
.spb-editorial-company .spb-company-molecule::after{
  content:"";position:absolute;width:140px;height:140px;right:-90px;bottom:-80px;
  border:1px solid rgba(147,224,225,.15);
  border-radius:50%;
  box-shadow:0 0 0 17px rgba(169,203,225,.035);
  pointer-events:none;
  transform:translate3d(0,var(--spb-orb-opposite,0px),0);
}
.spb-editorial-company .spb-group-logo-wrap{
  display:grid;place-items:center;
  position:relative;z-index:1;
  width:min(92%,240px);
  aspect-ratio:auto;
  height:auto;
  margin:auto;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  padding:0;
}
.spb-editorial-company .spb-group-logo-wrap img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 5px 12px rgba(4,9,22,.16));
}
.spb-editorial-company .spb-company-molecule .spb-molecule-core,
.spb-editorial-company .spb-company-molecule .spb-molecule-orbit{display:block}
.spb-editorial-company .spb-molecule-orbit{
  width:min(58%,132px);
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.spb-editorial-company .spb-molecule-core{position:relative;z-index:1;width:min(15%,32px)}
/* Touch-first horizontal research strip, no duplicated media for looping */
.spb-fields-band .spb-fields-scroller{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.spb-fields-band .spb-fields-scroller:focus-visible{outline:2px solid #8be5d4;outline-offset:3px}
.spb-fields-band .spb-field-controls{display:flex;align-items:center;gap:.5rem;flex:none}
.spb-fields-band .spb-field-controls button{
  display:grid;place-items:center;
  min-width:44px;min-height:44px;
  border:1px solid rgba(225,236,241,.24);
  border-radius:50%;
  color:#d5e5e6;
  background:#ffffff0a;
  font-size:1.6rem;cursor:pointer;
  transition:background .18s,border-color .18s
}
.spb-fields-band .spb-field-controls button:hover,.spb-fields-band .spb-field-controls button:focus-visible{
  background:#ffffff1b;border-color:#99eedb
}
.spb-fields-band .spb-field-controls button:focus-visible{outline:2px solid #99eedb;outline-offset:3px}
.spb-fields-band .spb-field-hint{font-size:.72rem;color:#adb6c7;letter-spacing:.015em}
@media(min-width:1101px){.spb-fields-band .spb-field-controls{display:none}}
@media(max-width:1100px){
  .spb-fields-band .spb-fields-heading{flex-wrap:wrap}
  .spb-fields-band .spb-fields-scroller{touch-action:pan-x pan-y;scroll-snap-type:x mandatory}
  .spb-fields-band .spb-research-field{scroll-snap-align:start}
}
@media(max-width:600px){
 .page-intro .spb-about-title{font-size:clamp(2.35rem,10vw,4rem);letter-spacing:-.065em}
 .profile-stats strong{font-size:clamp(1.6rem,7vw,2.8rem)}
 .spb-fields-band .spb-fields-heading{align-items:start}
 .spb-fields-band .spb-field-controls{margin-top:.6rem}
 .spb-editorial-company .spb-group-logo-wrap{width:min(64%,150px)}
}
@media(prefers-reduced-motion:reduce){
 .spb-company-ring,.spb-company-molecule::after{transform:none!important;transition:none!important}
 .spb-fields-band .spb-field-controls button{transition:none}
}

/* Keep the complete two-line SPB logo inside its sticky navigation.
   The approved white horizontal logo is 640×193 (~3.32:1).
   Max-height must stay BELOW the 70–74px navbar height. */
.site-header .header-inner.container{width:100%;max-width:none}
.site-header .header-inner .brand.spb-wordmark-brand{
  display:flex;
  align-items:center;
  flex:0 1 auto;
  min-width:0;
  max-width:min(46vw,340px);
  align-self:center;
  overflow:visible;
}
.site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-text,
.site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-mark,
.site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-compact{
  display:block;
  box-sizing:border-box;
  width:auto!important;
  max-width:100%!important;
  height:auto;
  object-fit:contain!important;
  object-position:left center!important;
  filter:brightness(0) invert(1)!important;
  opacity:1!important;
  transform:none!important;
}
.site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-text{height:clamp(28px,3.5vw,46px)!important}
.site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-mark{display:none!important;height:clamp(40px,11vw,56px)!important;max-width:none!important}
.site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-compact{display:none!important;height:32px!important;width:auto!important;max-width:none!important}
@media(min-width:860px) and (max-width:1020px){
  .site-header .header-inner .brand.spb-wordmark-brand{max-width:110px}
  .site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-text{display:none!important}
  .site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-mark{display:none!important}
  .site-header .header-inner .brand.spb-wordmark-brand img.spb-wordmark-compact{display:block!important;height:34px!important}
}
/* The three research-card orbs respond to scrolling without reflow. */
.spb-knowledge-card .spb-knowledge-top .spb-knowledge-orb{
  transform:translate3d(var(--spb-guide-drift-x,0px),var(--spb-guide-drift-y,0px),0) rotate(var(--spb-guide-turn,0deg)) scale(var(--spb-guide-scale,1))!important;
  transition:none;
}
.spb-knowledge-card:nth-child(2) .spb-knowledge-orb{
  --spb-guide-turn:-14deg;
}
.spb-knowledge-card:nth-child(3) .spb-knowledge-orb{
  --spb-guide-scale:.8;
}
@media(prefers-reduced-motion:reduce){
 .spb-knowledge-top .spb-knowledge-orb{
   transform:rotate(var(--spb-guide-turn,0deg)) scale(var(--spb-guide-scale,1))!important;
 }
}