/* Science page readability and T-cell journey refinement — v49 */

/* Hero information rail: larger, shorter, single-line explanatory copy on wide screens. */
body.science-v49 .science-proof-rail article {
  min-height: 112px !important;
  gap: 10px !important;
  padding-block: 23px !important;
}
body.science-v49 .science-proof-rail article > strong {
  font-size: clamp(14px, .92vw, 16px) !important;
  line-height: 1.18 !important;
}
body.science-v49 .science-proof-rail article > small {
  color: rgba(255,255,255,.70) !important;
  font-size: clamp(13.5px, .82vw, 15px) !important;
  font-weight: 450 !important;
  line-height: 1.32 !important;
  letter-spacing: -.006em !important;
}

/* Film copy stays left; the right side is a clear four-stage journey. */
body.science-v49 .thymus-film {
  grid-template-columns: minmax(390px, .82fr) minmax(590px, 1.18fr) !important;
}
body.science-v49 .thymus-film__copy p:not(.eyebrow) {
  max-width: 49ch;
  font-size: clamp(15px, 1vw, 17px) !important;
  line-height: 1.65 !important;
}
body.science-v49 .thymus-film__visual {
  min-height: 610px !important;
  padding: 86px 22px 104px;
  isolation: isolate;
}
body.science-v49 .thymus-film__visual::before {
  opacity: .09;
  background-size: 64px 64px;
}
body.science-v49 .cell-journey__heading {
  position: absolute;
  top: 27px;
  left: 30px;
  right: 30px;
  z-index: 5;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
}
body.science-v49 .cell-journey__heading span {
  color: var(--science-gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
body.science-v49 .cell-journey__heading strong {
  color: rgba(255,255,255,.7);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}
body.science-v49 .cell-journey__svg {
  width: min(100%, 840px) !important;
  max-height: 435px;
}
body.science-v49 .journey-thymus {
  animation: v49ThymusPulse 4.8s ease-in-out infinite;
}
body.science-v49 .journey-selected,
body.science-v49 .journey-circulation {
  animation: v49SelectedGlow 3.4s ease-in-out infinite;
}
body.science-v49 .journey-selection-fade {
  animation: v49RejectedFade 6s ease-in-out infinite;
}
body.science-v49 .journey-labels rect {
  fill: rgba(8,12,16,.76);
  stroke: rgba(255,255,255,.12);
  stroke-width: 1;
}
body.science-v49 .journey-labels text {
  fill: rgba(255,255,255,.93);
  font-size: 13px;
  font-weight: 700;
}
body.science-v49 .journey-labels text.sub {
  fill: rgba(255,255,255,.59);
  font-size: 10px;
  font-weight: 500;
}
body.science-v49 .cell-journey__stages {
  left: 24px !important;
  right: 24px !important;
  bottom: 23px !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 8px !important;
}
body.science-v49 .cell-journey__stages > div {
  min-height: 65px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 11px 13px !important;
  border-radius: 12px !important;
  animation: v49StageHighlight 12s ease-in-out infinite;
}
body.science-v49 .cell-journey__stages > div:nth-child(2) { animation-delay: 3s; }
body.science-v49 .cell-journey__stages > div:nth-child(3) { animation-delay: 6s; }
body.science-v49 .cell-journey__stages > div:nth-child(4) { animation-delay: 9s; }
body.science-v49 .cell-journey__stages strong {
  color: rgba(255,255,255,.96) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
}
body.science-v49 .cell-journey__stages small {
  color: rgba(255,255,255,.58);
  font-size: 9px;
  line-height: 1.3;
}

@keyframes v49ThymusPulse {
  0%,100% { opacity: .88; filter: drop-shadow(0 0 0 rgba(230,184,111,0)); }
  50% { opacity: 1; filter: drop-shadow(0 0 15px rgba(230,184,111,.18)); }
}
@keyframes v49SelectedGlow {
  0%,100% { opacity: .76; }
  50% { opacity: 1; }
}
@keyframes v49RejectedFade {
  0%,28%,100% { opacity: .12; }
  38%,58% { opacity: .72; }
  72% { opacity: .08; }
}
@keyframes v49StageHighlight {
  0%,21%,100% { border-color: rgba(255,255,255,.10); background: rgba(7,11,15,.56); }
  4%,17% { border-color: rgba(230,184,111,.42); background: rgba(73,45,35,.62); box-shadow: inset 0 0 0 1px rgba(230,184,111,.08); }
}

@media (min-width: 1200px) {
  body.science-v49 .science-proof-rail article > small { white-space: nowrap; }
}

@media (max-width: 1100px) {
  body.science-v49 .thymus-film { grid-template-columns: 1fr !important; }
  body.science-v49 .thymus-film__visual { min-height: 570px !important; }
}

@media (max-width: 760px) {
  body.science-v49 .science-proof-rail article {
    min-height: 84px !important;
    padding-block: 17px !important;
  }
  body.science-v49 .science-proof-rail article > strong { font-size: 14px !important; }
  body.science-v49 .science-proof-rail article > small {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }
  body.science-v49 .thymus-film__visual {
    min-height: 520px !important;
    padding: 72px 8px 164px;
  }
  body.science-v49 .cell-journey__heading {
    top: 20px;
    left: 20px;
    right: 20px;
    display: block;
  }
  body.science-v49 .cell-journey__heading strong {
    display: block;
    margin-top: 5px;
    font-size: 11px;
  }
  body.science-v49 .cell-journey__svg {
    width: 117% !important;
    max-width: none;
    margin-left: -8.5%;
  }
  body.science-v49 .journey-labels { display: none; }
  body.science-v49 .cell-journey__stages {
    left: 14px !important;
    right: 14px !important;
    bottom: 14px !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 7px !important;
  }
  body.science-v49 .cell-journey__stages > div {
    min-height: 62px !important;
    padding: 10px 11px !important;
    text-align: left !important;
  }
  body.science-v49 .cell-journey__stages strong { font-size: 10px !important; }
  body.science-v49 .cell-journey__stages small { font-size: 8.5px; }
}

@media (prefers-reduced-motion: reduce) {
  body.science-v49 .journey-thymus,
  body.science-v49 .journey-selected,
  body.science-v49 .journey-circulation,
  body.science-v49 .journey-selection-fade,
  body.science-v49 .cell-journey__stages > div {
    animation: none !important;
  }
}
