.cinema-output {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 52%, rgba(91, 63, 212, .22), transparent 28rem),
    linear-gradient(145deg, #07070a 0%, #100b1e 52%, #060608 100%);
}
.cinema-output::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 3rem 3rem;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}
.cinema-output > * { position: relative; z-index: 1; }
.cinema-output > header { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.68fr); column-gap: 5vw; align-items: end; }
.cinema-output > header > p,
.cinema-output > header > h2 { grid-column: 1; }
.cinema-output > header > h2 { margin-bottom: 0; }
.cinema-output > header > span { grid-column: 2; grid-row: 1 / span 2; color: rgba(255,255,255,.75); font-size: clamp(1rem,1.2vw,1.18rem); line-height: 1.7; }
.cinema-output-stage { grid-template-columns: minmax(15rem,.48fr) minmax(0,1.52fr); margin-top: clamp(3rem,7vw,5.5rem); gap: clamp(2rem,5vw,5rem); }
.cinema-output-core {
  position: sticky;
  top: 9rem;
  align-self: start;
  width: min(100%, 25rem);
  border: 1px solid rgba(139, 92, 246, .72);
  background: radial-gradient(circle at 50% 42%, rgba(91,63,212,.48), rgba(12,10,19,.96) 68%);
  box-shadow: 0 0 0 1rem rgba(91,63,212,.055), 0 2rem 5rem rgba(0,0,0,.48), inset 0 0 3rem rgba(139,92,246,.16);
}
.cinema-output-core::after { content:""; position:absolute; inset:8%; border:1px dashed rgba(255,255,255,.18); border-radius:50%; }
.cinema-output-core small { grid-area:1/1; align-self:start; margin-top:24%; color:#c9baff; font-size:.64rem; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }
.cinema-output-core span { margin-top:-.25rem; color:#fff!important; text-shadow:0 0 2.5rem rgba(139,92,246,.72); }
.cinema-output-core strong { margin-top:4.6rem; color:#fff; }
.cinema-output-core i { grid-area:1/1; align-self:end; margin-bottom:23%; color:rgba(255,255,255,.58); font-size:.72rem; font-style:normal; letter-spacing:.08em; }
.cinema-output .cinema-output-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0; padding:0; }
.cinema-output .cinema-output-grid li {
  display:grid;
  grid-template-columns:2.2rem minmax(0,1fr);
  gap:.85rem;
  min-height:10.2rem;
  padding:1.3rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:.8rem;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));
  box-shadow:inset 0 1px rgba(255,255,255,.06);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.cinema-output .cinema-output-grid li:hover { transform:translateY(-.25rem); border-color:rgba(139,92,246,.72); background:linear-gradient(145deg,rgba(91,63,212,.24),rgba(255,255,255,.025)); }
.cinema-output-grid b { display:grid; place-items:center; align-self:start; width:2.2rem; aspect-ratio:1; border:1px solid rgba(139,92,246,.72); border-radius:50%; color:#c9baff; font-size:.68rem; }
.cinema-output-grid small { display:block; margin:.15rem 0 .48rem; color:#a98df5; font-size:.65rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.cinema-output-grid strong { display:block; color:#fff; font-size:clamp(1.05rem,1.35vw,1.35rem); line-height:1.18; }
.cinema-output-grid p { margin:.75rem 0 0; color:rgba(255,255,255,.66); font-size:.9rem!important; line-height:1.55; }
.cinema-output > blockquote { display:grid; grid-template-columns:minmax(15rem,.48fr) minmax(0,1.52fr); gap:clamp(2rem,5vw,5rem); align-items:start; border-color:#8b5cf6; }
.cinema-output > blockquote strong { color:#fff; font-size:clamp(1.25rem,1.8vw,1.8rem); }
.cinema-output > blockquote span { color:rgba(255,255,255,.72); font-size:clamp(1rem,1.3vw,1.18rem); line-height:1.65; }
@media(max-width:850px) {
  .cinema-output > header { grid-template-columns:1fr; }
  .cinema-output > header > span { grid-column:1; grid-row:auto; margin-top:1.4rem; }
  .cinema-output-stage { grid-template-columns:1fr; }
  .cinema-output-core { position:relative; top:auto; width:min(70vw,22rem); margin-inline:auto; }
  .cinema-output > blockquote { grid-template-columns:1fr; gap:.8rem; }
}
@media(max-width:600px) {
  .cinema-output .cinema-output-grid { grid-template-columns:1fr; }
  .cinema-output .cinema-output-grid li { min-height:0; }
  .cinema-output-core { width:min(78vw,19rem); }
}
