/* RuGo v076 — LAB SPACE Phase 1 primary screen.
   Scope:
   - primary LAB SPACE screen only;
   - composition references the approved SERVICES grammar;
   - LAB territories are editorial, not buttons;
   - no fake subnavigation;
   - shared Projects/Lab branch is intentionally NOT changed here. */

.core-panel--lab{
  --lab-line:rgba(17,17,15,.17);
  --lab-line-soft:rgba(17,17,15,.09);
  --lab-muted:rgba(17,17,15,.64);
  --lab-red:var(--launch-accent,#e1261c);
  --lab-title-measure:clamp(360px,33.5vw,560px);
  --lab-title-scale:clamp(38px,calc((100cqh / 8) * .583),74px);
  --lab-title-leading:.90;
  --lab-statement-scale:clamp(13px,calc((100cqh / 8) * .175),18px);
}

.lab-space-v076{
  position:absolute;
  z-index:18;
  inset:8.6vh 9.6vw 8.8vh 9.6vw;
  color:var(--launch-ink);
  font-family:var(--launch-font);
  overflow:visible;
  container-type:size;
}

.lab-space-v076__frame{
  position:absolute;
  left:50%;
  top:50%;
  width:min(100cqw,calc(100cqh * 13 / 8));
  height:min(100cqh,calc(100cqw * 8 / 13));
  transform:translate(-50%,-50%);
  box-sizing:border-box;
}

.lab-space-v076__intro{
  position:absolute;
  z-index:3;
  left:calc((100cqh / 8) * .30);
  top:calc((100cqh / 8) * .18);
  width:min(42%,540px);
}

.lab-space-v076__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);
}

.lab-space-v076__lead{
  margin:0;
  max-width:48ch;
  font-size:clamp(13px,1.02vw,17px);
  line-height:1.42;
  letter-spacing:-.012em;
  color:var(--lab-muted);
}

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

.lab-space-v076__territories{
  position:absolute;
  z-index:3;
  left:calc((100cqh / 8) * .30);
  top:50%;
  transform:translateY(-47%);
  width:min(100%,var(--lab-title-measure));
  display:flex;
  flex-direction:column;
  gap:calc((100cqh / 8) * .30);
}

.lab-space-v076__territory{
  width:min(100%,var(--lab-title-measure));
  margin:0;
  padding:0;
  cursor:default;
}

.lab-space-v076__territory-title{
  display:block;
  width:min(100%,var(--lab-title-measure));
  max-width:var(--lab-title-measure);
  margin:0;
  font-size:var(--lab-title-scale)!important;
  font-weight:650;
  line-height:var(--lab-title-leading);
  letter-spacing:-.055em;
  color:var(--launch-ink);
  transition:color 180ms ease;
}

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

.lab-space-v076__territory-copy{
  display:block;
  width:min(100%,var(--lab-title-measure));
  max-width:var(--lab-title-measure);
  margin:calc((100cqh / 8) * .07) 0 0 .08em;
  font-size:var(--lab-statement-scale);
  line-height:1.42;
  letter-spacing:-.012em;
  color:var(--lab-muted);
  font-weight:400;
}

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

.lab-space-v076__note{
  position:absolute;
  z-index:3;
  left:calc((100cqh / 8) * .30);
  bottom:calc((100cqh / 8) * .17);
  width:min(43%,560px);
  margin:0;
  font-size:clamp(10.5px,.78vw,13px);
  line-height:1.42;
  letter-spacing:-.006em;
  color:rgba(17,17,15,.50);
}

/* LAB FIELD — same RuGo graphic discipline, but intentionally more open,
   relational and unresolved than the SERVICES diagram. */

.lab-space-v076__visual{
  position:absolute;
  z-index:1;
  top:-5.2vh;
  bottom:-5.4vh;
  right:-3.0vw;
  width:29vw;
  margin:0;
  padding:0;
  pointer-events:none;
  overflow:visible;
}

.lab-field-v076{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}

.lab-field-v076__guide,
.lab-field-v076__accent,
.lab-field-v076__node{
  vector-effect:non-scaling-stroke;
  fill:none;
}

.lab-field-v076__guide{
  stroke:var(--lab-line-soft);
  stroke-width:1.05;
}

.lab-field-v076__guide--strong{
  stroke:var(--lab-line);
}

.lab-field-v076__guide--dash{
  stroke-dasharray:7 13;
}

.lab-field-v076__accent{
  stroke:var(--lab-red);
  stroke-width:1.5;
}

.lab-field-v076__accent--soft{
  opacity:.68;
}

.lab-field-v076__node{
  stroke:var(--lab-red);
  stroke-width:1.5;
  fill:var(--launch-paper,#f4f1ea);
}

.lab-field-v076__node--ink{
  stroke:var(--launch-ink);
  opacity:.55;
}

.lab-field-v076__orbit-a{
  transform-origin:330px 292px;
  animation:lab-orbit-a 28s linear infinite;
}

.lab-field-v076__orbit-b{
  transform-origin:365px 616px;
  animation:lab-orbit-b 36s linear infinite reverse;
}

.lab-field-v076__orbit-c{
  transform-origin:292px 890px;
  animation:lab-orbit-c 44s linear infinite;
}

.lab-field-v076__drift-a{
  animation:lab-drift-a 13s ease-in-out infinite alternate;
}

.lab-field-v076__drift-b{
  animation:lab-drift-b 17s ease-in-out infinite alternate;
}

.lab-field-v076__draw{
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:lab-draw 7.6s ease-in-out infinite alternate;
}

.lab-field-v076__draw--2{animation-delay:1.1s}
.lab-field-v076__draw--3{animation-delay:2.0s}
.lab-field-v076__draw--4{animation-delay:2.8s}

@keyframes lab-orbit-a{
  to{transform:rotate(360deg)}
}

@keyframes lab-orbit-b{
  to{transform:rotate(360deg)}
}

@keyframes lab-orbit-c{
  to{transform:rotate(360deg)}
}

@keyframes lab-drift-a{
  from{transform:translate3d(-7px,-4px,0)}
  to{transform:translate3d(9px,8px,0)}
}

@keyframes lab-drift-b{
  from{transform:translate3d(6px,-8px,0)}
  to{transform:translate3d(-10px,5px,0)}
}

@keyframes lab-draw{
  0%,12%{stroke-dashoffset:1}
  70%,100%{stroke-dashoffset:0}
}

@media (max-width:1180px){
  .lab-space-v076{
    inset:9vh 8vw 9.5vh;
  }

  .lab-space-v076__lead,
  .lab-space-v076__territory-copy{
    font-size:13px;
  }

  .lab-space-v076__visual{
    right:-4vw;
    width:28vw;
  }

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

@media (prefers-reduced-motion:reduce){
  .lab-field-v076__orbit-a,
  .lab-field-v076__orbit-b,
  .lab-field-v076__orbit-c,
  .lab-field-v076__drift-a,
  .lab-field-v076__drift-b,
  .lab-field-v076__draw{
    animation:none!important;
  }
}