/*
 * ICYLAB — LAB / institutional technology page
 * v1.2 / theme v0.5.90
 *
 * Page-specific composition only. Header, sticky navigation, lateral dots,
 * mobile sidebar, buttons, footer and viewport rules remain in system modules.
 */

body.icy-lab-page {
  --lab-line: rgba(255,255,255,.2);
  --lab-line-dark: rgba(0,0,0,.2);
  --lab-muted: rgba(255,255,255,.68);
  --lab-muted-dark: rgba(0,0,0,.64);
}

.icy-lab-page h2,
.icy-lab-page h3,
.icy-lab-page p,
.icy-lab-page figure { margin-top: 0; }

.icy-lab-page h2,
.icy-lab-page h3 {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  text-transform: uppercase;
}

/* One canonical eyebrow system throughout LAB. Lead-paragraph rules below
 * explicitly exclude this class so weight and spacing cannot drift. */
body.icy-lab-page .icy-interior-kicker {
  margin: 0 0 .95rem;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(.72rem, .65rem + .18vw, .88rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Let long display words contract with their grid column instead of
 * increasing the page's intrinsic width on narrow screens. */
.icy-lab-section-heading > *,
.icy-lab-partners-copy,
.icy-lab-rd-heading,
.icy-lab-quality-heading > *,
.icy-lab-work-heading,
.icy-lab-from-here-copy,
.icy-lab-contact-copy {
  min-width: 0;
  max-width: 100%;
}

.icy-lab-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .55fr);
  align-items: end;
  gap: clamp(2.5rem, 8vw, 8rem);
  margin-bottom: clamp(2rem, 4svh, 3.4rem);
}

.icy-lab-section-heading h2,
.icy-lab-partners-copy > h2,
.icy-lab-quality-heading h2,
.icy-lab-work-heading h2,
.icy-lab-from-here-copy h2 {
  max-width: 12ch;
  min-width: 0;
  margin-bottom: 0;
  color: inherit;
  font-size: clamp(3.1rem, min(5vw, 8.5svh), 6rem);
  font-weight: 800;
  line-height: .86;
  letter-spacing: -.055em;
  word-break: normal;
}

.icy-lab-section-heading > p,
.icy-lab-partners-copy > p:not(.icy-interior-kicker),
.icy-lab-quality-heading > p:not(.icy-interior-kicker),
.icy-lab-work-heading > p:not(.icy-interior-kicker),
.icy-lab-from-here-copy > p:not(.icy-interior-kicker) {
  max-width: 38ch;
  margin-bottom: 0;
  color: var(--lab-muted);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(1rem, 1.15vw, 1.22rem);
  font-weight: 300;
  line-height: 1.48;
}

.is-paper .icy-lab-section-heading > p,
.is-paper .icy-lab-quality-heading > p:not(.icy-interior-kicker),
.is-paper .icy-lab-from-here-copy > p:not(.icy-interior-kicker) { color: var(--lab-muted-dark); }

/* Hero ------------------------------------------------------------------ */
.icy-lab-hero {
  display: flex;
  align-items: center;
  min-height: calc(100svh - var(--icy-header-h));
  padding-block: clamp(2.4rem, 4.5svh, 4rem);
}

.icy-lab-hero .icy-interior-shell {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(470px, 1fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 8rem);
}

.icy-lab-hero-title {
  max-width: 9.4ch;
  font-size: clamp(4rem, min(6vw, 10.5svh), 7.8rem);
}

.icy-lab-hero-title > span,
.icy-lab-hero-title > em { display: block; }

.icy-lab-hero .icy-interior-lead { margin-top: 1.45rem; }

.icy-lab-hero-system {
  position: relative;
  min-width: 0;
  min-height: clamp(470px, 62svh, 650px);
  border: 1px solid var(--lab-line);
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    #050505;
  background-size: 12.5% 12.5%;
  box-shadow: 10px 10px 0 #fff;
  isolation: isolate;
}

.icy-lab-hero-system::before,
.icy-lab-hero-system::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  background: rgba(0,255,48,.35);
  transform: translate(-50%, -50%);
}

.icy-lab-hero-system::before { width: 1px; height: 76%; }
.icy-lab-hero-system::after { width: 76%; height: 1px; }

.icy-lab-hero-orbit {
  position: absolute;
  z-index: 1;
  inset: 14%;
  border: 1px solid rgba(0,255,48,.56);
  border-radius: 50%;
}

.icy-lab-hero-orbit::before,
.icy-lab-hero-orbit::after {
  content: '';
  position: absolute;
  inset: 15%;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
}

.icy-lab-hero-orbit::after {
  inset: -7%;
  border-style: dashed;
  border-color: rgba(255,255,255,.15);
  transform: rotate(14deg);
}

.icy-lab-hero-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(150px, 17vw, 220px);
  aspect-ratio: 1;
  place-content: center;
  border: 1px solid var(--icy-acid);
  border-radius: 50%;
  background: #000;
  text-align: center;
  transform: translate(-50%, -50%);
}

.icy-lab-hero-core small,
.icy-lab-hero-core span,
.icy-lab-hero-system article span,
.icy-lab-hero-system article small,
.icy-lab-hero-coordinate {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .09em;
  line-height: 1.25;
  text-transform: uppercase;
}

.icy-lab-hero-core small,
.icy-lab-hero-core span { color: var(--icy-acid); }

.icy-lab-hero-core strong {
  color: #fff;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(3.2rem, 5vw, 5.2rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.06em;
}

.icy-lab-hero-system article {
  position: absolute;
  z-index: 4;
  display: grid;
  min-width: 136px;
  gap: .18rem;
  padding: .75rem .85rem;
  border: 1px solid var(--lab-line);
  background: #000;
}

.icy-lab-hero-system article::before {
  content: '';
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--icy-acid);
}

.icy-lab-hero-system article span,
.icy-lab-hero-system article small { color: rgba(255,255,255,.58); }

.icy-lab-hero-system article strong {
  color: #fff;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1;
}

.icy-lab-hero-system .is-field { top: 8%; left: 7%; }
.icy-lab-hero-system .is-science { top: 8%; right: 7%; }
.icy-lab-hero-system .is-plant { right: 7%; bottom: 8%; }
.icy-lab-hero-system .is-industry { bottom: 8%; left: 7%; }
.icy-lab-hero-system .is-field::before { right: -4px; bottom: -4px; }
.icy-lab-hero-system .is-science::before { left: -4px; bottom: -4px; }
.icy-lab-hero-system .is-plant::before { top: -4px; left: -4px; }
.icy-lab-hero-system .is-industry::before { top: -4px; right: -4px; }

.icy-lab-hero-coordinate {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  margin: 0;
  color: rgba(255,255,255,.38);
  text-align: right;
}

/* Team ------------------------------------------------------------------ */
.icy-lab-team.icy-interior-snap {
  height: auto !important;
  min-height: calc(100svh - var(--icy-interior-offset));
}

.icy-lab-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  border-top: 1px solid var(--lab-line);
  border-left: 1px solid var(--lab-line);
}

.icy-lab-team-card {
  position: relative;
  min-width: 0;
  padding: .75rem;
  border-right: 1px solid var(--lab-line);
  border-bottom: 1px solid var(--lab-line);
  background: #050505;
}

.icy-lab-team-photo {
  position: relative;
  display: grid;
  min-height: clamp(145px, 15vw, 220px);
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(135deg, transparent 49.6%, rgba(0,255,48,.5) 50%, transparent 50.4%),
    #111;
}

.icy-lab-team-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: grayscale(1) contrast(1.05);
  object-fit: cover;
  transition: filter .2s ease, transform .25s ease;
}

.icy-lab-team-card:hover .icy-lab-team-photo img {
  filter: grayscale(.2) contrast(1.02);
  transform: scale(1.025);
}

.icy-lab-team-photo > span {
  color: var(--icy-acid);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 800;
  letter-spacing: -.05em;
}

.icy-lab-team-card-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .7rem;
  align-items: start;
  padding-top: .9rem;
}

.icy-lab-team-card-head > span,
.icy-lab-team-role,
.icy-lab-team-disciplines,
.icy-lab-team-admin-note strong {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .66rem;
  font-weight: 650;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.icy-lab-team-card-head > span { color: var(--icy-acid); }

.icy-lab-team-card h3 {
  margin-bottom: 0;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  font-weight: 750;
  line-height: .95;
  letter-spacing: -.035em;
}

.icy-lab-team-role {
  margin: .75rem 0 0;
  color: var(--icy-acid);
  line-height: 1.3;
}

.icy-lab-team-bio {
  margin: .65rem 0 0;
  color: var(--lab-muted);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .82rem;
  font-weight: 300;
  line-height: 1.4;
}

.icy-lab-team-admin-note {
  padding: 1.25rem;
  border: 1px dashed rgba(0,255,48,.55);
  background: rgba(0,255,48,.06);
  color: var(--lab-muted);
  font-family: 'Cy Grotesk', Arial, sans-serif;
}

.icy-lab-team-admin-note strong { color: var(--icy-acid); }
.icy-lab-team-admin-note p { margin: .55rem 0 0; }

.icy-lab-team-disciplines {
  margin: clamp(1.6rem, 3svh, 2.4rem) 0 0;
  color: rgba(255,255,255,.7);
  line-height: 1.7;
}

.icy-lab-team-disciplines span { margin-inline: .65rem; color: var(--icy-acid); }

/* Capabilities ---------------------------------------------------------- */
.icy-lab-capability-list { border-top: 1px solid var(--lab-line-dark); }

.icy-lab-capability-list article {
  display: grid;
  grid-template-columns: 40px minmax(220px, .7fr) minmax(280px, 1fr) auto;
  gap: clamp(1rem, 3vw, 3.5rem);
  align-items: center;
  min-height: clamp(72px, 9svh, 96px);
  border-bottom: 1px solid var(--lab-line-dark);
}

.icy-lab-capability-list span,
.icy-lab-capability-list i {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .72rem;
  font-style: normal;
  font-weight: 700;
}

.icy-lab-capability-list h3 {
  min-width: 0;
  max-width: 100%;
  margin-bottom: 0;
  color: #000;
  font-size: clamp(1.2rem, 1.65vw, 1.8rem);
  font-weight: 750;
  line-height: 1;
  letter-spacing: -.035em;
}

.icy-lab-capability-list p {
  min-width: 0;
  max-width: 44ch;
  margin-bottom: 0;
  color: var(--lab-muted-dark);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(.88rem, 1vw, 1.05rem);
  line-height: 1.4;
}

.icy-lab-capability-list i { color: #000; font-size: 1.1rem; }

/* Partnerships ---------------------------------------------------------- */
.icy-lab-partners .icy-interior-shell {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(470px, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
}

.icy-lab-partners-copy > p:not(.icy-interior-kicker) { margin-top: 1.25rem; }

.icy-lab-partner-feature {
  margin-top: clamp(2.2rem, 5svh, 4rem);
  padding: 1.25rem;
  border: 1px solid var(--lab-line);
  box-shadow: 7px 7px 0 var(--icy-acid);
}

.icy-lab-partner-feature > span,
.icy-lab-rd-partner,
.icy-lab-rd-board-head,
.icy-lab-rd-boundary {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.icy-lab-partner-feature > span { color: var(--icy-acid); }

.icy-lab-partner-feature h3 {
  margin: 1rem 0 .5rem;
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3.5rem);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.05em;
}

.icy-lab-partner-feature p {
  max-width: 40ch;
  margin-bottom: 0;
  color: var(--lab-muted);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .92rem;
  line-height: 1.45;
}

.icy-lab-ecosystem {
  position: relative;
  min-height: clamp(460px, 58svh, 580px);
  border: 1px solid var(--lab-line);
  background: #050505;
  isolation: isolate;
}

.icy-lab-ecosystem-edges {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.icy-lab-ecosystem-edges line {
  vector-effect: non-scaling-stroke;
  stroke: rgba(0,255,48,.52);
  stroke-width: 1;
}

.icy-lab-ecosystem-core {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: grid;
  width: clamp(180px, 18vw, 240px);
  aspect-ratio: 1;
  place-content: center;
  border: 1px solid var(--icy-acid);
  border-radius: 50%;
  background: #000;
  text-align: center;
  transform: translate(-50%, -50%);
}

.icy-lab-ecosystem-core small,
.icy-lab-ecosystem-core span,
.icy-lab-ecosystem article span,
.icy-lab-ecosystem article small {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.icy-lab-ecosystem-core small,
.icy-lab-ecosystem-core span { color: var(--icy-acid); }

.icy-lab-ecosystem-core img {
  display: block;
  width: 76%;
  height: auto;
  margin: .45rem auto;
  object-fit: contain;
}

.icy-lab-ecosystem article {
  position: absolute;
  z-index: 3;
  display: grid;
  min-width: 150px;
  gap: .18rem;
  padding: .9rem;
  border: 1px solid var(--lab-line);
  background: #000;
}

.icy-lab-ecosystem article span,
.icy-lab-ecosystem article small { color: rgba(255,255,255,.55); }
.icy-lab-ecosystem article strong { color: #fff; font-family: 'Cy Grotesk', Arial, sans-serif; }
.icy-lab-ecosystem .is-producers { top: 8%; left: 8%; }
.icy-lab-ecosystem .is-technology { top: 8%; right: 8%; }
.icy-lab-ecosystem .is-brewers { right: 8%; bottom: 8%; }

/* R&D ------------------------------------------------------------------- */
.icy-lab-rd .icy-interior-shell {
  display: grid;
  grid-template-columns: minmax(390px, .7fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(4.5rem, 8vw, 9rem);
}

.icy-lab-rd-heading h2 {
  margin: .8rem 0 1.15rem;
  color: #000;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(4.2rem, min(5.6vw, 10.5svh), 7.2rem);
  font-weight: 800;
  line-height: .76;
  letter-spacing: -.065em;
}

.icy-lab-rd-heading > .icy-interior-kicker { margin-bottom: .55rem; }
.icy-lab-rd-partner { margin: 0; color: rgba(0,0,0,.58); }

.icy-lab-rd-lead {
  max-width: 38ch;
  margin-bottom: 0;
  color: rgba(0,0,0,.7);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  line-height: 1.45;
}

.icy-lab-rd-board {
  width: min(100%, 940px);
  min-width: 0;
  justify-self: end;
  border: 1px solid #000;
  background: #000;
  color: #fff;
  box-shadow: 10px 10px 0 #fff;
}

.icy-lab-rd-board-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid var(--lab-line);
  color: var(--icy-acid);
}

.icy-lab-rd-board-head strong { color: #fff; }

.icy-lab-rd-route {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  padding: clamp(1.2rem, 2vw, 2rem);
}

.icy-lab-rd-route article {
  display: grid;
  align-content: space-between;
  min-height: clamp(190px, 24svh, 250px);
  padding: 1rem;
  border: 1px solid var(--lab-line);
}

.icy-lab-rd-route article > span {
  color: var(--icy-acid);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
}

.icy-lab-rd-route strong {
  color: #fff;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(1.1rem, 1.4vw, 1.45rem);
  line-height: .95;
}

.icy-lab-rd-route p {
  margin-bottom: 0;
  color: var(--lab-muted);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .78rem;
  line-height: 1.35;
}

.icy-lab-rd-route > i {
  display: grid;
  width: 32px;
  place-items: center;
  color: var(--icy-acid);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: 1.2rem;
  font-style: normal;
}

.icy-lab-rd-boundary {
  margin: 0;
  padding: 1rem 1.15rem;
  border-top: 1px solid var(--lab-line);
  color: rgba(255,255,255,.52);
  line-height: 1.5;
}

/* Quality --------------------------------------------------------------- */
.icy-lab-quality-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr);
  grid-template-areas: 'kicker kicker' 'title copy';
  align-items: end;
  gap: .8rem clamp(3rem, 8vw, 8rem);
  margin-bottom: clamp(2.5rem, 5svh, 4rem);
}

.icy-lab-quality-heading .icy-interior-kicker {
  grid-area: kicker;
  margin-bottom: 0;
}
.icy-lab-quality-heading h2 { grid-area: title; }
.icy-lab-quality-heading > p:last-child { grid-area: copy; }

.icy-lab-trace {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--lab-line-dark);
  border-left: 1px solid var(--lab-line-dark);
}

.icy-lab-trace article {
  position: relative;
  display: grid;
  align-content: space-between;
  min-height: clamp(190px, 25svh, 260px);
  padding: 1.15rem;
  border-right: 1px solid var(--lab-line-dark);
  border-bottom: 1px solid var(--lab-line-dark);
}

.icy-lab-trace article:not(:last-child)::after {
  content: '→';
  position: absolute;
  z-index: 2;
  top: 50%;
  right: -12px;
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  background: var(--icy-paper);
  color: #000;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  transform: translateY(-50%);
}

.icy-lab-trace article > span {
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
}

.icy-lab-trace strong {
  color: #000;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(1.25rem, 1.7vw, 1.8rem);
  line-height: .95;
}

.icy-lab-trace p {
  margin-bottom: 0;
  color: var(--lab-muted-dark);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .82rem;
  line-height: 1.4;
}

.icy-lab-trace .is-beer { background: var(--icy-acid); }

.icy-lab-quality-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 1.25rem;
}

.icy-lab-quality-action p {
  max-width: 50ch;
  margin-bottom: 0;
  color: var(--lab-muted-dark);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .9rem;
  line-height: 1.4;
}

.icy-lab-quality-action p span {
  display: block;
  margin-bottom: .35rem;
  color: #000;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .09em;
}

/* Working principles ---------------------------------------------------- */
.icy-lab-work .icy-interior-shell {
  display: grid;
  grid-template-columns: minmax(0, .66fr) minmax(560px, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
}

.icy-lab-work-heading > p:not(.icy-interior-kicker) { margin-top: 1.2rem; }

.icy-lab-principles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--lab-line);
  border-left: 1px solid var(--lab-line);
}

.icy-lab-principles article {
  display: grid;
  align-content: space-between;
  min-height: clamp(190px, 26svh, 260px);
  padding: 1.15rem;
  border-right: 1px solid var(--lab-line);
  border-bottom: 1px solid var(--lab-line);
}

.icy-lab-principles article > span {
  color: var(--icy-acid);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
}

.icy-lab-principles h3 {
  max-width: 14ch;
  margin-bottom: 0;
  color: #fff;
  font-size: clamp(1.35rem, 1.9vw, 2rem);
  font-weight: 750;
  line-height: .95;
  letter-spacing: -.04em;
}

.icy-lab-principles p {
  margin-bottom: 0;
  color: var(--lab-muted);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .85rem;
  line-height: 1.4;
}

/* From here ------------------------------------------------------------- */
.icy-lab-from-here .icy-interior-shell {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(440px, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
}

.icy-lab-from-here-copy h2 { max-width: 11ch; }
.icy-lab-from-here-copy > p:not(.icy-interior-kicker) { margin-top: 1.25rem; }

.icy-lab-from-here-copy > span {
  display: block;
  margin-top: 2rem;
  color: #000;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.7;
}

.icy-lab-map {
  position: relative;
  display: grid;
  min-height: clamp(430px, 58svh, 610px);
  margin-bottom: 0;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  overflow: hidden;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    #000;
  background-size: 12.5% 12.5%;
  box-shadow: 10px 10px 0 var(--icy-acid);
}

.icy-lab-map img {
  width: min(90%, 760px);
  max-height: 56svh;
  filter: drop-shadow(0 0 1px rgba(0,255,48,.65));
  object-fit: contain;
}

.icy-lab-map figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  color: rgba(255,255,255,.68);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.25;
}

/* Final CTA ------------------------------------------------------------- */
.icy-lab-contact {
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - var(--icy-interior-offset));
  padding-bottom: 58px !important;
}

.icy-lab-contact > .icy-interior-shell {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .55fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 9rem);
}

.icy-lab-contact .icy-interior-display {
  max-width: 12ch;
  font-size: clamp(3.4rem, min(5vw, 8.5svh), 6.2rem);
}

.icy-lab-contact .icy-interior-display > span,
.icy-lab-contact .icy-interior-display > em { display: block; }
.icy-lab-contact .icy-interior-lead { margin-top: 1.35rem; }

.icy-lab-contact-panel {
  padding: clamp(1.4rem, 2.5vw, 2.3rem);
  border: 1px solid var(--lab-line);
  box-shadow: 8px 8px 0 var(--icy-acid);
}

.icy-lab-contact-panel > span {
  color: var(--icy-acid);
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .09em;
}

.icy-lab-contact-panel > strong {
  display: block;
  margin-top: clamp(3rem, 8svh, 6rem);
  color: #fff;
  font-family: 'Cy Grotesk', Arial, sans-serif;
  font-size: clamp(1.7rem, 2.5vw, 2.8rem);
  line-height: .92;
  letter-spacing: -.045em;
}

.icy-lab-contact-panel .icy-interior-actions { display: grid; }

.icy-lab-contact > .icy-site-footer[data-icy-site-footer] {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}

/* Responsive ------------------------------------------------------------ */
@media (min-width: 861px) and (max-width: 1180px) {
  .icy-lab-page .icy-interior-section.icy-interior-snap:not([data-icy-interior-hero]) {
    height: auto !important;
    min-height: calc(100svh - var(--icy-interior-offset));
  }
}

@media (max-width: 1180px) {
  .icy-lab-hero .icy-interior-shell,
  .icy-lab-partners .icy-interior-shell,
  .icy-lab-rd .icy-interior-shell,
  .icy-lab-work .icy-interior-shell,
  .icy-lab-from-here .icy-interior-shell {
    grid-template-columns: minmax(0, .8fr) minmax(420px, 1fr);
    gap: clamp(2.2rem, 5vw, 5rem);
  }

  .icy-lab-hero-system { min-height: 500px; }
  .icy-lab-rd-route { padding: 1rem; }
  .icy-lab-rd-route article { padding: .75rem; }
  .icy-lab-rd-board { width: 100%; }
  .icy-lab-trace strong { font-size: 1.2rem; }
}

@media (max-width: 1024px) {
  .icy-lab-hero .icy-interior-shell,
  .icy-lab-partners .icy-interior-shell,
  .icy-lab-rd .icy-interior-shell,
  .icy-lab-work .icy-interior-shell,
  .icy-lab-from-here .icy-interior-shell,
  .icy-lab-contact > .icy-interior-shell {
    grid-template-columns: 1fr;
  }

  .icy-lab-hero,
  .icy-lab-partners,
  .icy-lab-rd,
  .icy-lab-work,
  .icy-lab-from-here,
  .icy-lab-contact { height: auto !important; }

  .icy-lab-hero { padding-block: clamp(3rem, 7vw, 5rem); }
  .icy-lab-hero-copy { max-width: 720px; }
  .icy-lab-hero-system { width: 100%; min-height: 520px; }

  .icy-lab-team-grid { grid-template-columns: repeat(3, 1fr); }
  .icy-lab-team-photo { min-height: 190px; }

  .icy-lab-partners-copy,
  .icy-lab-rd-heading,
  .icy-lab-work-heading,
  .icy-lab-from-here-copy { max-width: 780px; }

  .icy-lab-ecosystem { min-height: 520px; }
  .icy-lab-rd-board { max-width: none; justify-self: stretch; }
  .icy-lab-trace { grid-template-columns: repeat(3, 1fr); }
  .icy-lab-trace article { min-height: 190px; }
  .icy-lab-trace article:nth-child(3)::after { display: none; }
  .icy-lab-principles { max-width: none; }
  .icy-lab-map { min-height: 540px; }

  .icy-lab-contact {
    min-height: calc(100svh - var(--icy-interior-offset));
    padding-bottom: 0 !important;
  }

  .icy-lab-contact > .icy-interior-shell { padding-bottom: 4rem; }

  .icy-lab-contact > .icy-site-footer[data-icy-site-footer] {
    position: relative;
    margin-top: auto;
  }
}

@media (max-width: 860px) {
  .icy-lab-section-heading,
  .icy-lab-quality-heading {
    grid-template-columns: 1fr;
    grid-template-areas: none;
    gap: 1.2rem;
  }

  .icy-lab-quality-heading .icy-interior-kicker,
  .icy-lab-quality-heading h2,
  .icy-lab-quality-heading > p:last-child { grid-area: auto; }

  .icy-lab-section-heading h2,
  .icy-lab-partners-copy > h2,
  .icy-lab-quality-heading h2,
  .icy-lab-work-heading h2,
  .icy-lab-from-here-copy h2 {
    max-width: 100%;
    font-size: clamp(2.45rem, 7.2vw, 4rem);
    text-wrap: balance;
  }

  .icy-lab-rd-heading h2 {
    max-width: 100%;
    font-size: clamp(3.3rem, 9vw, 4.8rem);
  }

  .icy-lab-team-grid { grid-template-columns: repeat(3, 1fr); }
  .icy-lab-team-photo { min-height: 180px; }

  .icy-lab-capability-list article {
    grid-template-columns: 34px minmax(190px, .7fr) 1fr auto;
    min-height: 92px;
  }

  .icy-lab-rd-route { grid-template-columns: 1fr; gap: 0; }
  .icy-lab-rd-route article { min-height: 150px; }
  .icy-lab-rd-route > i { width: 100%; height: 34px; transform: rotate(90deg); }
  .icy-lab-trace { grid-template-columns: 1fr 1fr; }
  .icy-lab-trace article:nth-child(3)::after { display: grid; }
  .icy-lab-trace article:nth-child(even)::after { display: none; }
  .icy-lab-trace article { min-height: 170px; }
  .icy-lab-quality-action { align-items: stretch; flex-direction: column; }
  .icy-lab-quality-action .icy-interior-btn { align-self: flex-start; }
}

@media (max-width: 599px) {
  .icy-lab-hero { padding-block: 2.7rem 3.3rem; }
  .icy-lab-hero-title {
    max-width: 100%;
    font-size: clamp(2.5rem, 10.5vw, 3.6rem);
  }
  .icy-lab-hero-system { min-height: 390px; box-shadow: 6px 6px 0 #fff; }
  .icy-lab-hero-orbit { inset: 17%; }
  .icy-lab-hero-core { width: 135px; }
  .icy-lab-hero-core strong { font-size: 2.8rem; }

  .icy-lab-hero-system article {
    min-width: 103px;
    padding: .58rem .62rem;
  }

  .icy-lab-hero-system article strong { font-size: .78rem; }
  .icy-lab-hero-system article span,
  .icy-lab-hero-system article small,
  .icy-lab-hero-core small,
  .icy-lab-hero-core span,
  .icy-lab-hero-coordinate { font-size: .5rem; }
  .icy-lab-hero-system .is-field { top: 5%; left: 4%; }
  .icy-lab-hero-system .is-science { top: 5%; right: 4%; }
  .icy-lab-hero-system .is-plant { right: 4%; bottom: 5%; }
  .icy-lab-hero-system .is-industry { bottom: 5%; left: 4%; }
  .icy-lab-hero-coordinate { display: none; }

  .icy-lab-section-heading h2,
  .icy-lab-partners-copy > h2,
  .icy-lab-quality-heading h2,
  .icy-lab-work-heading h2 {
    font-size: clamp(2rem, 8.4vw, 2.85rem);
  }

  .icy-lab-from-here-copy h2 {
    font-size: clamp(1.95rem, 7.8vw, 2.65rem);
  }

  .icy-lab-team-grid { grid-template-columns: 1fr 1fr; }
  .icy-lab-team-card { padding: .55rem; }
  .icy-lab-team-photo { min-height: 142px; }
  .icy-lab-team-card-head { grid-template-columns: 1fr; gap: .35rem; }
  .icy-lab-team-card h3 { font-size: 1rem; }
  .icy-lab-team-role { font-size: .58rem; }
  .icy-lab-team-bio { display: none; }
  .icy-lab-team-disciplines span { margin-inline: .25rem; }

  .icy-lab-capability-list article {
    grid-template-columns: 28px 1fr auto;
    gap: .7rem;
    min-height: 0;
    padding-block: 1rem;
  }

  .icy-lab-capability-list h3 {
    font-size: clamp(.92rem, 4vw, 1.05rem);
    overflow-wrap: break-word;
  }
  .icy-lab-capability-list p { grid-column: 2 / 4; font-size: .82rem; }
  .icy-lab-capability-list i { grid-column: 3; grid-row: 1; }

  .icy-lab-partner-feature { box-shadow: 5px 5px 0 var(--icy-acid); }
  .icy-lab-ecosystem { min-height: 420px; }
  .icy-lab-ecosystem-core { width: 145px; }
  .icy-lab-ecosystem-core img { width: 80%; margin-block: .35rem; }

  .icy-lab-ecosystem article {
    min-width: 112px;
    padding: .6rem;
  }

  .icy-lab-ecosystem article strong { font-size: .78rem; }
  .icy-lab-ecosystem article span,
  .icy-lab-ecosystem article small,
  .icy-lab-ecosystem-core small,
  .icy-lab-ecosystem-core span { font-size: .5rem; }
  .icy-lab-ecosystem .is-producers { top: 5%; left: 4%; }
  .icy-lab-ecosystem .is-technology { top: 5%; right: 4%; }
  .icy-lab-ecosystem .is-brewers { right: 4%; bottom: 5%; }

  .icy-lab-rd-heading h2 { font-size: clamp(2.45rem, 10.4vw, 4rem); }
  .icy-lab-rd-board { box-shadow: 6px 6px 0 #fff; }
  .icy-lab-rd-route { padding: .8rem; }
  .icy-lab-rd-route article { min-height: 130px; }

  .icy-lab-trace article { min-height: 145px; padding: .85rem; }
  .icy-lab-trace strong { font-size: 1rem; }
  .icy-lab-trace p { font-size: .72rem; }
  .icy-lab-quality-action .icy-interior-btn { width: 100%; }

  .icy-lab-principles { grid-template-columns: 1fr; }
  .icy-lab-principles article { min-height: 165px; }
  .icy-lab-map { min-height: 380px; box-shadow: 6px 6px 0 var(--icy-acid); }
  .icy-lab-map img { width: 100%; max-width: 520px; }
  .icy-lab-map figcaption {
    right: .7rem;
    bottom: .7rem;
    left: .7rem;
    max-width: calc(100% - 1.4rem);
    font-size: .53rem;
    text-align: right;
    white-space: normal;
    overflow-wrap: break-word;
  }

  .icy-lab-contact .icy-interior-display {
    max-width: 100%;
    font-size: clamp(2.3rem, 9.4vw, 3.3rem);
  }
  .icy-lab-contact-panel { box-shadow: 6px 6px 0 var(--icy-acid); }
  .icy-lab-contact-panel > strong { margin-top: 3rem; }
}

@media (max-width: 380px) {
  .icy-lab-team-grid { grid-template-columns: 1fr; }
  .icy-lab-team-photo { min-height: 220px; }
  .icy-lab-team-bio { display: block; }
  .icy-lab-trace { grid-template-columns: 1fr; }
  .icy-lab-trace article:nth-child(even)::after { display: grid; }
  .icy-lab-trace article:last-child::after { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .icy-lab-team-photo img { transition: none; }
}
