.agg-icon-visual { display: grid; place-items: center; gap: 20px; padding: 48px 24px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); margin: 0; }
.agg-icon-visual img { width: min(80%, 300px); height: auto; border-radius: 22%; }
.agg-icon-visual figcaption { text-align: center; }
.agg-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.agg-workflow article, .agg-video-card { min-width: 0; border: 1px solid var(--line); border-radius: 16px; padding: 24px; background: var(--surface); overflow-wrap: anywhere; }
.agg-video-grid, .agg-download-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.agg-demos, .agg-video-card { scroll-margin-top: 8rem; }
.agg-video-card h3 { margin-top: 0; }
.agg-video-card video { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; background: #f5f2ea; border-radius: 10px; }
.agg-sample-note { padding: 12px 16px; border-left: 3px solid var(--accent, #986e2a); background: var(--surface); font-weight: 600; }
.agg-video-card .button-link { max-width: 100%; white-space: normal; text-align: center; }
@media (max-width: 1000px) { .agg-workflow { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .agg-video-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .agg-download-grid { grid-template-columns: 1fr; } .agg-workflow article, .agg-video-card { padding: 16px; } }
.agg-store-badge { display: block; margin: 20px 0; }
.agg-store-badge img { display: block; width: 190px; max-width: 100%; height: auto; }
