/* Palace Studios — lab case studies. Builds on /site.css. */
.lab-header{grid-template-columns:1fr auto}
.lab-header nav{display:flex;gap:30px;justify-self:end}
.lab-intro{padding:150px var(--gutter) 70px}
.lab-intro .lede{max-width:640px;margin-bottom:56px}
.lab-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.lab-meta div{padding:18px 24px 18px 0;border-bottom:1px solid var(--line)}
.lab-meta dt{margin-bottom:6px}
.lab-meta dd{margin:0;font-size:16px;line-height:1.4}
.lab-label{display:inline-block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid currentColor;padding-bottom:2px}

.lab-demo{position:relative;padding:70px var(--gutter) 80px}
.lab-demo-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px}
.lab-demo-head p{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.04em;line-height:1.1;max-width:560px}
.lab-screens{display:grid;grid-template-columns:auto minmax(0,1fr);gap:48px;align-items:center}
.lab-screen{display:flex;flex-direction:column;gap:18px;margin:0;min-width:0}
.slot-phone{width:min(400px,86vw);height:min(840px,82svh)}
.slot-tablet{width:100%;height:min(640px,70svh)}
.lab-screen figcaption{display:flex;justify-content:space-between;gap:16px}

.lab-section{padding:var(--pad) var(--gutter)}
.lab-cols{display:grid;grid-template-columns:1fr 1.35fr;gap:8%}
.lab-cols p{font-size:17px;line-height:1.55;max-width:560px}
.lab-cols p+p{margin-top:18px}
.lab-links a{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:26px 0;border-top:1px solid var(--line);font-size:clamp(24px,3vw,44px);letter-spacing:-.045em;transition:padding .35s cubic-bezier(.2,.7,.2,1)}
.lab-links a:last-child{border-bottom:1px solid var(--line)}
.lab-links a:hover{padding-left:14px}
.lab-links a .eyebrow{flex:none}
.lab-note{padding:0 var(--gutter) 80px;font-size:13px;color:var(--muted)}

@media(max-width:1000px){
  .lab-screens{grid-template-columns:minmax(0,1fr);gap:56px;justify-items:center}
  .lab-screen{width:100%}
  .slot-phone{width:100%;height:min(760px,80svh)}
  .slot-tablet{height:auto;aspect-ratio:1220/860}
}
@media(max-width:800px){
  .lab-intro{padding-top:120px}
  .lab-meta{grid-template-columns:1fr}
  .lab-cols{grid-template-columns:1fr;gap:32px}
  .lab-demo-head{display:block}
  .lab-demo-head .tlink{margin-top:14px}
  .lab-header nav a:first-child{display:none}
}
