
.lab005-page .lab-detail-content{max-width:1180px}
.lab005-sequence{margin-top:48px}
.lab005-sequence-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}
.lab005-sequence-head h2{margin:0}
.lab005-tabs{display:flex;gap:7px;flex-wrap:wrap}
.lab005-tabs button,.lab005-step-nav button{appearance:none;border:0;background:none;padding:3px 2px;color:rgba(15,15,15,.38);font:inherit;font-size:10px;letter-spacing:.12em;cursor:pointer}
.lab005-tabs button.is-active{color:#111;border-bottom:1px solid #111}
.lab005-stage-list{list-style:none;margin:0;padding:0}
.lab005-stage-list>li{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:34px;align-items:start;border-top:1px solid rgba(0,0,0,.12);padding-top:20px}
.lab005-stage-list>li[hidden]{display:none}
.lab005-stage-list figure{margin:0;background:#f3f3f1;overflow:hidden}
.lab005-stage-list img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;background:#f5f5f2}
.lab005-copy>span{display:block;margin-bottom:22px;color:rgba(0,0,0,.43);font-size:9px;letter-spacing:.12em}
.lab005-copy h3{margin:0 0 14px;font-size:17px;font-weight:400;letter-spacing:.035em}
.lab005-copy p{margin:0 0 16px;font-size:12px;line-height:1.85;max-width:42em}
.lab005-copy code{font-size:10px;color:rgba(0,0,0,.48)}
.lab005-step-nav{display:flex;justify-content:flex-end;align-items:center;gap:18px;margin-top:15px;font-size:9px;letter-spacing:.12em}
.lab005-step-nav span{min-width:48px;text-align:center;color:rgba(0,0,0,.45)}
.lab005-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.lab005-grid button{appearance:none;border:0;padding:0;background:#eee;cursor:pointer}
.lab005-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:grayscale(1);opacity:.72;transition:.2s}
.lab005-grid button:hover img,.lab005-grid button.is-active img{filter:none;opacity:1}
@media(max-width:760px){
 .lab005-sequence-head{display:block}.lab005-tabs{margin-top:16px}
 .lab005-stage-list>li{grid-template-columns:1fr;gap:20px}
 .lab005-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v30 — Lab004 / Lab005 unified desktop layout */
@media (min-width:981px) and (min-height:720px) {
  .lab004-page .lab-detail-shell,
  .lab005-page .lab-detail-shell{
    height:100vh;
    min-height:0;
    overflow:hidden;
  }

  .lab004-page .lab-detail-content,
  .lab005-page .lab-detail-content{
    width:100%;
    max-width:none;
    min-height:0;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(330px,.78fr) minmax(560px,1.22fr);
    grid-template-rows:minmax(0,1fr) auto;
    grid-template-areas:
      "hero sequence"
      "footer footer";
    column-gap:clamp(46px,6vw,108px);
    row-gap:14px;
    padding-right:0;
  }

  .lab004-page .lab004-hero,
  .lab005-page .lab-hero-panel{
    grid-area:hero;
    min-height:0;
    overflow:hidden;
  }

  .lab004-page .lab004-sequence,
  .lab005-page .lab005-sequence{
    grid-area:sequence;
    min-height:0;
    overflow:hidden;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    margin-top:0;
  }

  .lab004-page .lab004-stage-list,
  .lab005-page .lab005-stage-list{
    min-height:0;
    height:100%;
    overflow:hidden;
  }

  .lab004-page .lab004-stage-list > li,
  .lab005-page .lab005-stage-list > li{
    height:100%;
    min-height:0;
  }

  .lab004-page .lab004-stage-list figure,
  .lab005-page .lab005-stage-list figure{
    height:100%;
    min-height:0;
  }

  .lab004-page .lab004-stage-list img,
  .lab005-page .lab005-stage-list img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:contain;
  }

  .lab004-page .lab004-contact-sheet,
  .lab005-page .lab005-process-index{
    display:none;
  }

  .lab004-page .lab-detail-footer,
  .lab005-page .lab-detail-footer{
    grid-area:footer;
    width:100%;
    margin:0;
    padding-top:10px;
    border-top:1px solid rgba(17,17,17,.12);
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-sizing:border-box;
  }
}

@media (max-width:980px), (max-height:719px) {
  .lab004-page .lab-detail-content,
  .lab005-page .lab-detail-content{
    display:block;
    overflow:visible;
  }

  .lab004-page .lab004-contact-sheet,
  .lab005-page .lab005-process-index{
    display:block;
  }

  .lab004-page .lab-detail-footer,
  .lab005-page .lab-detail-footer{
    width:100%;
    margin-top:72px;
    padding-top:18px;
    border-top:1px solid rgba(17,17,17,.12);
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
}
