/* Scientific source images are composed without repainting result fields. */
.science-figure { margin: 0; min-width: 0; width: 100%; }
.science-well { width: 100%; aspect-ratio: 4 / 3; min-width: 0; overflow: hidden; display: grid; place-items: center; background: #fff; border: 1px solid #d8d8df; padding: clamp(.5rem, 1.4vw, 1rem); }
.science-well-dark { background: #000; border-color: #333840; }
.science-visual { display: block; width: 100%; height: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
.science-figure figcaption { padding: .85rem 0 0; font-size: .875rem; line-height: 1.45; }
.science-figure figcaption strong, .science-figure figcaption span { display: block; }
.science-figure figcaption strong { margin-bottom: .2rem; color: inherit; font-size: 1rem; }
.science-figure figcaption span { color: inherit; }
.outcome-visual.science-figure { margin-top: auto; }
.outcome-visual .science-well { aspect-ratio: 16 / 10; padding: 0; }
.home-decision-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); width: 100%; }
.home-decision { min-width: 0; display: flex; flex-direction: column; gap: 1.7rem; padding-top: 1.8rem; border-top: 1px solid var(--line); }
.home-decision h3 { font-size: clamp(1.55rem,2.15vw,2.2rem); font-weight: 400; line-height: 1.15; margin-bottom: 1rem; }
.home-decision > div > p:last-child { color: var(--muted); max-width: 60ch; margin-bottom: 0; }
.home-decision .science-figure { margin-top: auto; }
.home-decision .science-well { height: clamp(280px,29vw,390px); aspect-ratio: auto; }
.home-decision figcaption { color: var(--muted); }
.home-decision figcaption strong { color: #fff; }
.hvs-complexity-figure .science-well { aspect-ratio: 1398 / 541; padding: .8rem; }
.hvs-complexity-figure figcaption { border-bottom: 1px solid var(--hvs-line); padding-bottom: .5rem; }
.hvs-mechanisms { grid-template-columns: 1.45fr 1fr 1fr; align-items: start; }
.hvs-mechanisms .science-well { aspect-ratio: auto; height: clamp(185px,18vw,260px); padding: .5rem; }
.hvs-question .science-well { height: 300px; aspect-ratio: auto; }
.hvs-contact-studies { display: grid; gap: 1.8rem; min-width: 0; }
.hvs-contact-studies .science-well { aspect-ratio: 4 / 3; max-height: 340px; }
.hvs-contact-studies figcaption { text-align: left; }
.hvs-performance-trace { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.2fr); gap: clamp(2rem,4vw,4rem); align-items: center; margin-top: 3.5rem; padding-top: 3rem; border-top: 1px solid var(--hvs-line); }
.hvs-performance-trace h3 { margin-bottom: 1rem; font-size: clamp(1.5rem,2vw,2rem); }
.hvs-performance-trace .science-well { aspect-ratio: 3 / 2; padding: 0; }
@media (max-width: 1000px) {
  .hvs-hero { grid-template-columns: 1fr; }
  .hvs-hero-copy { max-width: 820px; }
  .hvs-hero-figure { width: 100%; max-width: 900px; }
  .hvs-question .science-well { height: 255px; }
}
@media (max-width: 800px) {
  .hvs-mechanisms { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hvs-flow-example { grid-column: 1 / -1; }
  .hvs-flow-example .science-well { height: auto; aspect-ratio: 848 / 480; }
  .hvs-performance-trace { grid-template-columns: 1fr; gap: 1.5rem; }
  .hvs-contact-studies { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .hvs-contact-studies .science-well { height: auto; }
  .home-decision-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-decision .science-well { height: clamp(260px,58vw,440px); }
}
@media (max-width: 520px) {
  .hvs-contact-studies, .hvs-mechanisms { grid-template-columns: 1fr; }
  .hvs-contact-studies .science-figure { max-width: none; }
  .hvs-mechanisms .science-well { height: auto; aspect-ratio: 4 / 3; }
  .hvs-mechanisms .hvs-flow-example .science-well { aspect-ratio: 848 / 480; }
  .hvs-mechanisms .hvs-image-well { height: 230px; }
  .hvs-contact-studies { gap: 1.4rem; }
  .hvs-question .science-well { height: auto; aspect-ratio: 4 / 3; }
}
/* Transparent wells remove the independent white/gray presentation surface. */
.science-well.science-well-transparent {
  padding: 0;
  background: transparent;
  border: 0;
}
/* Only mechanism visuals opt into natural height, preventing a responsive
   wrapper backplate from drifting independently of the image. */
.hvs-mechanisms .science-well.science-well-transparent {
  height: auto;
  aspect-ratio: auto;
}
.hvs-mechanisms .science-well.science-well-transparent .science-visual { height: auto; }
