/* Evolv-To: multimedia showcase. A dark screening room with the film, lyrics that follow the song, and a filmstrip. */

.mm { background: #0d0d0d; color: #fff; }
.mm .nav { background: rgba(13, 13, 13, 0.85); border-bottom-color: var(--line-dark); }
.mm .nav-links { color: rgba(255, 255, 255, 0.78); }
.mm .nav-toggle span { background: #fff; }
.mm .nav.open .nav-links { background: #0d0d0d; border-bottom-color: var(--line-dark); }
.mm .btn-outline { color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.mm .btn-dark { background: #fff; color: var(--ink); }
.mm .eyebrow { background: rgba(255, 255, 255, 0.08); color: #fff; }
.mm .eyebrow::before { background: var(--accent); }
.mm .statement { color: rgba(255, 255, 255, 0.78); }
.mm .lead { color: var(--muted-dark); }
.mm .crumbs a { color: rgba(255, 255, 255, 0.6); }

/* Hero */
.mm-hero { padding: calc(var(--nav-h) + 4rem) var(--gutter) 2.5rem; display: grid; grid-template-columns: 1.15fr 1fr; gap: 3rem; align-items: end; }
.mm-hero .facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 2rem; border-top: 1px solid var(--line-dark); padding-top: 1.25rem; }
.mm-hero .facts .k { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-dark); }
.mm-hero .facts .v { font-weight: 600; margin-top: 0.15rem; }
.mm-hero .facts .v a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.3); }

/* Screening room: film on the left, the song on the right */
.screen { padding: 0 var(--gutter) 5rem; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr); gap: 1.5rem; align-items: stretch; }
.film { position: relative; border-radius: var(--r-lg); overflow: hidden; background: #000; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.9); }
.film video { width: 100%; aspect-ratio: 16 / 9; display: block; background: #000; }
.film .start { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0, 0, 0, 0.25); cursor: pointer; border: 0; padding: 0; color: #fff; transition: opacity 0.4s; }
.film .start span { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: var(--accent); box-shadow: 0 20px 50px -10px rgba(175, 58, 78, 0.8); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.film .start:hover span { transform: scale(1.08); }
.film .start svg { width: 34px; height: 34px; margin-left: 5px; }
.film.playing .start, .film.started .start { opacity: 0; pointer-events: none; }
.film .bar { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; background: linear-gradient(to top, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0)); opacity: 0; transition: opacity 0.3s; }
.film.started:hover .bar, .film.started:focus-within .bar, .film.started.paused .bar { opacity: 1; }
.film .ctl { background: none; border: 0; color: #fff; cursor: pointer; padding: 0.35rem; display: grid; place-items: center; border-radius: 6px; }
.film .ctl:hover { background: rgba(255, 255, 255, 0.12); }
.film .ctl svg { width: 20px; height: 20px; }
.film .ctl .alt { display: none; }
.film.playing .ctl.play .main { display: none; }
.film.playing .ctl.play .alt { display: block; }
.film.muted .ctl.mute .main { display: none; }
.film.muted .ctl.mute .alt { display: block; }
.film .time { font-family: var(--font-head); font-size: 0.85rem; font-variant-numeric: tabular-nums; color: rgba(255, 255, 255, 0.85); min-width: 84px; }
.film .seek { flex: 1; height: 22px; display: flex; align-items: center; cursor: pointer; }
.film .seek .track { position: relative; width: 100%; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, 0.25); }
.film .seek .fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 2px; background: var(--accent); }
.film .seek .buf { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 2px; background: rgba(255, 255, 255, 0.2); }

.song-col { position: relative; min-height: 0; }
.song { position: absolute; inset: 0; border: 1px solid var(--line-dark); border-radius: var(--r-lg); background: #141414; display: flex; flex-direction: column; min-height: 0; }
.song .head { padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--line-dark); display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.song .head h2 { font-size: 1.1rem; font-weight: 600; }
.song .head .note { font-size: 0.78rem; color: var(--muted-dark); }
.lyrics { flex: 1; min-height: 0; overflow-y: auto; padding: 1.25rem 1.4rem 40%; scrollbar-width: thin; scroll-behavior: smooth; }
.lyrics .part { font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted-dark); margin: 1.4rem 0 0.5rem; }
.lyrics .part:first-child { margin-top: 0; }
.lyrics ol { list-style: none; padding: 0; margin: 0; }
.lyrics li { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: 1.12rem; line-height: 1.5; color: rgba(255, 255, 255, 0.42); padding: 0.18rem 0; cursor: pointer; transition: color 0.35s, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1); }
.lyrics li:hover { color: rgba(255, 255, 255, 0.8); }
.lyrics li.on { color: #fff; transform: translateX(6px); }
.lyrics li.past { color: rgba(255, 255, 255, 0.6); }

/* Filmstrip */
.strip-wrap { padding: 0 0 5rem; }
.strip-wrap .head-2 { padding: 0 var(--gutter); margin-bottom: 1.25rem; display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.strip { display: flex; gap: 0.75rem; overflow-x: auto; padding: 0.25rem var(--gutter) 1rem; scrollbar-width: thin; }
.strip button { flex: 0 0 240px; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; color: #fff; }
.strip button img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; border-radius: 6px; border: 1px solid var(--line-dark); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s; }
.strip button:hover img, .strip button.on img { transform: translateY(-4px); border-color: var(--accent); }
.strip button .tc { display: block; font-family: var(--font-head); font-size: 0.78rem; color: var(--muted-dark); margin-top: 0.4rem; font-variant-numeric: tabular-nums; }
.strip button.on .tc { color: #fff; }

/* What we made */
.mm-made { padding: 5rem var(--gutter); border-top: 1px solid var(--line-dark); display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.mm-made .cols { display: grid; gap: 1.5rem; }
.mm-made .col { border-top: 1px solid var(--line-dark); padding-top: 1rem; }
.mm-made .col h3 { font-size: 1.05rem; margin-bottom: 0.35rem; }
.mm-made .col p { color: rgba(255, 255, 255, 0.7); font-size: 0.95rem; line-height: 1.55; }
.mm-quote { padding: 4rem var(--gutter) 5rem; text-align: center; }
.mm-quote p { font-family: 'Newsreader', Georgia, serif; font-style: italic; font-size: clamp(1.6rem, 3.4vw, 2.8rem); line-height: 1.3; max-width: 20ch; margin: 0 auto; }
.mm-quote .from { margin-top: 1rem; font-size: 0.78rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted-dark); font-family: var(--font-body); font-style: normal; }
.mm .next-site { border-top-color: var(--line-dark); }
.mm .next-site a { color: #fff; }

@media (max-width: 1000px) {
    .mm-hero, .screen, .mm-made { grid-template-columns: 1fr; }
    .song { position: static; }
    .lyrics { max-height: 380px; }
    .strip button { flex-basis: 200px; }
    .film .time { display: none; }
}
