.lab{
  --panel:#0d0e10;
  --panel-2:#08090a;
  --line:rgba(255,255,255,.09);
  --line-soft:rgba(255,255,255,.06);
  --text-dim:rgba(255,255,255,.56);
  --text-faint:rgba(255,255,255,.34);
  width:100%;
  max-width:1160px;
  margin:0 auto;
  background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);
  border:1px solid var(--line);
  border-radius:20px;
  padding:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
  align-items:stretch;
  box-shadow:0 40px 90px rgba(0,0,0,.5);
}

.lab-copy{display:flex;flex-direction:column;min-width:0}

.lab-bottom{min-width:0}

.lab-eyebrow{
  display:flex;align-items:center;gap:10px;
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--gold);margin-bottom:18px;
}
.lab-eyebrow::before{content:'';width:22px;height:1px;background:var(--gold);opacity:.7}

.lab-title{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  font-size:clamp(26px,3vw,36px);
  line-height:1.12;
  letter-spacing:-.3px;
  color:#fff;
  margin:0 0 14px;
}

.lab-sub{
  font-size:15px;line-height:1.65;color:var(--text-dim);
  margin:0 0 26px;
  max-width:46ch;
}

.lab-tabs{
  display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px;
}
.lab-tab{
  appearance:none;border:1px solid var(--line);background:rgba(255,255,255,.02);
  color:var(--text-dim);
  font-family:'Barlow Condensed',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.3px;
  padding:9px 18px;border-radius:30px;cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease,transform .15s ease;
}
.lab-tab:hover{color:#fff;border-color:rgba(255,255,255,.28)}
.lab-tab.is-active{
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#181104;border-color:transparent;font-weight:700;
}

.lab-metrics{display:flex;flex-direction:column;gap:16px;margin-bottom:26px}
.lab-metric-row{display:grid;grid-template-columns:118px 1fr auto;align-items:center;gap:14px}
.lab-metric-label{
  font-family:'Barlow Condensed',sans-serif;font-size:12.5px;letter-spacing:.5px;
  color:var(--text-faint);text-transform:uppercase;
}
.lab-metric-track{
  position:relative;height:5px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;
}
.lab-metric-fill{
  position:absolute;inset:0;transform-origin:left center;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold-bright));
  border-radius:4px;
  transition:transform .55s cubic-bezier(.22,1,.36,1);
}
.lab-metric-val{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14.5px;color:#fff;
  min-width:64px;text-align:right;
  transition:opacity .2s ease;
}

.lab-desc{
  font-size:14.5px;line-height:1.7;color:var(--text-dim);
  min-height:76px;
  margin:0 0 28px;
  transition:opacity .25s ease;
}
.lab-desc b{color:#fff;font-weight:600}

.lab-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.lab-btn-gold{
  appearance:none;text-decoration:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold));
  color:#181104;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;letter-spacing:.3px;
  border:none;border-radius:30px;padding:13px 22px;
  transition:transform .2s ease,filter .2s ease;
}
.lab-btn-gold:hover{filter:brightness(1.08);transform:translateY(-1px)}

.lab-footnote{
  font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.28);
  margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);
}

.lab-stage-wrap{position:relative;min-height:420px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.lab-stage{width:100%;height:100%;display:block;cursor:none;touch-action:none}

.lab-hint{
  position:absolute;top:16px;left:50%;transform:translateX(-50%);
  background:rgba(8,9,10,.94);
  border:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.85);
  font-family:'Barlow Condensed',sans-serif;font-size:12.5px;letter-spacing:.4px;
  padding:8px 16px;border-radius:20px;
  opacity:1;transition:opacity .5s ease;
  pointer-events:none;
  white-space:nowrap;
}
.lab-hint.is-hidden{opacity:0}

.lab-controls{
  position:absolute;left:16px;right:16px;bottom:16px;
  display:flex;align-items:center;justify-content:space-between;
  pointer-events:none;
}
.lab-water-btn{
  pointer-events:auto;
  appearance:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(9,10,11,.95);
  border:1px solid rgba(255,255,255,.16);color:#fff;
  font-family:'Barlow',sans-serif;font-weight:500;font-size:13.5px;
  padding:11px 18px 11px 14px;border-radius:30px;
  transition:border-color .2s ease,transform .15s ease;
}
.lab-water-btn:hover{border-color:rgba(201,168,76,.6);transform:translateY(-1px)}
.lab-water-btn:active{transform:translateY(0) scale(.97)}
.lab-water-btn svg{width:15px;height:15px;color:var(--gold-bright);flex-shrink:0}

.lab-pause-btn{
  pointer-events:auto;
  appearance:none;cursor:pointer;width:38px;height:38px;border-radius:50%;
  background:rgba(9,10,11,.95);
  border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.8);
  display:flex;align-items:center;justify-content:center;
  transition:border-color .2s ease,color .2s ease;
}
.lab-pause-btn:hover{border-color:rgba(255,255,255,.4);color:#fff}
.lab-pause-btn svg{width:13px;height:13px}

@media (max-width:880px){
  .lab{grid-template-columns:1fr;padding:28px;gap:30px}
  .lab-stage-wrap{min-height:260px}
  .lab-metric-row{grid-template-columns:96px 1fr auto;gap:10px}
}
@media (max-width:480px){
  .lab{padding:20px}
  .lab-stage-wrap{min-height:220px}
}
