/* RuGo v083 — PRIMARY LAB ONLY
   FROZEN from v082:
   - LAB field proportion;
   - six block sizes and approved block scale;
   - drop speed;
   - editorial layout;
   - title axis;
   - colors / mortar / empty-grid behavior.

   v083 changes ONLY:
   - RuGo collision physics;
   - native cursor -> RuGo substitution while active;
   - RuGo word scale +50% target, bounded inside the same F 3x2 body. */

.core-panel--lab{
  --lab-red:var(--launch-accent,#e1261c);
  --lab-ink:var(--launch-ink,#11110f);
  --lab-paper:var(--launch-paper,#f4f1ea);
  --lab-muted:rgba(17,17,15,.64);

  --lab-title-scale:clamp(38px,calc((100vh / 8) * .583),74px);
  --lab-statement-scale:clamp(13px,calc((100vh / 8) * .175),18px);

  --lab-right-axis:8.45vw;
  --lab-field-left:5.55vw;
  --lab-field-width:26.25vw;
}

.lab-space-v083{
  position:absolute;
  inset:0;
  z-index:18;
  color:var(--lab-ink);
  font-family:var(--launch-font);
  overflow:hidden;
}

.lab-space-v083__visual{
  position:absolute;
  z-index:1;
  left:var(--lab-field-left);
  top:0;
  bottom:0;
  width:var(--lab-field-width);
  height:100%;
  margin:0;
  padding:0;
  overflow:hidden;
}

.lab-masonry-v083{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:transparent;
  isolation:isolate;
}

.lab-masonry-v083__canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  touch-action:none;
  background:transparent;
  cursor:auto;
}

/* Cursor is completely substituted by the RuGo word while active. */
.lab-masonry-v083.is-rugo-active .lab-masonry-v083__canvas{
  cursor:none!important;
}

/* When RuGo is trapped or the wall completes, the normal cursor returns. */
.lab-masonry-v083:not(.is-rugo-active) .lab-masonry-v083__canvas{
  cursor:auto;
}

/* ------------------------------
   Editorial layout frozen v082.
   ------------------------------ */

.lab-space-v083__content{
  position:absolute;
  z-index:3;
  right:var(--lab-right-axis);
  top:50%;
  transform:translateY(-50%);
  width:min(46vw,610px);
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  text-align:right;
}

.lab-space-v083__content-inner{
  width:100%;
  min-width:0;
}

.lab-space-v083__intro{
  width:100%;
  margin:0 0 calc((100vh / 8) * .22);
  text-align:right;
}

.lab-space-v083__kicker{
  display:block;
  margin:0 0 clamp(7px,.7vh,11px);
  font-size:clamp(10px,.72vw,12px);
  line-height:1;
  font-weight:650;
  letter-spacing:.12em;
  color:var(--lab-red);
  text-align:right;
}

.lab-space-v083__lead{
  margin:0 0 0 auto;
  width:min(100%,520px);
  font-size:clamp(13px,1.02vw,17px);
  line-height:1.42;
  letter-spacing:-.012em;
  color:var(--lab-muted);
  text-align:right;
}

.lab-space-v083__lead strong{
  color:var(--lab-ink);
  font-weight:650;
}

.lab-space-v083__territories{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:calc((100vh / 8) * .29);
}

.lab-space-v083__territory{
  width:100%;
  margin:0;
  padding:0;
  cursor:default;
  text-align:right;
}

.lab-space-v083__territory-title{
  position:relative;
  display:block;
  width:100%;
  height:.90em;
  margin:0;
  padding:0;
  font-size:var(--lab-title-scale)!important;
  font-weight:650;
  line-height:.90;
  letter-spacing:-.055em;
  color:var(--lab-ink);
  overflow:visible;
}

.lab-space-v083__territory-title > span{
  position:absolute;
  top:0;
  right:0;
  display:block;
  width:max-content;
  white-space:nowrap;
  font:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  color:inherit;
  text-align:right;
}

.lab-space-v083__territory:hover .lab-space-v083__territory-title{
  color:var(--lab-red);
}

.lab-space-v083__territory-copy{
  display:block;
  width:min(100%,520px);
  margin:calc((100vh / 8) * .08) 0 0 auto;
  font-size:var(--lab-statement-scale);
  line-height:1.42;
  letter-spacing:-.012em;
  color:var(--lab-muted);
  font-weight:400;
  text-align:right;
}

.lab-space-v083__territory-copy strong{
  color:var(--lab-red);
  font-weight:650;
}

.lab-space-v083__note{
  width:min(100%,520px);
  margin:calc((100vh / 8) * .20) 0 0 auto;
  font-size:clamp(10.5px,.78vw,13px);
  line-height:1.42;
  letter-spacing:-.006em;
  color:rgba(17,17,15,.50);
  text-align:right;
}

@media (max-width:1180px){
  .core-panel--lab{
    --lab-right-axis:7.6vw;
    --lab-field-left:5.0vw;
    --lab-field-width:26.5vw;
  }

  .lab-space-v083__content{
    width:min(49vw,600px);
  }

  .lab-space-v083__lead,
  .lab-space-v083__territory-copy{
    font-size:13px;
  }

  .lab-space-v083__note{
    font-size:10.5px;
  }
}