{
  "$schema": "https://mian.ro/schema/v2/registry.json",
  "schemaVersion": "2.0.0",
  "generatedAt": "2026-10-02T13:14:06.957Z",
  "id": "testimonial",
  "name": "Testimonial",
  "category": "Sections",
  "description": "One large pull quote, or a wall of short customer quotes.",
  "tags": [
    "testimonial",
    "quote",
    "review",
    "customer",
    "social proof",
    "pull quote",
    "wall of love"
  ],
  "requiresJs": false,
  "license": "LicenseRef-MIAN-1.0",
  "composition": {
    "role": "proof",
    "intents": [
      "customer quote",
      "testimonials",
      "reviews",
      "social proof",
      "pull quote",
      "press quote"
    ],
    "prominence": "medium",
    "density": "low",
    "worksAfter": [
      "bento",
      "feature-grid",
      "process"
    ],
    "worksBefore": [
      "pricing",
      "cta",
      "faq"
    ],
    "alternatives": [
      "figures",
      "logo-cloud",
      "review-summary"
    ],
    "avoid": "Never invent quotes, names or roles. One specific, attributed quote beats a wall of vague ones."
  },
  "url": "https://mian.ro/components/testimonial",
  "markdownUrl": "https://mian.ro/ai/components/testimonial.md",
  "classes": [
    {
      "name": "mn-quote",
      "description": "A <figure> with a large <blockquote> and a <figcaption> (avatar, name, role). mn-quote-center centres it."
    },
    {
      "name": "mn-testimonials",
      "description": "A masonry wall of mn-testimonial cards: 1, 2, then 3 columns."
    },
    {
      "name": "mn-testimonial",
      "description": "A short quote. Add mn-card for the noodle’s surface."
    }
  ],
  "accessibility": [
    "Use <figure>, <blockquote> and <figcaption> so the quote and its author are associated.",
    "Name real people with their permission; never invent quotes."
  ],
  "examples": [
    {
      "title": "Pull quote",
      "description": null,
      "html": "<section class=\"mn-section mn-section-sm\"><div class=\"mn-container\">\n  <figure class=\"mn-quote\">\n    <blockquote><p>“We used to lose the last week of every month to reconciliations. Now the close is a Tuesday meeting.”</p></blockquote>\n    <figcaption><span class=\"mn-avatar\">MR</span><span><strong>Maren Richter</strong><small>Head of Finance, Halden &amp; Co</small></span></figcaption>\n  </figure>\n</div></section>"
    },
    {
      "title": "Testimonial wall",
      "description": null,
      "html": "<section class=\"mn-section mn-section-sm\"><div class=\"mn-container mn-testimonials\">\n  <figure class=\"mn-card mn-testimonial\"><blockquote><p>Setup took an afternoon. The first close took three days instead of eleven.</p></blockquote><figcaption><span class=\"mn-avatar mn-avatar-sm\">JO</span><span><strong>Jonas Olsen</strong><small>Controller, Kestrel</small></span></figcaption></figure>\n  <figure class=\"mn-card mn-testimonial\"><blockquote><p>The audit trail is the feature. Our auditors asked which tool we were using.</p></blockquote><figcaption><span class=\"mn-avatar mn-avatar-sm\">AP</span><span><strong>Ana Popescu</strong><small>CFO, Orbital</small></span></figcaption></figure>\n  <figure class=\"mn-card mn-testimonial\"><blockquote><p>Eight entities, four currencies, one person. That used to be impossible.</p></blockquote><figcaption><span class=\"mn-avatar mn-avatar-sm\">LK</span><span><strong>Lea Kim</strong><small>Finance lead, Marrow</small></span></figcaption></figure>\n</div></section>"
    }
  ],
  "css": ".mn-quote { display: grid; gap: 1.75rem; max-width: 54rem; margin: 0; }\n.mn-quote blockquote { margin: 0; }\n.mn-quote blockquote p { margin: 0; font: var(--mn-heading-weight) clamp(1.45rem, 1.05rem + 1.9cqi, 2.45rem)/1.25 var(--mn-font-heading); letter-spacing: -.022em; color: var(--mn-fg); text-wrap: pretty; }\n.mn-quote-center { margin-inline: auto; text-align: center; justify-items: center; }\n.mn-quote figcaption, .mn-testimonial figcaption { display: flex; align-items: center; gap: .8rem; font-size: .9375rem; line-height: 1.35; }\n.mn-quote figcaption > span, .mn-testimonial figcaption > span { display: grid; text-align: start; }\n.mn-quote figcaption strong, .mn-testimonial figcaption strong { color: var(--mn-fg); font-weight: 600; }\n.mn-quote figcaption small, .mn-testimonial figcaption small { color: var(--mn-muted); font-size: .875rem; }\n.mn-testimonials { columns: 1; column-gap: 1rem; }\n@container mn (min-width: 44rem) { .mn-testimonials { columns: 2; } }\n@container mn (min-width: 66rem) { .mn-testimonials { columns: 3; } }\n.mn-testimonial { display: grid; gap: 1.1rem; margin: 0 0 1rem; padding: 1.4rem; break-inside: avoid; }\n.mn-testimonial blockquote { margin: 0; }\n.mn-testimonial blockquote p { margin: 0; line-height: 1.6; font-size: .9688rem; }",
  "js": null,
  "install": {
    "css": "https://mian.ro/dist/mian.css",
    "js": null,
    "registryItem": "https://mian.ro/r/testimonial.json"
  }
}
