/* Current revision only. The /most2/ comparison and base design remain frozen. */
:root { --copy-size: 1rem; --copy-subheading-size: 1.25rem; }
@media (max-width: 600px) {
  :root { --copy-size: .875rem; --copy-subheading-size: 1.125rem; }
}
@media (min-width: 1200px) {
  :root { --copy-size: 1.125rem; --copy-subheading-size: 1.375rem; }
}
.hero-detail,
.research-copy > p:not(.lead),
#systems .tool-summary,
#systems .tool-note > p,
.form-definition > p:not(.form-thesis),
.practice-heading > p,
.case-record > div > p,
.case-record > p,
#open-lab .lab-copy > p,
.independent-development__intro,
.update > div > p,
.institute-description,
.researcher-intro,
.about-origin,
.project-copy > p:not(.lead),
.project-page #outputs .node-definition,
.project-intro > p:not(.lead),
.output-copy > p:not(.lead):not(.eyebrow),
.model-reading p,
.observation-legend p {
  font-size: var(--copy-size);
}
.form-definition > p:not(.form-thesis),
.practice-heading > p,
.research-copy,
.tool-note { width: 100%; max-width: none; }
.node-cases { --node-body-size: var(--copy-size); }
.node-case__body > h4 { font-size: var(--copy-subheading-size); }
.tool-note { line-height: 1.75; }
.site-header .desktop-nav { column-gap: .75rem; }
.desktop-nav a { white-space: nowrap; }
.project-local-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.5rem;
  padding: .8rem var(--gutter);
  border-bottom: 1px solid var(--ink);
  font-size: .875rem;
}
#open-lab .lab-copy { gap: 0; }
#open-lab .most-openlab__controls > .text-link {
  background: var(--signal);
  color: var(--ink);
  align-items: center;
  border: 1px solid var(--signal);
  text-decoration: none;
}
#open-lab .most-openlab__controls > .text-link:hover {
  background: var(--ink);
  color: var(--signal);
}
#open-lab .most-openlab__controls > .text-link:focus-visible {
  outline: 2px solid var(--paper);
  outline-offset: -5px;
}
/* Contact is one chapter: two short guides followed by one common address. */
.contact-layout { padding: clamp(2rem, 5vw, 5rem) var(--gutter); }
.contact-layout > h2 {
  margin: 0 0 clamp(2rem, 4vw, 4rem);
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: .98;
  letter-spacing: -.065em;
}
.contact-guides {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 4vw;
  padding-block: 1.5rem;
  border-block: 1px solid var(--ink);
}
.contact-guide { min-width: 0; }
.contact-guide .eyebrow { margin-bottom: .65rem; font-size: .875rem; }
.contact-guide > h3 { margin: 0 0 .75rem; font-size: var(--copy-subheading-size); line-height: 1.35; }
.contact-guide > p:not(.eyebrow) { font-size: var(--copy-size); line-height: 1.8; }
.contact-layout > .contact-link {
  max-width: 100%;
  margin-top: 0;
  padding-block: 1.25rem;
  border-bottom: 0;
  overflow-wrap: anywhere;
}
.contact-layout > .contact-link > span { color: var(--signal); }
.correspondence { background: var(--paper); }
.about > div { min-width: 0; }
.about-link { display: inline-flex; gap: 2rem; margin-top: 1rem; border-bottom: 1px solid currentColor; padding-block: .5rem; }
/* Give the mobile photograph its own surface instead of hiding it behind text. */
@media (max-width: 900px) {
  .hero-most { min-height: 0; grid-template-rows: auto auto auto; }
  .hero-most > .main-display {
    position: relative;
    display: block;
    min-height: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }
  .hero-most > .main-display::before { content: none; }
  .hero-most .main-slideshow {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
  }
  .hero-most .main-slide-stage { position: relative; min-height: 0; }
  .hero-most .main-slide { display: flex; align-items: end; }
  .hero-most .main-slide figcaption {
    width: 100%;
    min-height: 0;
    padding: .45rem var(--gutter);
    font-size: .75rem;
    background: rgb(0 0 0 / 65%);
  }
  .hero-most .main-slide-controls { min-height: 44px; padding-block: 0; font-size: .75rem; }
  .hero-most > .hero-intro { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
}
@media (max-width: 600px) {
  .contact-guides { grid-template-columns: minmax(0, 1fr); }
}
