/* Recomendações de clientes: faixa de depoimentos (3 por vez no computador, 2 no tablet, 1 no celular).
   Só vira carrossel quando há mais depoimentos do que cabem na tela; sem JavaScript, tudo aparece empilhado. */
.s-car { margin-top: 44px; }
.s-car-vp { overflow: hidden; border-radius: 26px; }
.s-car-tr { display: flex; flex-wrap: wrap; gap: 14px; }
.js .s-car-tr { flex-wrap: nowrap; transition: transform .7s cubic-bezier(.4, 0, .2, 1); }
.s-rec { flex: 0 0 calc((100% - 28px) / 3); background: linear-gradient(180deg, #14161c, #0d0e12); border: 1px solid var(--line); border-radius: 26px; padding: 28px; display: flex; flex-direction: column; gap: 18px; margin: 0; position: relative; }
.s-rec::before { content: "\201C"; display: block; font-size: 54px; line-height: .6; color: var(--blue-text); font-weight: 700; height: 24px; }
.s-rec blockquote { margin: 0; font-size: 16px; line-height: 1.55; letter-spacing: -.005em; }
.js .s-rec blockquote { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 7; line-clamp: 7; overflow: hidden; height: calc(7 * 1.55em); }
.s-rec .uso { position: absolute; top: 26px; right: 26px; font-size: 11px; font-weight: 600; color: var(--blue-text); background: rgba(41,151,255,.12); padding: 3px 9px; border-radius: 999px; white-space: nowrap; }
.s-rec .mais { align-self: flex-start; background: none; border: 0; padding: 0; color: var(--blue-text); font: 600 14px var(--font); cursor: pointer; }
.s-rec .mais:hover { text-decoration: underline; }
.s-rec figcaption { margin-top: auto; display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding-top: 16px; }
.s-rec .av, .s-dlg .av { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; border: 1px solid var(--line2); }
.s-rec .n, .s-dlg .n { display: block; font-size: 15px; line-height: 1.35; }
.s-rec b, .s-dlg b { display: block; font-size: 13.5px; line-height: 1.35; color: var(--fg2); }
.s-rec small, .s-dlg small { display: block; color: var(--fg3); font-size: 13px; line-height: 1.35; }
.s-car-ctl { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 22px; }
.s-car-ctl[hidden] { display: none; }
.s-car-dots { display: flex; gap: 8px; }
.s-car-dots button { width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: rgba(255,255,255,.25); cursor: pointer; transition: width .3s, background .3s; }
.s-car-dots button[aria-current="true"] { width: 26px; background: var(--blue-text); }
.s-car-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line2); background: transparent; color: var(--fg); cursor: pointer; display: grid; place-items: center; }
.s-car-btn:hover { background: rgba(255,255,255,.06); }
.s-car-btn svg { width: 18px; height: 18px; }
.s-car button:focus-visible, .s-dlg button:focus-visible { outline: 2px solid var(--blue-text); outline-offset: 3px; }
.s-dlg { border: 1px solid var(--line2); border-radius: 26px; background: #101217; color: var(--fg); padding: 32px; width: min(640px, calc(100% - 32px)); max-height: 86vh; overflow: auto; }
.s-dlg::backdrop { background: rgba(0,0,0,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.s-dlg q { display: block; quotes: none; font-size: 18px; line-height: 1.6; letter-spacing: -.005em; margin-bottom: 22px; }
.s-dlg .quem { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--line); padding-top: 18px; }
.s-dlg .av { width: 52px; height: 52px; }
.s-dlg .fechar { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--line2); background: transparent; color: var(--fg); cursor: pointer; font-size: 18px; }
@media (max-width: 1100px) { .s-rec { flex-basis: calc((100% - 14px) / 2); } }
@media (max-width: 700px) { .s-rec { flex-basis: 100%; } .s-dlg { padding: 26px 22px; } }
@media (prefers-reduced-motion: reduce) { .js .s-car-tr { transition: none; } }
/* o link novo do menu não cabe na barra em telas médias: aperta o espaço e, abaixo de 1000px, sai da barra (a seção continua na página) */
