
/* ==========================================================
   BMI Systems v8 — homepage only.
   All other page templates remain from v6.
   ========================================================== */

html, body {
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto !important;
}
body.home,
body.home .v8-home {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.v8-home {
  width: 100%;
  overflow: visible;
  background: #f4f8fa;
}

/* approved logo */
.v8-site-brand {
  display: inline-flex !important;
  width: clamp(245px, 19vw, 330px);
  align-items: center;
}
.v8-site-brand img {
  width: 100% !important;
  height: auto !important;
  max-height: 61px;
  object-fit: contain !important;
  object-position: left center;
}

/* HERO */
.v8-hero {
  position: relative;
  isolation: isolate;
  min-height: 615px;
  display: grid;
  grid-template-columns: minmax(510px,.9fr) minmax(670px,1.1fr);
  align-items: center;
  gap: 24px;
  padding: 58px clamp(40px,5.5vw,96px) 40px;
  overflow: hidden;
  background:
    radial-gradient(circle at 68% 42%, rgba(255,255,255,.98) 0, rgba(255,255,255,.78) 24%, transparent 58%),
    linear-gradient(135deg,#f8fbfd 0%,#eef4f7 48%,#e8f1f5 100%);
}
.v8-hero-copy {
  position: relative;
  z-index: 5;
  max-width: 760px;
}
.v8-eyebrow {
  margin: 0;
  color: #078b99;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .155em;
  text-transform: uppercase;
}
.v8-hero h1 {
  margin: 17px 0 0;
  max-width: 760px;
  color: #031d38;
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(52px,4.15vw,73px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.045em;
}
.v8-hero-description {
  max-width: 660px;
  margin: 28px 0 0;
  color: #40596b;
  font-size: clamp(16px,1.15vw,19px);
  line-height: 1.72;
}
.v8-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 29px;
}
.v8-button {
  min-height: 48px;
  padding: 0 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.v8-button:hover { transform: translateY(-2px); }
.v8-button--primary {
  color: #fff;
  background: #031d38;
  box-shadow: 0 10px 30px rgba(3,29,56,.12);
}
.v8-button--primary span { color: #42d6df; font-size: 18px; }
.v8-button--outline {
  color: #031d38;
  background: rgba(255,255,255,.72);
  border: 1px solid #9db7c5;
}
.v8-button--outline span { color: #159ca7; font-size: 18px; }

.v8-hero-particles {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: .35;
  pointer-events: none;
}
.v8-hero-floor-wave {
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 170px;
  opacity: .16;
}
.v8-hero-floor-wave path {
  fill: none;
  stroke: #42cbd7;
  stroke-width: 1.1;
  stroke-dasharray: 2 7;
}

/* BMI hero visual */
.v8-bmi-visual {
  position: relative;
  z-index: 4;
  min-height: 505px;
}

/* subtle background neural signals behind the brain */
.v8-background-signals {
  position: absolute;
  z-index: 1;
  left: -4%;
  top: 58px;
  width: 67%;
  height: 390px;
  opacity: .11;
}
.v8-background-signals path {
  fill: none;
  stroke: #159ca7;
  stroke-width: 1.2;
  stroke-dasharray: 5 8;
  animation: v8-bg-flow 8s linear infinite;
}
.v8-background-signals path:nth-child(2){animation-delay:-2s}
.v8-background-signals path:nth-child(3){animation-delay:-4s}
.v8-background-signals path:nth-child(4){animation-delay:-6s}

.v8-brain-wrap {
  position: absolute;
  z-index: 5;
  left: 1%;
  top: 92px;
  width: 32%;
  height: 302px;
}
.v8-brain-glow {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  background: rgba(61,196,214,.12);
  filter: blur(36px);
}
.v8-brain-model {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  --poster-color: transparent;
}
.v8-brain-loader {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}
.v8-brain-loader::before {
  content: "";
  width: 124px;
  height: 94px;
  border: 1px solid rgba(21,156,167,.22);
  border-radius: 48% 52% 50% 45%;
  background: radial-gradient(circle,rgba(66,214,223,.08),transparent 66%);
  animation: v8-loader-breathe 1.9s ease-in-out infinite;
}
.v8-brain-loader span {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #42d6df;
  box-shadow: 0 0 12px #42d6df;
  animation: v8-loader-dot 1.7s ease-in-out infinite;
}
.v8-brain-loader span:nth-child(1){transform:translate(-31px,-6px)}
.v8-brain-loader span:nth-child(2){transform:translate(4px,-25px);animation-delay:-.55s}
.v8-brain-loader span:nth-child(3){transform:translate(32px,12px);animation-delay:-1.05s}
.v8-brain-loader.is-hidden { display: none; }

.v8-hotspot {
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 50%;
  background: #42d6df;
  box-shadow: 0 0 0 5px rgba(66,214,223,.12),0 0 15px rgba(66,214,223,.8);
  cursor: pointer;
}
.v8-hotspot:hover,
.v8-hotspot:focus {
  transform: scale(1.3);
  outline: none;
}
.v8-region-popup {
  position: absolute;
  z-index: 10;
  left: 4%;
  bottom: -38px;
  width: 230px;
  padding: 10px 13px;
  border: 1px solid rgba(21,156,167,.18);
  border-radius: 7px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 24px rgba(3,29,56,.08);
  opacity: .86;
  pointer-events: none;
  transition: opacity .2s ease,transform .2s ease;
}
.v8-region-popup.is-active {
  opacity: 1;
  transform: translateY(-4px);
}
.v8-region-popup strong {
  display: block;
  color: #031d38;
  font-size: 12px;
}
.v8-region-popup span {
  display: block;
  margin-top: 4px;
  color: #5c7280;
  font-size: 10.5px;
  line-height: 1.45;
}

.v8-band-stack {
  position: absolute;
  z-index: 6;
  left: 34%;
  top: 82px;
  width: 35%;
}
.v8-band-row {
  display: grid;
  grid-template-columns: 55px 1fr;
  align-items: center;
  min-height: 45px;
  font-size: 11.5px;
  font-weight: 600;
}
.v8-band-row svg {
  width: 100%;
  height: 32px;
  overflow: visible;
}
.v8-band-row path {
  fill: none;
  stroke-width: 1.55;
  vector-effect: non-scaling-stroke;
}
.v8-alpha{color:#2ca9d8}.v8-alpha path{stroke:#2ca9d8}
.v8-beta{color:#ff705d}.v8-beta path{stroke:#ff705d}
.v8-gamma{color:#8d6ee8}.v8-gamma path{stroke:#8d6ee8}
.v8-delta{color:#159ca7}.v8-delta path{stroke:#159ca7}
.v8-theta{color:#38acd4}.v8-theta path{stroke:#38acd4}

.v8-routing {
  position: absolute;
  z-index: 3;
  left: 60%;
  top: 96px;
  width: 21%;
  height: 286px;
  overflow: visible;
}
.v8-routing path {
  fill: none;
  stroke: url(#v8Route);
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-dasharray: 5 8;
  filter: url(#v8RouteGlow);
  opacity: .67;
  animation: v8-route-flow 3.5s linear infinite;
}
.v8-routing path:nth-child(2){animation-delay:-.45s;opacity:.53}
.v8-routing path:nth-child(3){animation-delay:-.9s;opacity:.78}
.v8-routing path:nth-child(4){animation-delay:-1.35s;opacity:.53}
.v8-routing path:nth-child(5){animation-delay:-1.8s;opacity:.67}

/* slightly smaller than v7 */
.v8-screen {
  position: absolute;
  z-index: 5;
  top: 48px;
  right: 2%;
  width: 22%;
  max-height: 145px;
  object-fit: contain;
  filter: drop-shadow(0 15px 25px rgba(56,101,134,.13));
  animation: v8-screen-float 5s ease-in-out infinite;
}
.v8-hand {
  position: absolute;
  z-index: 5;
  right: -4%;
  bottom: 42px;
  width: 37%;
  max-height: 175px;
  object-fit: contain;
  filter: drop-shadow(0 15px 25px rgba(56,101,134,.13));
  transform-origin: 72% 55%;
  animation: v8-hand-move 6s ease-in-out infinite;
}
.v8-decoded-pulse {
  position: absolute;
  z-index: 7;
  left: 64%;
  top: 51%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #42d6df;
  box-shadow: 0 0 0 6px rgba(66,214,223,.08),0 0 18px #42d6df;
  animation: v8-decoded-pulse 4.8s ease-in-out infinite;
}

/* director strip */
.v8-director {
  position: relative;
  min-height: 110px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(110deg,#031d38,#082d46 54%,#031d38);
}
.v8-director-wave {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 110px;
}
.v8-director-wave path {
  fill: none;
  stroke: #42d6df;
  stroke-width: 1.5;
  stroke-dasharray: 9 8;
  opacity: .42;
  animation: v8-director-flow 6s linear infinite;
}
.v8-director-copy {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 4px 28px;
  color: #9fdbe0;
  background: rgba(3,29,56,.75);
}
.v8-director-copy span{font-size:14px}
.v8-director-copy a{
  position:relative;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:27px;
}
.v8-director-copy a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-5px;
  height:2px;
  background:#42d6df;
  transition:right .25s ease;
}
.v8-director-copy a:hover::after{right:0}

/* pipeline */
.v8-pipeline {
  padding: 66px 0 60px;
  background:
    radial-gradient(circle at 50% 42%,rgba(76,204,217,.07),transparent 28%),
    linear-gradient(145deg,#f6fbfc,#edf5f7);
}
.v8-pipeline-heading {
  margin: 0 0 40px;
  text-align: center;
  color: #078b99;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.v8-pipeline-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 108px minmax(0,1fr) 108px minmax(0,1fr);
  align-items: center;
  gap: 12px;
}
.v8-card {
  position: relative;
  min-height: 390px;
  overflow: hidden;
  border-radius: 9px;
  background: #031d38;
  box-shadow: 0 18px 46px rgba(3,29,56,.14);
  outline: none;
  transition: transform .32s ease,box-shadow .32s ease;
}
.v8-card.is-active,
.v8-card:hover,
.v8-card:focus-visible {
  transform: translateY(-9px) scale(1.025);
  box-shadow: 0 30px 66px rgba(3,29,56,.22),0 0 0 1px rgba(66,214,223,.2);
}
.v8-card img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.v8-card.is-active img,
.v8-card:hover img,
.v8-card:focus-visible img { transform: scale(1.055); }
.v8-card-shade {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,18,32,.04),rgba(2,18,32,.28) 40%,rgba(2,18,32,.98));
}
.v8-card-number {
  position:absolute;
  z-index:4;
  top:17px;
  left:17px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#03202e;
  background:#42d6df;
  font-size:12px;
  font-weight:800;
}
.v8-card-copy {
  position:absolute;
  z-index:4;
  left:27px;
  right:27px;
  bottom:24px;
  color:#fff;
}
.v8-card-copy>span{
  color:#50e7ec;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.v8-card-copy h2{
  margin:8px 0 11px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(24px,1.8vw,31px);
  font-weight:400;
  line-height:1.08;
}
.v8-card-copy p{
  margin:0;
  color:#c2d8e1;
  font-size:13px;
  line-height:1.65;
}
.v8-card-detail{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease,opacity .3s ease,margin .3s ease;
}
.v8-card.is-active .v8-card-detail,
.v8-card:hover .v8-card-detail,
.v8-card:focus-visible .v8-card-detail{
  max-height:110px;
  margin-top:12px;
  opacity:1;
}

.v8-connector svg{display:block;width:100%;overflow:visible}
.v8-connector-wave,.v8-connector-head{
  fill:none;
  stroke:#159ca7;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.v8-connector-wave{stroke-dasharray:3 6;opacity:.55}
.v8-connector-pulse{
  fill:#42d6df;
  filter:drop-shadow(0 0 6px rgba(66,214,223,.9));
  animation:v8-connector-pulse 2.8s ease-in-out infinite;
}
.v8-connector-pulse-delay{animation-delay:-1.3s}

.v8-pipeline-signal {
  width:min(80%,1020px);
  height:72px;
  margin:24px auto 0;
}
.v8-pipeline-signal canvas {
  display:block;
  width:100%;
  height:72px;
}
.v8-pipeline-action{text-align:center;margin-top:15px}

/* work with us */
.v8-work{padding:64px 0 52px;background:#fff}
.v8-work-panel{
  position:relative;
  min-height:250px;
  overflow:hidden;
  padding:44px 52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:52px;
  border:1px solid rgba(32,150,171,.2);
  border-radius:10px;
  background:
    radial-gradient(circle at 85% 15%,rgba(66,214,223,.12),transparent 30%),
    linear-gradient(135deg,#eef8fa,#e7f3f6);
}
.v8-work-panel>div{position:relative;z-index:3}
.v8-work-panel h2{
  max-width:720px;
  margin:12px 0 14px;
  color:#031d38;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(38px,3.25vw,53px);
  font-weight:400;
  line-height:1.02;
}
.v8-work-panel p:last-child{
  max-width:700px;
  margin:0;
  color:#587182;
  line-height:1.7;
}
.v8-work-panel>a{position:relative;z-index:3;flex:0 0 auto}
.v8-work-wave{
  position:absolute;
  z-index:1;
  right:-2%;
  bottom:-34px;
  width:60%;
  height:180px;
  opacity:.2;
}
.v8-work-wave path{
  fill:none;
  stroke:#42d6df;
  stroke-width:1.1;
  stroke-dasharray:2 6;
}

/* compact latest updates tab */
.v8-updates {
  background:#fff;
  border-top:1px solid rgba(3,29,56,.08);
  border-bottom:1px solid rgba(3,29,56,.08);
}
.v8-updates-strip {
  min-height:62px;
  display:grid;
  grid-template-columns:.7fr 1fr 1fr 1fr;
  align-items:center;
  gap:28px;
  font-size:12.5px;
}
.v8-updates-strip strong{
  color:#031d38;
  font-size:12px;
}
.v8-updates-strip a{
  color:#334d60;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v8-updates-strip a:hover{color:#159ca7}

/* footer logo */
.footer-brand-row img {
  width: 220px !important;
  height: auto !important;
  max-height: 88px;
  object-fit: contain !important;
  object-position: left center;
  background: transparent !important;
}

/* animations */
@keyframes v8-bg-flow{to{stroke-dashoffset:-90}}
@keyframes v8-loader-breathe{0%,100%{transform:scale(.92);opacity:.45}50%{transform:scale(1.05);opacity:1}}
@keyframes v8-loader-dot{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes v8-route-flow{to{stroke-dashoffset:-52}}
@keyframes v8-screen-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes v8-hand-move{0%,100%{transform:translateY(0) rotate(0)}45%,55%{transform:translateY(-4px) rotate(-1deg)}}
@keyframes v8-decoded-pulse{
  0%,24%{transform:translate(0,0) scale(.7);opacity:0}
  34%{opacity:1}
  62%{transform:translate(105px,54px) scale(1);opacity:1}
  80%,100%{transform:translate(180px,110px) scale(.7);opacity:0}
}
@keyframes v8-director-flow{to{stroke-dashoffset:-145}}
@keyframes v8-connector-pulse{0%,100%{opacity:.2;transform:translateX(0)}50%{opacity:1;transform:translateX(110px)}}

@media(max-width:1180px){
  .v8-hero{grid-template-columns:minmax(440px,.9fr) minmax(540px,1.1fr)}
  .v8-hero h1{font-size:clamp(48px,4.5vw,64px)}
  .v8-pipeline-grid{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr) 70px minmax(0,1fr)}
}
@media(max-width:940px){
  .v8-site-brand{width:230px}
  .v8-hero{min-height:auto;grid-template-columns:1fr;padding-top:56px}
  .v8-bmi-visual{min-height:505px;margin-top:15px}
  .v8-pipeline-grid{grid-template-columns:1fr;gap:18px}
  .v8-connector{height:40px;transform:rotate(90deg)}
  .v8-card{min-height:440px}
  .v8-work-panel{align-items:flex-start;flex-direction:column}
  .v8-updates-strip{grid-template-columns:1fr 1fr;padding-block:14px}
}
@media(max-width:660px){
  .v8-site-brand{width:185px}
  .v8-hero{padding-inline:22px}
  .v8-hero h1{font-size:45px}
  .v8-hero-description br{display:none}
  .v8-bmi-visual{min-height:450px}
  .v8-brain-wrap{left:0;width:42%}
  .v8-band-stack{left:35%;width:47%}
  .v8-routing{left:61%;width:28%}
  .v8-screen{width:29%}
  .v8-hand{width:46%}
  .v8-region-popup{width:190px}
  .v8-director-copy a{font-size:23px}
  .v8-work-panel{padding:34px 26px}
  .v8-updates-strip{grid-template-columns:1fr;gap:9px}
}
@media(prefers-reduced-motion:reduce){
  .v8-background-signals path,.v8-routing path,.v8-screen,.v8-hand,.v8-decoded-pulse,
  .v8-director-wave path,.v8-connector-pulse,.v8-brain-loader::before,.v8-brain-loader span{animation:none!important}
}


/* ==========================================================
   v9 precision fixes requested after v8 review
   ========================================================== */

/* EXACT v7 header logo proportions on Home AND every other page. */
.v9-site-brand {
  display: inline-flex !important;
  align-items: center;
  width: clamp(225px, 18vw, 310px) !important;
  min-width: 225px;
  flex: 0 0 auto;
}
.v9-site-brand img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 60px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* The pipeline must sit inside a real content shell.
   Gives visible breathing room at both browser edges. */
.v8-pipeline > .site-shell {
  width: min(calc(100% - 72px), 1540px);
  margin-inline: auto;
}
.v8-pipeline-grid {
  padding-inline: 4px;
}

/* Same stable shell for lower homepage sections. */
.v8-work > .site-shell,
.v8-updates > .site-shell {
  width: min(calc(100% - 72px), 1540px);
  margin-inline: auto;
}

/* Footer: logo first, lab name below it instead of beside it. */
.v9-footer-identity {
  max-width: 390px;
}
.v9-footer-logo {
  display: block;
  width: min(255px, 100%);
  max-height: 88px;
  object-fit: contain;
  object-position: left center;
  background: transparent;
}
.v9-footer-lab-name {
  display: block;
  max-width: 330px;
  margin-top: 13px;
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
}
.v9-footer-identity > p {
  max-width: 380px;
  margin-top: 18px;
}

/* The original v7 brain model is used again.
   Keep its exact visual space/scale rather than v8's altered model treatment. */
.v8-brain-wrap {
  left: 1%;
  top: 92px;
  width: 32%;
  height: 302px;
}
.v8-brain-model {
  width: 100%;
  height: 100%;
}

/* Loader is only a temporary model-loading indicator, never a substitute image. */
.v8-brain-loader {
  opacity: .72;
}

/* Tablet / mobile padding remains intentional. */
@media (max-width: 940px) {
  .v9-site-brand {
    width: 230px !important;
    min-width: 0;
  }
  .v8-pipeline > .site-shell,
  .v8-work > .site-shell,
  .v8-updates > .site-shell {
    width: min(calc(100% - 36px), 1540px);
  }
}
@media (max-width: 660px) {
  .v9-site-brand {
    width: 185px !important;
  }
}


/* ==========================================================
   v10 — exact approved logo + coloured anatomical brain
   ========================================================== */

/* Exact uploaded navy/cyan logo, used at the same visual scale as v7. */
.v9-site-brand {
  width: clamp(250px, 19vw, 325px) !important;
}
.v9-site-brand img {
  max-height: 62px !important;
}

/* Give the recoloured anatomical brain slightly more room to show lobe boundaries. */
.v8-brain-wrap {
  left: 0.5%;
  top: 78px;
  width: 34%;
  height: 326px;
}

/* Region markers stay subtle until interacted with. */
.v8-hotspot {
  width: 10px;
  height: 10px;
  border: 1.5px solid rgba(255,255,255,.95);
  background: #42d6df;
  box-shadow: 0 0 0 4px rgba(66,214,223,.10), 0 0 12px rgba(66,214,223,.75);
  transition: transform .18s ease, box-shadow .18s ease;
}
.v8-hotspot:hover,
.v8-hotspot:focus {
  transform: scale(1.45);
  box-shadow: 0 0 0 6px rgba(66,214,223,.12), 0 0 20px rgba(66,214,223,.92);
}

/* Explore / region information now sits as a compact integrated annotation
   below the brain rather than a detached white box. */
.v8-region-popup {
  left: 4%;
  bottom: -18px;
  width: 275px;
  min-height: 54px;
  padding: 10px 13px 10px 15px;
  border: 1px solid rgba(21,156,167,.18);
  border-left: 3px solid #159ca7;
  border-radius: 6px;
  background: rgba(246,251,252,.88);
  box-shadow: 0 9px 24px rgba(3,29,56,.055);
  backdrop-filter: blur(8px);
  opacity: .92;
}
.v8-region-popup::before {
  content: "●";
  position: absolute;
  left: -7px;
  top: 18px;
  color: #42d6df;
  font-size: 9px;
  text-shadow: 0 0 8px #42d6df;
}
.v8-region-popup strong {
  color: #031d38;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .015em;
}
.v8-region-popup span {
  margin-top: 3px;
  color: #657b89;
  font-size: 10px;
  line-height: 1.42;
}
.v8-region-popup.is-active {
  opacity: 1;
  transform: translateY(-3px);
  background: rgba(255,255,255,.96);
}

/* Slightly shift EEG bands so the enlarged coloured brain retains breathing room. */
.v8-band-stack {
  left: 35.5%;
  width: 34%;
}

/* Shared footer logo also uses the exact uploaded logo artwork. */
.v9-footer-logo {
  width: min(270px, 100%) !important;
}

@media(max-width:940px){
  .v9-site-brand{width:230px!important}
  .v8-brain-wrap{width:42%;left:0}
  .v8-band-stack{left:39%;width:45%}
}
@media(max-width:660px){
  .v9-site-brand{width:190px!important}
  .v8-region-popup{width:205px}
}


/* v11 homepage refinements */
.v8-brain-model{opacity:0;transition:opacity .45s ease}
.v8-brain-model.is-loaded{opacity:1}
.v11-brain-loading{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#6b8793;pointer-events:none}
.v11-brain-loading.is-hidden{display:none}
.v11-brain-loading small{font-size:10px;letter-spacing:.04em}
.v11-spinner{width:22px;height:22px;border:2px solid rgba(21,156,167,.17);border-top-color:#159ca7;border-radius:50%;animation:v11-spin .8s linear infinite}
@keyframes v11-spin{to{transform:rotate(360deg)}}
.v8-region-popup{left:3%;bottom:-13px;width:290px;background:rgba(247,252,253,.92)}
.v8-region-popup strong{font-size:12px}.v8-region-popup span{font-size:10px}
/* Hide the marker dots visually; whole-region hover is now the primary interaction. */
.v8-hotspot{opacity:.10;pointer-events:none;width:7px;height:7px}
.v8-brain-wrap.is-region-hovered .v8-hotspot{opacity:.06}
@media(max-width:1180px){.site-nav{gap:15px!important;font-size:12px!important}.site-nav a{padding-inline:0}}

/* ==========================================================
   v12.6 — scientifically ordered bands + unified signal field
   ========================================================== */
/* The ambient EEG/neural traces now span the complete BMI visual,
   staying faint enough to act as a connective background layer. */
.v8-background-signals {
  left: -2%;
  top: 38px;
  width: 104%;
  height: 430px;
  opacity: .085;
  z-index: 1;
  pointer-events: none;
}
.v8-background-signals path {
  stroke-width: 1.05;
  stroke-dasharray: 4 10;
  animation-duration: 10s;
}
/* Keep all meaningful visual elements clearly above the ambient traces. */
.v8-brain-wrap { z-index: 5; }
.v8-band-stack { z-index: 6; }
.v8-routing { z-index: 3; }
.v8-screen, .v8-hand { z-index: 6; }


/* ==========================================================
   v12.9.9 — Static scientific brain visual
   ========================================================== */
.v8-static-brain{
  position:absolute; inset:4% 0 3% 0; width:100%; height:93%; object-fit:contain;
  object-position:center; z-index:3; filter:drop-shadow(0 18px 30px rgba(7,43,70,.12));
  pointer-events:none; user-select:none;
}
.v8-brain-wrap{overflow:visible}
.v8-brain-glow{opacity:.7}
@media(max-width:900px){.v8-static-brain{inset:8% 0 4%;height:88%}}


/* v12.9.35 — dashboard-driven Latest Updates with in-place filters */
.v8-updates{padding:0 0 42px;background:#fff;border-top:1px solid rgba(3,29,56,.08);border-bottom:1px solid rgba(3,29,56,.08)}
.v8-updates-tabs{min-height:62px;display:grid;grid-template-columns:.7fr 1fr 1fr 1fr;align-items:stretch;gap:28px;border-bottom:1px solid rgba(3,29,56,.08)}
.v8-updates-tabs button{appearance:none;border:0;background:transparent;padding:0;text-align:left;color:#334d60;font:inherit;font-size:12.5px;cursor:pointer;position:relative}
.v8-updates-tabs button:first-child{font-weight:700;color:#031d38}
.v8-updates-tabs button:hover,.v8-updates-tabs button.is-active{color:#159ca7}
.v8-updates-tabs button.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#159ca7}
.v8-updates-list{padding-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v8-update-item{border:1px solid #dbe7ec;border-radius:10px;padding:18px 20px;background:#fff;min-width:0}
.v8-update-item[hidden]{display:none!important}
.v8-update-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:9px;color:#159ca7;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.v8-update-meta span+time:before{content:"•";margin-right:8px;color:#8aa0ad}
.v8-update-item h3{margin:0 0 8px;color:#031d38;font-size:17px;line-height:1.35}
.v8-update-item p{margin:0 0 10px;color:#587182;font-size:13px;line-height:1.55}
.v8-update-item a{color:#159ca7;font-size:12px;font-weight:700}
.v8-updates-empty{grid-column:1/-1;margin:0;color:#587182;font-size:13px}
@media(max-width:820px){.v8-updates-tabs{grid-template-columns:1fr 1fr;gap:0}.v8-updates-tabs button{padding:15px 8px 15px 0}.v8-updates-list{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.v8-updates-tabs,.v8-updates-list{grid-template-columns:1fr}.v8-updates-tabs button.is-active:after{right:auto;width:52px}.v8-update-item{padding:16px}}

/* v12.9.36: optional Latest Updates images */
.v8-update-image{margin:-18px -20px 15px;aspect-ratio:16/9;overflow:hidden;border-radius:10px 10px 0 0;background:#eaf3f6}
.v8-update-image img{display:block;width:100%;height:100%;object-fit:cover}

/* v12.9.37 — compact, accessible Latest Updates strip */
.bmi-news{padding:0 0 16px}
.bmi-news-bar{display:flex;align-items:center;gap:20px;min-height:78px;border-bottom:1px solid #e4edf1}
.bmi-news-bar h2{font-family:inherit;font-size:14px;font-weight:750;white-space:nowrap;margin:0;color:#073451;flex-shrink:0}
.bmi-news-scroll{display:flex;gap:0;flex:1;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity}
.bmi-news-ticker-item{appearance:none;border:0;border-left:1px solid #dce9ee;background:transparent;text-align:left;padding:8px 20px;flex:0 0 340px;max-width:85vw;min-width:0;cursor:pointer;scroll-snap-align:start}
.bmi-news-ticker-item:hover,.bmi-news-ticker-item.is-selected{background:#f0f8fa}
.bmi-news-ticker-meta{display:block;font-size:10px;font-weight:750;letter-spacing:.035em;color:#159ca7;text-transform:uppercase;margin-bottom:5px}
.bmi-news-ticker-title{display:block;color:#28475c;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmi-news-view-all{appearance:none;border:0;background:transparent;color:#159ca7;font-weight:750;font-size:12px;cursor:pointer;white-space:nowrap;padding:12px 0 12px 10px}
.bmi-news-details[hidden],.bmi-news-detail[hidden]{display:none!important}
.bmi-news-details{padding:14px 0 8px}
.bmi-news-details-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:5px}
.bmi-news-details-heading h3{font-size:16px;color:#062944;margin:0}
.bmi-news-details-heading button{background:transparent;border:0;color:#557081;cursor:pointer;font-size:12px}
.bmi-news-detail{padding:14px 0;border-bottom:1px solid #e3ebef}
.bmi-news-detail:last-child{border-bottom:0}
.bmi-news-detail-meta{font-size:10px;font-weight:750;text-transform:uppercase;color:#159ca7;letter-spacing:.045em}
.bmi-news-detail h4{font-size:16px;line-height:1.4;margin:5px 0;color:#062944}
.bmi-news-detail p{font-size:13px;color:#587182;line-height:1.65;margin:0 0 6px}
.bmi-news-detail a{font-size:12px;font-weight:750;color:#159ca7}
.bmi-news-none{font-size:13px;color:#587182;margin:0}
@media(max-width:700px){.bmi-news-bar{gap:12px;flex-wrap:wrap;padding:12px 0}.bmi-news-bar h2{width:100%}.bmi-news-scroll{width:calc(100% - 75px)}.bmi-news-ticker-item{flex-basis:260px;padding:8px 14px}.bmi-news-view-all{margin-left:auto}}

/* v12.9.38 — hero responds to available width; no clipped headline */
.v8-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-width:0}
.v8-hero-copy,.v8-bmi-visual{min-width:0}
.v8-hero h1{overflow-wrap:normal;word-break:normal}
@media(max-width:1180px){.v8-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-inline:clamp(24px,4vw,56px)}.v8-hero h1{font-size:clamp(36px,4.5vw,60px)}}
@media(max-width:940px){.v8-hero{grid-template-columns:minmax(0,1fr)!important;gap:24px;padding:40px 24px 36px!important;min-height:0}.v8-hero-copy{width:100%;max-width:100%;order:0}.v8-hero h1{font-size:clamp(34px,6vw,58px)!important;line-height:1.08}.v8-bmi-visual{position:relative!important;order:1;width:100%!important;max-width:100%!important;min-width:0!important;transform:none!important;margin:0!important}.v8-bmi-visual img{max-width:100%;height:auto}.v8-hero-actions{margin-bottom:0}}
@media(max-width:600px){.v8-hero{padding:30px 17px 28px!important}.v8-hero h1{font-size:clamp(32px,8vw,44px)!important}.v8-hero-actions{gap:10px}.v8-button{min-width:0;max-width:100%;padding-inline:13px}.v8-bmi-visual{min-height:0!important}}
/* ticker: manual scrolling retained, automated movement only when allowed */
.bmi-news-scroll{scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-x;cursor:grab}
.bmi-news-scroll:active{cursor:grabbing}
.bmi-news-ticker-item{scroll-snap-align:none}
.bmi-news-pause{border:1px solid #d8e8ed;border-radius:5px;background:#fff;color:#087e8c;cursor:pointer;padding:7px 10px;font-size:12px;font-weight:700;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.bmi-news-scroll{scroll-behavior:auto!important}}

/* v12.9.39: maintain soft image blend even when hero stacks */
@media(max-width:940px){
.v8-hero{background:linear-gradient(150deg,#f8fcfd,#edf6fa)!important}
.v8-bmi-visual.v12914-home-bci-hero{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;min-height:0!important}
.v8-bmi-visual.v12914-home-bci-hero img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;border-radius:0!important;box-shadow:none!important;mix-blend-mode:multiply;mask-image:radial-gradient(ellipse 78% 72% at 50% 48%,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 78% 72% at 50% 48%,#000 58%,transparent 100%)}
}
@media(max-width:600px){.v8-bmi-visual.v12914-home-bci-hero{margin-top:-5px!important}}

/* v12.9.41 — hero is one background composition at every breakpoint */
.v8-hero{display:block!important;position:relative!important;min-height:clamp(510px,47vw,670px)!important;padding:clamp(55px,7vw,100px) clamp(20px,5vw,88px) 70px!important;background:#f1f8fb!important;isolation:isolate}
.v8-hero-copy{position:relative!important;z-index:3!important;max-width:min(56%,720px)!important}
.v8-bmi-visual.v12914-home-bci-hero{position:absolute!important;z-index:1!important;inset:0 0 0 auto!important;width:70%!important;height:100%!important;max-width:none!important;min-height:0!important;margin:0!important;transform:none!important;overflow:hidden!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;pointer-events:none}
.v8-bmi-visual.v12914-home-bci-hero img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;mix-blend-mode:normal!important;mask-image:linear-gradient(to right,transparent 0%,#000 45%),linear-gradient(to bottom,transparent 0%,#000 12%,#000 85%,transparent 100%)!important;mask-composite:intersect!important;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 45%)!important}
@media(max-width:940px){
 .v8-hero{min-height:560px!important;padding:52px 24px 56px!important;background:#f1f8fb!important}
 .v8-hero-copy{max-width:100%!important}
 .v8-hero h1{max-width:690px!important;font-size:clamp(34px,5.5vw,54px)!important}
 .v8-bmi-visual.v12914-home-bci-hero{width:100%!important;inset:0!important;opacity:.32!important}
 .v8-bmi-visual.v12914-home-bci-hero img{object-position:center 65%!important;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 40%,#000 75%,transparent 100%)!important;mask-image:linear-gradient(to bottom,transparent 0%,#000 40%,#000 75%,transparent 100%)!important}
}
@media(max-width:600px){
 .v8-hero{min-height:570px!important;padding:42px 17px 55px!important}
 .v8-hero h1{font-size:clamp(33px,7.4vw,45px)!important;line-height:1.06!important}
 .v8-hero-description{max-width:100%;font-size:15px!important}
 .v8-bmi-visual.v12914-home-bci-hero{opacity:.28!important}
 .v8-hero-actions{position:relative;z-index:4}
}
/* ticker shows each update only once, without cloning */
.bmi-news-scroll{display:block!important;overflow-x:auto!important;scrollbar-width:thin;min-width:0;flex:1}
.bmi-news-track{display:flex;width:max-content;align-items:center;will-change:transform}
.bmi-news-ticker-item{flex:0 0 340px}
@media(max-width:700px){.bmi-news-ticker-item{flex-basis:260px}}
@media(prefers-reduced-motion:reduce){.bmi-news-track{transform:none!important}}
