.tm-demos { padding: 92px 0; background: #fff; }
.tm-demo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.tm-demo { overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-radius: 7px; }
.tm-demo-media { aspect-ratio: 600 / 1339; display: grid; place-items: center; overflow: hidden; background: #e8f1f3; }
.tm-demo-media img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center top; }
.tm-demo-copy { padding: 20px; }
.tm-demo-copy h3 { margin: 0 0 8px; font-size: 21px; }
.tm-demo-copy p { margin-bottom: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
@media (max-width: 780px) { .tm-demos { padding: 68px 0; } .tm-demo-grid { grid-template-columns: 1fr; } }