/* Box-office play — same tokens as the rest of the site. */
body.bo-house,
body.bo-house .site-header,
body.bo-house .site-footer{
  background:#fff;
}
body.bo-house .site-footer{margin-top:0}

.bo-play{
  position:relative;
  background:#fff;
  color:var(--ink);
  padding:0 0 3.4rem;
  min-height:78vh;
  overflow:hidden;
}
.bo-play .bo-wash{
  position:absolute;
  left:0;right:0;top:0;
  height:38rem;
  background:url("img/house-outline.webp") center 32% / 110% auto no-repeat;
  opacity:.28;
  pointer-events:none;
  z-index:0;
}
.bo-play .bo-grain{display:none}
.bo-play .bo-deco{display:none}
.bo-opens{margin:0 0 1.15rem;padding:0 0 .85rem;border-bottom:1px solid var(--line)}
.bo-opens h2{margin:0 0 .45rem;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.bo-opens ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem .9rem}
.bo-opens li{font-size:.92rem}
.bo-opens-src{margin:.45rem 0 0;font-size:.78rem;color:var(--muted)}
.bo-play .bo-inner{
  position:relative;
  z-index:2;
  width:min(100% - 2rem, 76rem);
  margin-inline:auto;
  padding-top:1.45rem;
}
.bo-play .bo-mast{text-align:center;margin:0 0 1.15rem}
.bo-play .bo-mast h1{
  margin:.1rem 0 .35rem;
  font-family:var(--sans);
  font-size:clamp(2.2rem, 6vw, 4rem);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  line-height:1;
  color:var(--ink);
}
.bo-play .bo-kicker{
  margin:0;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ink);
}
.bo-play .bo-dek{
  margin:0 auto;
  color:var(--muted);
  max-width:none;
  line-height:1.45;
  font-size:.95rem;
}
.bo-play .bo-find{margin:0 auto 1rem;max-width:46rem}
.bo-play .bo-find label{
  display:block;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 .35rem;
  text-align:center;
}
.bo-play .bo-find-wrap{position:relative}
.bo-play .bo-find input{
  width:100%;
  font:inherit;
  font-size:1.2rem;
  padding:.85rem 1rem;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:2px;
}
.bo-play .bo-find input:focus{
  outline:2px solid var(--accent);
  outline-offset:1px;
  border-color:var(--accent);
}
.bo-play .bo-find input::placeholder{color:var(--muted);opacity:.7;font-style:italic}
.bo-play .bo-find-hint{
  margin:.4rem 0 0;
  font-size:.72rem;
  color:var(--muted);
  text-align:center;
}
.bo-play .bo-suggest{
  position:absolute;
  left:0;right:0;top:calc(100% + 4px);
  background:#fff;
  border:1px solid var(--line);
  z-index:40;
  max-height:22rem;
  overflow:auto;
  box-shadow:0 12px 28px rgba(26,26,26,.12);
}
.bo-play .bo-suggest button{
  display:flex;
  justify-content:space-between;
  gap:.75rem;
  width:100%;
  font:inherit;
  text-align:left;
  padding:.55rem .8rem;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  cursor:pointer;
}
.bo-play .bo-suggest button:hover,
.bo-play .bo-suggest button.is-on{background:#efece6;color:var(--accent)}
.bo-play .bo-suggest .tag{
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  white-space:nowrap;
}
.bo-play .bo-navs{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem .5rem;
  margin:0 0 1.35rem;
  align-items:center;
  justify-content:center;
}
.bo-play .bo-navs button,
.bo-play .bo-navs a{
  font:inherit;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.42rem .7rem;
  border:1px solid var(--line);
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  text-decoration:none;
  border-radius:2px;
}
.bo-play .bo-navs button.is-on{
  color:#fff;
  background:var(--ink);
  border-color:var(--ink);
}
.bo-play .bo-navs button:hover,
.bo-play .bo-navs a:hover{
  color:var(--accent);
  border-color:var(--accent);
  background:transparent;
}
.bo-play .bo-navs button.is-on:hover{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
}
.bo-play .bo-money{
  margin-left:.4rem;
  display:inline-flex;
  border:1px solid var(--line);
  border-radius:2px;
  overflow:hidden;
}
.bo-play .bo-money button{
  border:0;
  border-radius:0;
  padding:.42rem .65rem;
  background:#fff;
  color:var(--muted);
}
.bo-play .bo-money button + button{border-left:1px solid var(--line)}
.bo-play .bo-money button.is-on,
.bo-play .bo-money button:hover{
  color:#fff;
  background:var(--ink);
}
.bo-play .bo-money button:hover{background:var(--accent);color:#fff}
.bo-play .bo-stage{min-height:24rem}
.bo-play .bo-stage h1{
  margin:.1rem 0 .2rem;
  font-family:var(--sans);
  font-size:clamp(1.9rem, 4.4vw, 3.1rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
  line-height:1.08;
  color:var(--ink);
}
.bo-play .bo-crumb{margin:0 0 .85rem;font-size:.8rem;color:var(--muted)}
.bo-play .bo-crumb button{
  font:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;
  text-decoration:underline;text-underline-offset:.12em
}

.bo-play .bo-hero{
  position:relative;
  padding:1.6rem 1.5rem 1.5rem;
  margin:0 0 1.3rem;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  text-align:center;
}
.bo-play .bo-hero:hover{border-color:var(--ink)}
.bo-play .bo-hero-kicker{
  margin:0 0 .3rem;
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink);
  font-weight:700;
}
.bo-play .bo-hero-date{margin:0 0 .45rem;color:var(--muted);font-size:.82rem}
.bo-play .bo-hero-title{
  margin:0 0 .2rem;
  font-family:var(--sans);
  font-size:clamp(1.7rem, 4.6vw, 3rem);
  line-height:1.08;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--ink);
}
.bo-play .bo-hero-num{
  margin:.15rem 0 .3rem;
  font-size:clamp(2.4rem, 7vw, 4.1rem);
  font-weight:800;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
  line-height:1;
}
.bo-play .bo-hero-sub{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;line-height:1.45}
.bo-play .bo-pips{display:flex;justify-content:center;gap:4px;margin:.7rem 0 .15rem;flex-wrap:wrap}
.bo-play .bo-pips i{
  width:.7rem;height:.7rem;background:var(--ink);display:block;border-radius:1px;
}

.bo-play .bo-ticker{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:0 0 1.25rem;
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.bo-play .bo-ticker-track{
  display:flex;
  gap:2rem;
  width:max-content;
  animation:bo-scroll 80s linear infinite;
  padding:.45rem 0;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.bo-play .bo-ticker b{color:var(--ink);font-weight:700}
@keyframes bo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.bo-play .bo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 1.4rem}
@media(max-width:1100px){.bo-play .bo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bo-play .bo-grid{grid-template-columns:1fr}}
.bo-play .bo-tile{
  border:1px solid var(--line);
  padding:.85rem .9rem;
  background:#fff;
  min-height:12rem;
}
.bo-play .bo-tile h2{
  margin:0 0 .65rem;
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  border:0;
  padding:0;
}
.bo-play .bo-tile ol{margin:0;padding:0;list-style:none}
.bo-play .bo-tile li{
  display:flex;justify-content:space-between;gap:.6rem;
  padding:.32rem 0;border-top:1px solid var(--line);cursor:pointer;font-size:.86rem
}
.bo-play .bo-tile li:first-child{border-top:0}
.bo-play .bo-tile li:hover{color:var(--accent)}
.bo-play .bo-tile .num{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}

.bo-play .bo-yearline{margin:0 0 1.2rem}
.bo-play .bo-yearline h2,
.bo-play .bo-sec{
  margin:0 0 .45rem;
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  border:0;
  padding:0;
}
.bo-play h2.bo-sec{margin:1.15rem 0 .45rem}
.bo-play .bo-strip{display:flex;flex-wrap:wrap;gap:3px}
.bo-play .bo-strip button{
  width:1.05rem;height:1.05rem;padding:0;border:0;border-radius:1px;cursor:pointer;background:var(--line)
}
.bo-play .bo-strip button:hover,
.bo-play .bo-strip button.is-on{outline:2px solid var(--accent);outline-offset:1px}

.bo-play .bo-filmstrip{
  display:flex;gap:.55rem;overflow-x:auto;padding:.15rem 0 1.1rem;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
}
.bo-play .bo-card{
  flex:0 0 11.2rem;
  scroll-snap-align:start;
  border:1px solid var(--line);
  background:#fff;
  padding:.7rem .75rem;
  cursor:pointer;
  min-height:7.2rem;
  font:inherit;
  color:inherit;
  text-align:left;
}
.bo-play .bo-card:hover{border-color:var(--ink)}
.bo-play .bo-card .when{margin:0;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bo-play .bo-card .ttl{
  margin:.3rem 0 .35rem;font-size:.92rem;font-weight:700;line-height:1.2;
  font-family:var(--sans);
  text-transform:uppercase;letter-spacing:.04em;
}
.bo-play .bo-card .num{margin:0;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}

.bo-play .bo-decades{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.3rem}
.bo-play .bo-decades button{
  font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.35rem .6rem;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer
}
.bo-play .bo-decades button:hover,
.bo-play .bo-decades button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}

.bo-play .bo-table{width:100%;border-collapse:collapse;font-size:.92rem;color:var(--ink)}
.bo-play .bo-table th,
.bo-play .bo-table td{border-bottom:1px solid var(--line);padding:.48rem .4rem;text-align:left;vertical-align:top}
.bo-play .bo-table th{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.bo-play .bo-table th.is-on{color:var(--accent)}
.bo-play .bo-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bo-play .bo-table tbody tr{cursor:pointer}
.bo-play .bo-table tbody tr:hover{background:#efece6}

.bo-play .bo-dossier h1{
  margin:.1rem 0 .2rem;
  font-family:var(--sans);
  font-size:clamp(1.9rem, 4.4vw, 3.1rem);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:700;
  line-height:1.08;
  color:var(--ink);
}
.bo-play .bo-meta{margin:0 0 1rem;color:var(--muted);max-width:none}
.bo-play .bo-meta a{color:var(--accent)}
.bo-play .bo-stats{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.2rem}
.bo-play .bo-stat{
  min-width:9rem;
  padding:.7rem .8rem;
  border:1px solid var(--line);
  background:#fff;
}
.bo-play .bo-stat b{
  display:block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:700
}
.bo-play .bo-stat span{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}
.bo-play .bo-credits{margin:0 0 1.15rem}
.bo-play .bo-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.bo-play .bo-name{
  font:inherit;
  font-size:.82rem;
  padding:.28rem .5rem;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  border-radius:2px;
}
.bo-play .bo-name:hover{border-color:var(--accent);color:var(--accent)}
.bo-play .bo-name.lead{border-color:var(--ink);font-weight:650}

.bo-play .bo-crown{
  margin:0 0 1.15rem;
  padding:.85rem 1rem;
  border-left:3px solid var(--ink);
  background:#fff;
  color:var(--ink);
  line-height:1.5;
}

.bo-play .bo-bars{list-style:none;margin:0 0 1rem;padding:0}
.bo-play .bo-bars li{
  display:grid;
  grid-template-columns:7.4rem 1fr 7.4rem;
  gap:.45rem;
  align-items:center;
  margin:.22rem 0;
  font-size:.78rem;
}
.bo-play .bo-bar-name{color:var(--muted)}
.bo-play .bo-bar{
  display:block;height:.55rem;
  background:var(--ink);
  min-width:2px;
}
.bo-play .bo-career{margin:0 0 1.2rem}
.bo-play .bo-career button{
  display:grid;
  grid-template-columns:3.4rem minmax(8rem,1.2fr) minmax(4rem,1fr) 7.2rem;
  gap:.5rem;
  align-items:center;
  width:100%;
  background:transparent;
  border:0;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  padding:.22rem 0;
}
.bo-play .bo-career button:hover{color:var(--accent)}
.bo-play .bo-career .yr{color:var(--muted);font-variant-numeric:tabular-nums}
.bo-play .bo-career .ttl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bo-play .bo-career .track{display:block;height:.55rem;background:var(--line);min-width:2px}
.bo-play .bo-career .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}

.bo-play .bo-empty{color:var(--muted);max-width:none}
.bo-play .bo-rec-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .8rem}
.bo-play .bo-rec-row button{
  font:inherit;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  padding:.35rem .55rem;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer
}
.bo-play .bo-rec-row button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.bo-play .bo-tools{margin:0 0 .75rem}
.bo-play .bo-tools select{
  font:inherit;padding:.35rem .5rem;background:#fff;color:var(--ink);border:1px solid var(--line)
}
.bo-play .bo-about{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:2.2rem;
  margin:2.5rem 0 0;
  padding:1.5rem 0 0;
  border-top:1px solid var(--line);
  max-width:none;
  width:100%;
  text-align:left;
}
.bo-play .bo-about h2,
.bo-play .bo-about .bo-methods,
.bo-play .bo-about .bo-lab-link,
.bo-play .bo-about .bo-sources{
  grid-column:1 / -1;
}
.bo-play .bo-about h2{
  margin:0 0 .85rem;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink);
  border:0;
  padding:0;
  font-weight:700;
}
.bo-play .bo-about p{
  margin:0 0 .85rem;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.55;
  max-width:none;
}
.bo-play .bo-about a{color:var(--accent)}
.bo-play .bo-about .bo-methods{color:var(--muted);font-size:.82rem}
.bo-play .bo-about .bo-lab-link{margin:1rem 0 0}
.bo-play .bo-about .bo-lab-link-note{color:var(--muted);font-size:.78rem}
.bo-play .bo-about .bo-sources{
  margin:1.15rem 0 0;
  padding-top:.75rem;
  border-top:1px solid var(--line);
  font-size:.68rem;
  line-height:1.45;
  font-weight:400;
  color:var(--muted);
  max-width:none;
}
.bo-play .bo-err{color:#8a2a1f}
.bo-play .bo-sorts{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 .7rem;font-size:.78rem;color:var(--muted)}
.bo-play .bo-sorts button{
  font:inherit;font-size:.7rem;padding:.25rem .5rem;border:1px solid var(--line);background:#fff;color:var(--muted);cursor:pointer
}
.bo-play .bo-sorts button.is-on{border-color:var(--ink);color:var(--ink)}
.bo-play .bo-note{color:var(--muted);font-size:.88rem;margin:0 0 .75rem;max-width:none}

.bo-play .bo-podium{
  display:grid;
  grid-template-columns:1fr 1.15fr 1fr;
  gap:.7rem;
  align-items:end;
  margin:0 0 1.35rem;
}
.bo-play .bo-podium .p{
  border:1px solid var(--line);
  background:#fff;
  padding:1rem .9rem .9rem;
  cursor:pointer;
  text-align:center;
  min-height:8.5rem;
}
.bo-play .bo-podium .p:hover{border-color:var(--ink)}
.bo-play .bo-podium .rk{
  margin:0;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:700
}
.bo-play .bo-podium .nm{
  margin:.35rem 0 .4rem;
  font-family:var(--sans);
  font-size:1.15rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.15;
}
.bo-play .bo-podium .p1{order:2;min-height:11.5rem;border-color:var(--ink)}
.bo-play .bo-podium .p1 .nm{font-size:1.45rem}
.bo-play .bo-podium .p2{order:1}
.bo-play .bo-podium .p3{order:3}
.bo-play .bo-podium .usd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}

@media(max-width:700px){
  .bo-play .bo-inner{padding-top:.85rem}
  .bo-play .bo-mast h1{font-size:2.05rem;letter-spacing:.14em}
  .bo-play .bo-dek{font-size:.82rem}
  .bo-play .bo-find-hint{display:none}
  .bo-play .bo-find{margin-bottom:.7rem}
  .bo-play .bo-navs{margin-bottom:.85rem}
  .bo-play .bo-hero{padding:1.1rem .9rem 1.15rem}
  .bo-play .bo-hero-num{font-size:2.35rem}
  .bo-play .bo-podium{grid-template-columns:1fr}
  .bo-play .bo-podium .p1,.bo-play .bo-podium .p2,.bo-play .bo-podium .p3{order:0;min-height:0}
  .bo-play .bo-bars li,
  .bo-play .bo-career button{grid-template-columns:1fr;gap:.15rem}
  .bo-play .bo-money{margin-left:0}
  .bo-play .bo-about{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .bo-play .bo-ticker-track{animation:none}
}
