/* /demos/: one card per demo, film first. Tokens from /tokens.css, page frame from /solutions/solutions.css. */
.dm .sub{font-size:19px;max-width:40em;margin:0 0 40px;color:var(--color-ink-2)}
.dm .grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:48px 32px}
.dm .grid li{display:flex;flex-direction:column;gap:20px;margin:0}
.dm .grid li.big{grid-column:1/-1;display:grid;grid-template-columns:8fr 4fr;gap:32px;align-items:center}
.dm video,.dm .still{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--color-ink);transition:transform .25s}
.dm li:hover video{transform:scale(1.01)}
.dm .still{display:flex;flex-direction:column;justify-content:center;padding:32px;color:var(--color-paper);gap:8px}
.dm .still b{font-family:var(--font-display);font-size:clamp(28px,3.4vw,44px);letter-spacing:-0.02em}
.dm .still span{color:var(--color-paper-3);font-size:17px}
.dm h3{font-size:clamp(22px,2vw,28px);line-height:1.1;margin:10px 0 10px}
.dm .grid p{margin:0 0 14px;max-width:34em}
.dm .go{color:var(--color-accent);font-weight:600;text-decoration:none;margin-right:20px}
.dm .go:hover{text-decoration:underline}
.dm .tag{display:inline-block;font:500 13px var(--font-mono);padding:4px 8px;background:var(--color-paper-2);color:var(--color-ink-2)}
.dm .tag.sim{background:var(--color-accent-soft);color:var(--color-accent-2)}
.dm .why p{color:var(--color-paper-3);max-width:36em;margin:0 0 28px}
@media (max-width:860px){.dm .grid,.dm .grid li.big{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.dm video{transition:none}.dm li:hover video{transform:none}}
.hero{min-height:0;padding-top:24px;padding-bottom:24px}
