.lab-page{background:#f7f3e9;color:#292826;overflow:hidden}
.lab-page .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}

.lab-hero{padding:88px 0 54px;text-align:center}
.lab-kicker,.lab-tool-kicker{margin:0 0 12px;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.lab-hero h1{max-width:820px;margin:0 auto;font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:calc(-.05em + 3pt)}
.lab-lead{max-width:640px;margin:22px auto 0;color:#68625A;font-size:17px;line-height:1.6}

.lab-tools{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  padding-bottom:86px
}
.lab-tool-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid rgba(41,40,38,.11);
  border-radius:28px;
  background:rgba(255,255,255,.42);
  overflow:hidden;
  box-shadow:0 16px 44px rgba(41,40,38,.05);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.lab-tool-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 54px rgba(41,40,38,.09);
  border-color:rgba(41,40,38,.18)
}
.lab-tool-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:210px;
  background:#f0ece3
}
.lab-tool-copy{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:26px
}
.lab-tool-copy h2{
  margin:0;
  font-size:clamp(26px,2.5vw,34px);
  line-height:1.02;
  letter-spacing:calc(-.035em + 3pt)}
.lab-tool-copy>p:not(.lab-tool-kicker){
  margin:14px 0 24px;
  
  font-size:14px;
  line-height:1.55
}

.lab-tool-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  min-height:48px;
  padding:12px 18px;
  border-radius:999px;
  background:#292826;
  color:#f7f3e9;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease
}
.lab-tool-button:hover{
  transform:translateY(-2px);
  background:#e8754f;
  color:#292826;
  box-shadow:0 10px 24px rgba(232,117,79,.22)
}
.lab-tool-button:active{transform:translateY(0)}
.lab-tool-button--disabled{
  background:#ddd7cc;
  color:#5F5A53;
  box-shadow:none;
  cursor:default;
  pointer-events:none
}

.lab-metro-ring{
  width:142px;
  height:142px;
  border:8px solid #292826;
  border-top-color:#e8754f;
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center
}
.lab-metro-bpm{font-size:44px;font-weight:900;letter-spacing:-.06em;line-height:.9}
.lab-metro-ring small{margin-top:8px;font-size:10px;font-weight:850;letter-spacing:.12em;color:#68625A}

.lab-tool-visual--cadence{
  display:grid;
  grid-template-columns:repeat(2,74px);
  gap:8px
}
.lab-chord{
  height:74px;
  border-radius:18px;
  background:#292826;
  color:#f7f3e9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center
}
.lab-chord--active{background:#e8754f}
.lab-chord strong{font-size:25px;letter-spacing:-.05em}
.lab-chord small{margin-top:4px;font-size:10px;opacity:.65;font-weight:800}

.lab-tool-visual--upcoming{background:linear-gradient(135deg,#f0ece3,#e9e3d8)}
.lab-upcoming-mark{
  width:92px;height:92px;border-radius:50%;
  border:1px solid rgba(41,40,38,.12);
  display:flex;align-items:center;justify-content:center;
  color:#b0a99f;font-size:48px;font-weight:300;
  background:rgba(255,255,255,.35)
}

.lab-philosophy{padding:88px 0 100px;text-align:center;background:#292826;color:#f7f3e9}
.lab-philosophy h2{margin:0 auto;max-width:760px;font-size:clamp(38px,5.4vw,64px);line-height:1;letter-spacing:calc(-.05em + 3pt)}
.lab-philosophy p:last-child{max-width:620px;margin:22px auto 0;color:rgba(247,243,233,.67);font-size:16px;line-height:1.65}

@media(max-width:900px){
  .lab-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lab-tool-card--upcoming{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}
}
@media(max-width:640px){
  .lab-page .container{width:min(100% - 28px,1180px)}
  .lab-hero{padding:68px 0 42px}
  .lab-hero h1{font-size:42px}
  .lab-lead{font-size:16px}
  .lab-tools{grid-template-columns:1fr;gap:16px;padding-bottom:64px}
  .lab-tool-card--upcoming{grid-column:auto;max-width:none}
  .lab-tool-visual{min-height:190px}
  .lab-tool-copy{padding:24px}
  .lab-philosophy{padding:72px 0 82px}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
