/* Public testimonials UI (home carousel + list page). Scoped with .tm- prefix; no build step needed. */
.tm-card{position:relative;display:flex;flex-direction:column;gap:1rem;height:100%;padding:1.5rem 1.5rem 1.25rem;border-radius:1.25rem;background:#fff;box-shadow:0 1px 2px rgb(43 11 8/.06),0 8px 24px -12px rgb(43 11 8/.18);border:1px solid rgb(74 19 13/.07)}
.tm-card::before{content:"\201C";position:absolute;top:.35rem;right:1.1rem;font:700 5rem/1 Poppins,serif;color:#f3dd95;opacity:.7;pointer-events:none}
.tm-quote{margin:0;font-size:1.0625rem;line-height:1.65;color:#2b0b08;max-width:65ch;text-wrap:pretty;position:relative;flex:1}
.tm-quote.is-clamped{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.tm-more{align-self:flex-start;font-size:.8125rem;font-weight:600;color:#8f2418;text-decoration:underline;text-underline-offset:3px}
.tm-more:hover{color:#6e1c13}
.tm-who{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid rgb(74 19 13/.08)}
.tm-avatar{flex:none;width:3rem;height:3rem;border-radius:9999px;object-fit:cover;background:#fbe1de;box-shadow:0 0 0 2px #fff,0 0 0 3px #f3dd95}
.tm-initial{display:flex;align-items:center;justify-content:center;font:700 1.125rem Poppins,sans-serif;color:#8f2418;background:linear-gradient(135deg,#fbe1de,#faf0cc)}
.tm-name{font:600 .9375rem/1.3 Poppins,sans-serif;color:#2b0b08;margin:0}
.tm-meta{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin-top:.25rem}
.tm-badge{display:inline-block;padding:.125rem .55rem;border-radius:9999px;font-size:.6875rem;font-weight:600;line-height:1.4;background:#fdf9ec;color:#7a5a0b;box-shadow:inset 0 0 0 1px #f3dd95}
.tm-badge--level{background:#fbe1de;color:#6e1c13;box-shadow:inset 0 0 0 1px #f7c3bd}
.tm-batch{font-size:.75rem;color:#6e1c13;opacity:.8;align-self:center}

/* Carousel (scroll-snap; works without JS) */
.tm-carousel{position:relative}
.tm-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.5rem .25rem 1.5rem;margin:0 -.25rem;list-style:none;overscroll-behavior-x:contain}
.tm-track::-webkit-scrollbar{display:none}
.tm-slide{flex:0 0 88%;scroll-snap-align:start;min-width:0}
@media(min-width:768px){.tm-slide{flex-basis:calc((100% - 1.5rem)/2)}}
@media(min-width:1024px){.tm-slide{flex-basis:calc((100% - 3rem)/3)}}
.tm-track:focus-visible{outline:3px solid #d1402b;outline-offset:4px;border-radius:1rem}
.tm-controls{display:none;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}
.tm-carousel.is-enhanced .tm-controls{display:flex}
.tm-btn{width:2.75rem;height:2.75rem;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#4a130d;border:1px solid rgb(74 19 13/.15);cursor:pointer;transition:background .2s,color .2s}
.tm-btn:hover{background:#4a130d;color:#fff}
.tm-btn:focus-visible{outline:3px solid #d1402b;outline-offset:2px}
.tm-btn svg{width:1.125rem;height:1.125rem}
.tm-count{font-size:.8125rem;color:#6e1c13;min-width:4rem;text-align:center;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:no-preference){.tm-track{scroll-behavior:smooth}.tm-card{transition:box-shadow .3s,transform .3s}.tm-card:hover{transform:translateY(-3px)}}

/* List page */
.tm-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.tm-chip{display:inline-flex;align-items:center;min-height:2.5rem;padding:.4rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:600;background:#fdf3f2;color:#6e1c13;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.tm-chip:hover{background:#fbe1de}
.tm-chip:focus-visible{outline:3px solid #d1402b;outline-offset:2px}
.tm-chip[aria-pressed=true],.tm-chip[aria-current=page]{background:#4a130d;color:#fff}
.tm-filter-group[hidden]{display:none}
.tm-filter-label{font-size:.8125rem;font-weight:600;color:#6e1c13;margin-right:.25rem;align-self:center}
.tm-columns{columns:1;column-gap:1.5rem}
@media(min-width:768px){.tm-columns{columns:2}}
@media(min-width:1100px){.tm-columns{columns:3}}
.tm-columns>.tm-item{break-inside:avoid;margin-bottom:1.5rem}
.tm-item[hidden]{display:none}
.tm-item:target .tm-card{box-shadow:0 0 0 3px #d1402b}
.tm-empty{text-align:center;padding:4rem 1rem;max-width:34rem;margin:0 auto;color:#6e1c13}
.tm-cta{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;justify-content:space-between;padding:2rem;border-radius:1.5rem;background:#4a130d;color:#fff}
@media(min-width:768px){.tm-cta{flex-direction:row;align-items:center;padding:2.5rem 3rem}}
.tm-hero-lead{max-width:65ch}
