/* HExSA lab page. Brand: Red Hat Display, charcoal #16181B, Beaver orange #D73F09, bone #F2F0EB. */
@font-face { font-family: "Red Hat Display"; src: url("/fonts/red-hat-display/red-hat-display-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Red Hat Display"; src: url("/fonts/red-hat-display/red-hat-display-latin-700-normal.woff2") format("woff2"); font-weight: 700; font-display: swap; }

body.lab { --hexsa-orange: #D73F09; --hexsa-ink: #16181B; }
body.lab .lab-heading, body.lab .roster h3 { font-family: "Red Hat Display", var(--sans); }
body.lab .lab-heading {
  font-size: 1.3rem; font-weight: 700; margin: 2.5rem 0 1rem; padding-bottom: .4rem;
  border-bottom: 2px solid var(--hexsa-orange);
}
body.lab .roster { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .5rem 2rem; }
body.lab .roster-alumni section:has(li:nth-child(8)) { grid-column: 1 / -1; }
body.lab .roster-alumni section:has(li:nth-child(8)) ul { columns: 3 13rem; }
body.lab .roster h3 { font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: .75rem 0 .35rem; }
body.lab .roster ul { list-style: none; padding: 0; margin: 0; }
body.lab .roster li { padding: .1rem 0; break-inside: avoid; }
body.lab .note { color: var(--muted); font-size: .9em; }

.hexsa-hero {
  position: relative; isolation: isolate; overflow: hidden;
  margin: 0 0 2.25rem; padding: 2.75rem 2.5rem; border-radius: 6px;
  background: #16181B; color: #F2F0EB; font-family: "Red Hat Display", "Trebuchet MS", sans-serif;
}
.hexsa-hero__graphic {
  position: absolute; z-index: -1; top: 50%; right: -9%;
  width: auto; max-width: none; height: 135%; transform: translateY(-50%); pointer-events: none;
}
.hexsa-hero__body { max-width: 32rem; }
.hexsa-hero__logo { margin: 0 0 1.1rem; line-height: 0; }
.hexsa-hero__logo img { display: block; width: auto; max-width: 100%; height: 56px; }
.hexsa-hero__name { margin: 0; font-size: .8rem; font-weight: 500; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; color: #B4B7BD; }
.hexsa-hero__name b { font-weight: 700; color: #F2F0EB; }
@media (max-width: 576px) {
  .hexsa-hero { padding: 2rem 1.5rem; }
  .hexsa-hero__graphic { right: -32%; height: 105%; opacity: .7; }
  .hexsa-hero__logo img { height: 44px; }
}
body.lab .resources { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .75rem 2rem; }
body.lab .resources li { padding-left: .8rem; border-left: 2px solid var(--rule); }
body.lab .resources li:hover { border-left-color: var(--hexsa-orange); }
body.lab .resources a { font-weight: 600; }
body.lab .resources .note { font-size: .9rem; }
