/* PLO page wrapper — centered with site max-width */
.plo-wrap{ max-width:var(--max); margin:0 auto; padding:0 var(--gap) }

/* PLO intro: single column (override shared .prose columns:2) */
.plo-wrap .prose{ columns:1 }

/* PLO — unify content block width with .manifest (820px) */
.plo-wrap .prose,
.plo-wrap .essay,
.plo-wrap .plo-collective-grid{
  max-width:820px;
}

/* Hero image — full viewport width at the top of the page */
.plo-hero{
  margin:0 0 clamp(2rem, 4vw, 3.5rem);
  width:100%;
}
.plo-hero img{
  width:100%; height:auto; display:block;
}

/* Collective image inside § 01 body — matches essay figure width */
.plo-collective-grid{
  margin-top:2.5rem;
  max-width:640px;
}
.plo-collective-grid figure{ margin:0 }
.plo-collective-grid img{
  width:100%; height:auto; display:block;
}

/* Essay inline images — figures embedded via Kirbytag (image: …) */
.essay figure{
  margin:clamp(2.2rem, 3.5vw, 3.2rem) 0;
}
.essay figure img{
  width:100%; height:auto; display:block;
}

/* PLO-specific: showreel video block (other sections use components.css) */
.showreel{
  position:relative; width:100%; aspect-ratio:16/9; background:#000;
  overflow:hidden; cursor:pointer;
}
.showreel video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; display:block;
}
.showreel-overlay{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.35);
  transition:background .3s, opacity .3s;
}
.showreel.playing .showreel-overlay{ opacity:0; pointer-events:none }
.showreel:hover .showreel-overlay{ background:rgba(0,0,0,.15) }
.showreel-play{
  width:96px; height:96px;
  border:1.5px solid rgba(255,255,255,.85); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-size:1.4rem;
  backdrop-filter:blur(6px);
  transition:transform .2s, background .2s;
}
.showreel:hover .showreel-play{
  background:var(--accent); border-color:var(--accent);
  transform:scale(1.08);
}
.showreel-caption{
  position:absolute; left:20px; bottom:20px; right:20px;
  display:flex; justify-content:space-between;
  color:rgba(255,255,255,.9);
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.2em;
  text-transform:uppercase; pointer-events:none;
}
