.lab_wrap {--paper: #e9e8e4; --pink: #0b0b0b; --pmute: rgba(11, 11, 11, 0.56); --phair: rgba(11, 11, 11, 0.16);
  --ink: #f3f2ee; --mute: rgba(243, 242, 238, 0.56); --faint: rgba(243, 242, 238, 0.32); --hair: rgba(243, 242, 238, 0.16); --bg: #050505;
  --sans: 'LT Sans', 'Inter Tight', 'Helvetica Neue', Arial, sans-serif; --mono: 'LT Mono', 'JetBrains Mono', ui-monospace, monospace;
  --gut: clamp(16px, 2.2vw, 32px); --frame: clamp(10px, 1.1vw, 16px); --top: calc(var(--frame) + 96px);
  position: relative; z-index: 3; margin-top: -100vh; font-family: var(--sans); -webkit-font-smoothing: antialiased; pointer-events: none; }
.lab_wrap .lab_run {position: relative; margin-top: -100vh; }
.lab_wrap .lab_run:first-child {margin-top: 0; }
.lab_wrap .lab_run.is-scale {height: 380vh; }
.lab_wrap .lab_run.is-research {height: 340vh; }
.lab_wrap .lab_run.is-safety {height: 300vh; }
.lab_wrap .lab_run.is-products {height: 300vh; }
.lab_wrap .lab_run.is-people {height: 300vh; }
.lab_wrap .lab_run.is-manifesto {height: 320vh; }
.lab_wrap .lab_run.is-careers {height: 320vh; }
/* the stage wipes up over the one before: a straight edge, the content riding a little behind it */
.lab_wrap .lab_stage {position: sticky; top: 0; height: 100vh; overflow: clip; transform: translateY(var(--hold, 0px)); visibility: hidden; pointer-events: auto; clip-path: inset(calc((1 - var(--rv, 1)) * 100%) 0 0 0); }
.lab_wrap .lab_stage.is-paper {background: var(--paper); color: var(--pink); }
.lab_wrap .lab_stage.is-dark {background: var(--bg); color: var(--ink); }
.lab_wrap .lab_in {position: absolute; inset: 0; transform: translateY(calc((1 - var(--rv, 1)) * 22vh)); opacity: calc(var(--cin, 1) * (1 - var(--out, 0))); }
.lab_wrap .lab_tag {z-index: 3; position: absolute; left: var(--gut); top: calc(var(--frame) + 56px); margin: 0; display: flex; gap: 1px; font: 400 11px / 1 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; z-index: 2; }
.lab_wrap .lab_tag span {background: var(--pink); color: var(--paper); padding: 4px 6px 3px; }
.lab_wrap .lab_tag span + span {background: none; color: var(--pink); border: 1px solid var(--phair); padding: 3px 6px 2px; }
.lab_wrap .lab_tag.is-dark span {background: var(--ink); color: var(--bg); }
.lab_wrap .lab_tag.is-dark span + span {background: none; color: var(--ink); border-color: var(--hair); }
.lab_wrap .lab_tag span.lab_live {background: none; color: var(--ink); border: 1px solid var(--hair); }
.lab_wrap .lab_tag span.lab_live::before {content: ''; display: inline-block; width: 5px; height: 5px; background: var(--ink); margin-right: 6px; vertical-align: 1px; animation: lab-blink 1.2s steps(1) infinite; }
@keyframes lab-blink {50% {opacity: 0; } }
.lab_wrap .lab_h {position: absolute; left: var(--gut); top: var(--top); margin: 0; max-width: 16ch; font: 300 clamp(34px, min(4.6vw, 7.6vh), 82px) / 0.98 var(--sans); letter-spacing: -0.05em; }
.lab_wrap .lab_mask {position: absolute; left: 0; right: 0; top: 0; height: calc(var(--top) + 100px); background: var(--paper); z-index: 2; box-shadow: 0 1px 0 var(--phair); }
.lab_wrap .lab_mask.is-foot {top: auto; bottom: 0; height: calc(var(--frame) + 100px); box-shadow: 0 -1px 0 var(--phair); }
.lab_wrap .lab_lede {z-index: 3; position: absolute; left: var(--gut); top: var(--top); margin: 0; max-width: 34ch; font: 400 15px / 1.45 var(--sans); color: var(--pmute); }
.lab_wrap .lab_foot {position: absolute; left: var(--gut); bottom: calc(var(--frame) + 88px); margin: 0; max-width: 64ch; font: 400 11px / 1.5 var(--mono); color: var(--pmute); }
.lab_wrap .lab_foot.is-dark {color: var(--faint); }
.lab_wrap .lab_btn {background: var(--pink); color: var(--paper); border: 0; padding: 9px 12px 8px; font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; transition: opacity 0.2s; }
.lab_wrap .lab_btn:hover {opacity: 0.8; }
.lab_wrap .lab_btn:disabled {opacity: 0.4; cursor: default; }

/* 08 scale */
.lab_wrap .lab_scale_num {position: absolute; left: var(--gut); top: calc(var(--top) + 2vh); }
.lab_wrap .lab_big {margin: 0; font: 200 clamp(84px, min(14vw, 23vh), 250px) / 1.04 var(--sans); letter-spacing: -0.07em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lab_wrap .lab_big_cap {margin: 4vh 0 0; font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--pmute); }
.lab_wrap .lab_dots {position: absolute; left: var(--gut); right: calc(var(--gut) + min(34vw, 470px)); top: calc(var(--top) + clamp(130px, 25vh, 260px)); bottom: calc(var(--frame) + 88px); width: calc(100% - 2 * var(--gut) - min(34vw, 470px) - var(--gut)); height: auto; display: block; }
.lab_wrap .lab_dots_key {position: absolute; left: var(--gut); bottom: calc(var(--frame) + 64px); margin: 0; font: 400 10.5px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--pmute); }
.lab_wrap .lab_facts {position: absolute; right: var(--gut); top: var(--top); width: min(34vw, 470px); margin: 0; padding: 0; list-style: none; }
.lab_wrap .lab_facts li {display: grid; grid-template-columns: 74px 1fr; column-gap: 14px; padding: 12px 0 13px; border-top: 1px solid var(--phair); opacity: var(--fo, 0.28); transition: opacity 0.4s; }
.lab_wrap .lab_facts li:last-child {border-bottom: 1px solid var(--phair); }
.lab_wrap .lab_facts li.is-on {--fo: 1; }
.lab_wrap .lab_fact_n {font: 400 19px / 1.1 var(--sans); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.lab_wrap .lab_fact_t {font: 400 14px / 1.4 var(--sans); }
.lab_wrap .lab_facts cite {grid-column: 2; margin-top: 6px; font: 400 10px / 1.4 var(--mono); font-style: normal; letter-spacing: 0.02em; color: var(--pmute); }

/* 09 research */
.lab_wrap .lab_papers {position: absolute; left: var(--gut); right: calc(var(--gut) * 2 + min(30vw, 400px)); top: calc(var(--top) + 112px); margin: 0; padding: 0; list-style: none; transform: translateY(var(--slide, 0px)); }
.lab_wrap .lab_paper {display: grid; grid-template-columns: 3ch minmax(0, 1fr) 14ch 6ch; column-gap: var(--gut); align-items: baseline; padding: 6px 0 8px; border-top: 1px solid var(--phair); cursor: default; transition: color 0.3s; }
.lab_wrap .lab_paper:last-child {border-bottom: 1px solid var(--phair); }
.lab_wrap .lab_paper_n, .lab_wrap .lab_paper_a, .lab_wrap .lab_paper_y {font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--pmute); }
.lab_wrap .lab_paper_y {text-align: right; }
.lab_wrap .lab_paper_t {font: 400 clamp(28px, min(4.2vw, 8vh), 80px) / 1.04 var(--sans); letter-spacing: -0.05em; transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1); }
.lab_wrap .lab_papers.is-hovering .lab_paper {color: rgba(11, 11, 11, 0.24); }
.lab_wrap .lab_papers.is-hovering .lab_paper.is-on {color: var(--pink); }
.lab_wrap .lab_paper.is-on .lab_paper_t {transform: translateX(14px); }
.lab_wrap .lab_fig {position: absolute; right: var(--gut); top: var(--top); width: min(30vw, 400px); margin: 0; background: var(--paper); border: 1px solid var(--phair); padding: 14px; opacity: 0; transform: translateY(8px); transition: opacity 0.35s, transform 0.35s; pointer-events: none; z-index: 3; }
.lab_wrap .lab_fig.is-on {opacity: 1; transform: none; }
.lab_wrap .lab_fig.is-inline {position: relative; right: auto; top: auto; bottom: auto; width: auto; margin: 0 0 10px; display: none; }
.lab_wrap .lab_fig.is-inline.is-on {display: block; }
.lab_wrap .lab_fig.is-inline .lab_fig_c {height: 150px; }
.lab_wrap .lab_fig_c {display: block; width: 100%; height: 200px; }
.lab_wrap .lab_fig_cap {margin-top: 10px; font: 400 10.5px / 1.45 var(--mono); color: var(--pmute); }
.lab_wrap .lab_fig_cap b {font-weight: 400; color: var(--pink); }

/* 10 safety */
.lab_wrap .lab_x {position: absolute; width: 13px; height: 13px; z-index: 2; }
.lab_wrap .lab_x::before, .lab_wrap .lab_x::after {content: ''; position: absolute; background: var(--ink); }
.lab_wrap .lab_x::before {left: 6px; top: 0; width: 1px; height: 13px; }
.lab_wrap .lab_x::after {top: 6px; left: 0; height: 1px; width: 13px; }
.lab_wrap .lab_x.is-tl {left: calc(var(--gut) - 6px); top: calc(var(--frame) + 44px); }
.lab_wrap .lab_x.is-tr {right: calc(var(--gut) - 6px); top: calc(var(--frame) + 44px); }
.lab_wrap .lab_x.is-bl {left: calc(var(--gut) - 6px); bottom: calc(var(--frame) + 44px); }
.lab_wrap .lab_x.is-br {right: calc(var(--gut) - 6px); bottom: calc(var(--frame) + 44px); }
.lab_wrap .lab_matrix {position: absolute; right: var(--gut); top: calc(var(--frame) + 50px); width: 46vw; height: calc(100vh - 2 * var(--frame) - 100px); display: block; }
.lab_wrap .lab_safe_h {position: absolute; left: var(--gut); top: var(--top); margin: 0; font: 300 clamp(48px, min(7.6vw, 12.6vh), 136px) / 0.86 var(--sans); letter-spacing: -0.065em; max-width: 7ch; }
.lab_wrap .lab_red {position: absolute; left: var(--gut); top: calc(var(--top) + clamp(130px, 26vh, 250px)); width: min(46vw, 640px); }
.lab_wrap .lab_red_label {display: block; margin-bottom: 14px; font: 400 14px / 1.4 var(--sans); color: var(--mute); }
.lab_wrap .lab_red_line {display: flex; gap: 10px; align-items: center; border: 1px solid var(--hair); padding: 6px 6px 6px 14px; }
.lab_wrap .lab_red_in {flex: 1; min-width: 0; background: none; border: 0; outline: 0; color: var(--ink); font: 400 17px / 1.3 var(--sans); }
.lab_wrap .lab_red_in::placeholder {color: rgba(243, 242, 238, 0.3); }
.lab_wrap .lab_red_go {flex: none; background: var(--ink); color: var(--bg); border: 0; padding: 9px 12px 8px; font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; }
.lab_wrap .lab_verdict {position: absolute; left: var(--gut); top: calc(var(--top) + clamp(240px, 42vh, 400px)); width: min(46vw, 640px); }
.lab_wrap .lab_v_word {margin: 0; font: 400 clamp(36px, min(5vw, 8vh), 84px) / 1 var(--mono); letter-spacing: -0.04em; text-transform: uppercase; }
.lab_wrap .lab_v_word.is-blocked {background: var(--ink); color: var(--bg); display: inline-block; padding: 0.06em 0.16em 0; }
.lab_wrap .lab_v_meter {position: relative; height: 6px; margin: 18px 0 12px; background: var(--hair); }
.lab_wrap .lab_v_meter span {position: absolute; left: 0; top: 0; bottom: 0; width: var(--score, 0%); background: var(--ink); transition: width 0.6s cubic-bezier(0.65, 0, 0.35, 1); }
.lab_wrap .lab_v_meter .lab_tick {position: absolute; top: -5px; bottom: -5px; width: 1px; background: var(--mute); }
.lab_wrap .lab_v_meter .lab_tick.is-a {left: 40%; }
.lab_wrap .lab_v_meter .lab_tick.is-b {left: 52%; }
.lab_wrap .lab_v_meta {margin: 0; font: 400 12px / 1.5 var(--mono); color: var(--mute); max-width: 60ch; }
.lab_wrap .lab_v_meta b {font-weight: 400; color: var(--ink); }
.lab_wrap .lab_honest {position: absolute; left: var(--gut); bottom: calc(var(--frame) + 88px); margin: 0; max-width: 62ch; font: 400 11px / 1.55 var(--mono); color: var(--faint); }

/* 11 products */
.lab_wrap .lab_panels {position: absolute; left: var(--gut); right: var(--gut); top: calc(var(--top) + clamp(110px, 20vh, 190px)); bottom: calc(var(--frame) + 164px); display: grid; grid-template-columns: 1fr 1fr; gap: var(--gut); }
.lab_wrap .lab_panel {display: flex; flex-direction: column; gap: 12px; min-height: 0; border-top: 1px solid var(--pink); padding-top: 12px; }
.lab_wrap .lab_panel_h {display: flex; justify-content: space-between; font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; }
.lab_wrap .lab_panel_h span:last-child {color: var(--pmute); }
.lab_wrap .lab_code {margin: 0; padding: 14px 16px; background: #dfded9; font: 400 12.5px / 1.55 var(--mono); white-space: pre-wrap; word-break: break-word; overflow: auto; color: var(--pink); }
.lab_wrap .lab_code.is-out {flex: 1; min-height: 0; background: var(--pink); color: var(--paper); }
.lab_wrap .lab_panel .lab_btn {align-self: flex-start; }
.lab_wrap .lab_agent_q {display: flex; gap: 8px; }
.lab_wrap .lab_agent_in {flex: 1; min-width: 0; background: #dfded9; border: 0; outline: 0; padding: 9px 12px; font: 400 14px var(--sans); color: var(--pink); }
.lab_wrap .lab_steps {flex: 1; min-height: 0; overflow: auto; margin: 0; padding: 0; list-style: none; counter-reset: st; }
.lab_wrap .lab_steps li {display: grid; grid-template-columns: 3ch 1fr auto; column-gap: 12px; padding: 9px 0; border-top: 1px solid var(--phair); font: 400 13px / 1.4 var(--sans); opacity: 0; transform: translateY(6px); transition: opacity 0.4s, transform 0.4s; }
.lab_wrap .lab_steps li.is-on {opacity: 1; transform: none; }
.lab_wrap .lab_steps li > span:first-child, .lab_wrap .lab_steps li > span:last-child {font: 400 11px var(--mono); color: var(--pmute); font-variant-numeric: tabular-nums; }
.lab_wrap .lab_steps small {display: block; margin-top: 3px; font: 400 10px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--pmute); }

/* 12 people */
.lab_wrap .lab_h.is-dark {max-width: 20ch; }
.lab_wrap .lab_people {position: absolute; left: var(--gut); right: var(--gut); top: calc(var(--top) + clamp(110px, 20vh, 190px)); bottom: calc(var(--frame) + 134px); margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--gut); align-content: start; overflow: hidden; }
.lab_wrap .lab_person {display: flex; flex-direction: column; gap: 10px; cursor: default; }
.lab_wrap .lab_person canvas {height: clamp(110px, 32vh, 330px); width: auto; max-width: 100%; aspect-ratio: 2 / 3; display: block; border: 1px solid var(--hair); transition: border-color 0.3s; }
.lab_wrap .lab_person:hover canvas, .lab_wrap .lab_person.is-on canvas {border-color: var(--ink); }
.lab_wrap .lab_person_n {margin: 0; font: 400 17px / 1.15 var(--sans); letter-spacing: -0.02em; }
.lab_wrap .lab_person_r {margin: 0; font: 400 10px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--mute); }
.lab_wrap .lab_person_q {margin: 0; font: 400 13px / 1.4 var(--sans); color: var(--mute); }
.lab_wrap .lab_person_s {margin: 0; font: 400 10.5px var(--mono); color: var(--faint); font-variant-numeric: tabular-nums; }

/* 13 manifesto */
.lab_wrap .lab_mani {position: absolute; left: var(--gut); right: var(--gut); top: calc(var(--top) + 30px); margin: 0; display: flex; flex-wrap: wrap; align-content: flex-start; column-gap: 0.26em; row-gap: 0.12em; font: 300 clamp(36px, min(5.6vw, 9.2vh), 100px) / 1 var(--sans); letter-spacing: -0.05em; }
.lab_wrap .lab_word {display: inline-flex; flex-direction: column; opacity: var(--w, 0.14); transition: opacity 0.25s; }
.lab_wrap .lab_word small {font: 400 max(9px, 0.12em) / 1 var(--mono); letter-spacing: 0.02em; color: var(--faint); margin-top: 0.12em; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* 14 careers */
.lab_wrap .lab_roles {position: absolute; left: var(--gut); right: var(--gut); top: calc(var(--top) + 112px); margin: 0; padding: 0; list-style: none; transform: translateY(var(--slide, 0px)); }
.lab_wrap .lab_role {border-top: 1px solid var(--phair); cursor: default; }
.lab_wrap .lab_role:last-child {border-bottom: 1px solid var(--phair); }
.lab_wrap .lab_role_row {display: grid; grid-template-columns: minmax(0, 1fr) 22ch 7ch; column-gap: var(--gut); align-items: baseline; padding: 6px 0 8px; }
.lab_wrap .lab_role_t {font: 400 clamp(26px, min(4.4vw, 7.4vh), 78px) / 1.04 var(--sans); letter-spacing: -0.05em; }
.lab_wrap .lab_role_m {font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--pmute); }
.lab_wrap .lab_role_s {font: 400 13px var(--mono); text-align: right; font-variant-numeric: tabular-nums; }
.lab_wrap .lab_role_d {display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0s linear 0.5s; }
.lab_wrap .lab_role_d > div {overflow: hidden; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.lab_wrap .lab_role_d p {margin: 0 0 14px; max-width: 54ch; font: 400 15px / 1.45 var(--sans); color: var(--pmute); }
.lab_wrap .lab_role_d a {margin-bottom: 14px; flex: none; background: var(--pink); color: var(--paper); text-decoration: none; padding: 9px 12px 8px; font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; }
.lab_wrap .lab_role.is-on .lab_role_d {grid-template-rows: 1fr; visibility: visible; transition-delay: 0s; }

@media (max-height: 820px) {
  .lab_wrap .lab_person_q {display: none; }
}
@media (max-width: 1100px) {
  .lab_wrap .lab_facts {top: auto; bottom: calc(var(--frame) + 84px); left: var(--gut); width: auto; }
  .lab_wrap .lab_facts li {display: none; }
  .lab_wrap .lab_facts li.is-on {display: grid; }
  .lab_wrap .lab_dots {right: var(--gut); width: calc(100% - 2 * var(--gut)); bottom: calc(var(--frame) + 254px); }
  .lab_wrap .lab_dots_key {bottom: calc(var(--frame) + 230px); }
  .lab_wrap .lab_fig {top: auto; bottom: calc(var(--frame) + 84px); width: min(420px, calc(100vw - 2 * var(--gut))); }
  .lab_wrap .lab_paper {grid-template-columns: 3ch minmax(0, 1fr) 6ch; }
  .lab_wrap .lab_papers {right: var(--gut); }
  .lab_wrap .lab_paper_a {display: none; }
  .lab_wrap .lab_matrix {width: calc(100vw - 2 * var(--gut)); opacity: 0.35; }
  .lab_wrap .lab_verdict, .lab_wrap .lab_honest {background: var(--bg); box-shadow: 0 0 0 12px var(--bg); }
  .lab_wrap .lab_red, .lab_wrap .lab_verdict {width: calc(100vw - 2 * var(--gut)); }
  .lab_wrap .lab_panels {grid-template-columns: 1fr; overflow: auto; }
  .lab_wrap .lab_people {grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lab_wrap .lab_person canvas {height: clamp(100px, 22vh, 240px); }
  .lab_wrap .lab_role_row {grid-template-columns: minmax(0, 1fr) 7ch; }
  .lab_wrap .lab_role_m {display: none; }
}
@media (max-width: 767px) {
  .lab_wrap .lab_h {font-size: clamp(30px, 9vw, 44px); top: calc(var(--frame) + 84px); }
  .lab_wrap .lab_lede {top: calc(var(--frame) + 84px); font-size: 14px; }
  .lab_wrap .lab_scale_num {top: calc(var(--frame) + 84px + 2vh); }
  .lab_wrap .lab_facts {bottom: calc(var(--frame) + 100px); }
  .lab_wrap .lab_big {font-size: 22vw; }
  .lab_wrap .lab_dots {top: calc(var(--frame) + 84px + 26vw + 96px); }
  .lab_wrap .lab_papers, .lab_wrap .lab_roles {top: calc(var(--frame) + 84px + 90px); }
  .lab_wrap .lab_paper_t {font-size: clamp(24px, 7.4vw, 36px); }
  .lab_wrap .lab_safe_h {top: calc(var(--frame) + 84px); font-size: 15vw; }
  .lab_wrap .lab_red {top: calc(var(--frame) + 84px + 31vw + 30px); }
  .lab_wrap .lab_verdict {top: auto; bottom: calc(var(--frame) + 194px); }
  .lab_wrap .lab_honest {bottom: calc(var(--frame) + 80px); font-size: 10px; }
  .lab_wrap .lab_panels {top: calc(var(--frame) + 84px + 110px); bottom: calc(var(--frame) + 156px); }
  .lab_wrap .lab_panels {overflow: visible; }
  .lab_wrap .lab_panel[data-agent] {display: none; }
  .lab_wrap .lab_code.is-out {min-height: 150px; }
  .lab_wrap .lab_foot {bottom: calc(var(--frame) + 74px); font-size: 10px; right: var(--gut); }
  .lab_wrap .lab_people {grid-template-columns: repeat(3, minmax(0, 1fr)); top: calc(var(--frame) + 84px + 120px); gap: 18px 10px; }
  .lab_wrap .lab_person canvas {height: clamp(90px, 17vh, 160px); }
  .lab_wrap .lab_person_n {font-size: 13px; }
  .lab_wrap .lab_person_s {display: none; }
  .lab_wrap .lab_person_q {display: none; }
  .lab_wrap .lab_mani {top: calc(var(--frame) + 84px); font-size: clamp(26px, 7.6vw, 40px); }
  .lab_wrap .lab_role_d > div {flex-direction: column; align-items: flex-start; gap: 0; }
}

.lab_wrap .lab_contain {position: relative; }
