/* A screening room and open contact sheet, using the production brand tokens. */
.ice-intro .section-inner, .ice-gallery, .ice-next .section-inner { width: calc(100% - 2 * var(--space-4)); }
.ice-intro { padding: var(--space-5) 0 0; }
.ice-back { display: inline-block; margin-bottom: var(--space-4); color: var(--purple); }
.ice-heading { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); margin-bottom: 0; }
.ice-heading h1 { font-size: clamp(3.8rem, 8vw, 6rem); margin: 0; letter-spacing: -.045em; }
#mac-title { font-size: clamp(2.5rem, 7vw, 6rem); overflow-wrap: anywhere; }
.ice-heading p { max-width: 70ch; margin-bottom: var(--space-2); }
.ice-heading .kicker { margin-bottom: var(--space-3); }
.ice-gallery figure { margin: 0; min-width: 0; }
.ice-feature { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); width: 100%; min-width: 0; }
.ice-player { position: relative; display: grid; }
.ice-player > video, .ice-player > .ice-preview { grid-area: 1 / 1; align-self: start; aspect-ratio: var(--media-ratio); }
.ice-player video, .ice-preview { width: 100%; border: 1px solid var(--ink); border-radius: var(--radius-card); background: var(--white); box-shadow: var(--shadow-card); }
.ice-player video { display: block; height: auto; }
.ice-player [hidden] { display: none; }
.ice-preview { position: relative; }
.ice-preview img { display: block; width: 100%; height: auto; }
.ice-play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; border-radius: var(--radius-card); background: transparent; cursor: pointer; }
.ice-play-icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: calc(var(--space-6) + var(--space-5)); height: calc(var(--space-6) + var(--space-5)); border: 1px solid var(--ink); border-radius: var(--radius-ctl); background: var(--purple); color: var(--white); box-shadow: var(--shadow-action); pointer-events: none; }
.ice-play:hover .ice-play-icon { background: var(--purple-deep); }
.ice-play:focus-visible { outline: 3px solid var(--white); outline-offset: 2px; box-shadow: 0 0 0 7px var(--ink); }
.ice-loop-toggle { position: relative; z-index: 1; grid-area: 1 / 1; display: grid; place-items: center; width: 100%; height: 100%; padding: 0; border: 0; border-radius: var(--radius-card); background: transparent; color: var(--white); cursor: pointer; }
.ice-loop-icon { display: grid; place-items: center; width: var(--space-6); height: var(--space-6); border-radius: var(--radius-ctl); background: color-mix(in srgb, var(--ink) 72%, transparent); opacity: 0; pointer-events: none; transition: opacity 800ms var(--ease-out); }
.ice-loop-toggle:focus-visible { outline: 3px solid var(--white); outline-offset: 2px; box-shadow: 0 0 0 7px var(--ink); }
.ice-loop-toggle:focus-visible .ice-loop-icon,
.ice-loop-toggle[data-feedback] .ice-loop-icon,
.ice-player[data-loading-visible="true"] .ice-loop-icon,
.ice-player[data-state="error"] .ice-loop-icon { opacity: 1; transition-duration: 120ms; }
.ice-control-cancel, .ice-control-loading { display: none; }
.ice-loop-toggle[data-playing="true"] .ice-control-play,
.ice-loop-toggle[data-playing="false"] .ice-control-pause,
[data-pending="true"] .ice-control-play,
[data-pending="true"] .ice-control-pause { display: none; }
[data-pending="true"] .ice-control-cancel { display: block; }
.ice-player[data-state="loading"] .ice-control-loading { display: block; transform-origin: center; animation: ice-loading 1s linear infinite; }
.ice-player[data-state="loading"] [data-pending="false"] .ice-control-pause { display: block; }
.ice-player[data-state="loading"] [data-pending="false"] .ice-control-play { display: none; }
@keyframes ice-loading { to { transform: rotate(360deg); } }
.ice-player .ice-status-loading { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) and (not (any-pointer: coarse)) {
  .ice-loop-toggle:hover .ice-loop-icon { opacity: 1; transition-duration: 120ms; }
}
.ice-player-status { grid-row: 2; padding-top: var(--space-3); }
.ice-gallery { display: grid; gap: var(--space-5); padding: var(--space-5) 0; }
.mac-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); align-items: start; }
.mac-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mac-trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ice-pair { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
.ice-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.ice-detail-grid > figure { grid-column: 1 / -1; }
.ice-detail-grid > .ice-detail-half { grid-column: auto; }
.ice-still-image { display: block; width: 100%; height: auto; border: 1px solid var(--ink); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.ice-still-technician .ice-still-image { aspect-ratio: 16 / 9; height: 100%; object-fit: cover; object-position: center 58%; }
.ice-ad-pair { display: grid; grid-template-columns: 968fr 786fr; gap: var(--space-5); align-items: start; }
.ice-ad-pair img { display: block; width: 100%; height: auto; border: 1px solid var(--line); }
.ice-next { background: var(--bg); padding: var(--space-6) 0; }
.ice-next .section-inner { display: flex; justify-content: space-between; align-items: center; gap: var(--space-5); }
.ice-next h2 { margin: 0; }
@media (max-width: 700px) {
  .ice-back { margin-bottom: var(--space-5); }
  .ice-heading, .ice-pair, .ice-feature { grid-template-columns: 1fr; }
  .ice-heading { gap: var(--space-4); }
  .ice-next .section-inner { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .ice-player *, .ice-next * { transition: none; animation: none; }
  .ice-player[data-state] .ice-control-loading { animation: none; }
  .ice-player .ice-loop-toggle .ice-loop-icon { transition: none; }
}
