/* Quotes carousel: uses theme tokens so all 8 styles inherit their own surface/shape. */
[data-quotes] .bd-quote{min-height:clamp(260px,28vw,300px);align-content:space-between}
[data-quotes] .bd-quote__text{max-width:46ch;font-size:clamp(18px,1.9vw,24px)}
[data-quotes] .bd-quote__by{justify-content:space-between;gap:10px 16px}
[data-quotes] .bd-quote__who{display:grid;gap:2px}
[data-quotes] .bd-quote__name{color:var(--bd-fg);font-weight:650;font-size:15px}
[data-quotes] .bd-quote__role{color:var(--bd-fg-3);font-size:14px}
[data-quotes] .bd-quote__tag{margin:0}
[data-quotes] .bd-quote.is-in .bd-quote__text,[data-quotes] .bd-quote.is-in .bd-quote__by{animation:bdQIn .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes bdQIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
[data-quotes] .bd-dots{align-items:center;gap:0;flex-wrap:wrap}
[data-quotes] .bd-qdot{appearance:none;border:0;background:transparent;padding:0;width:44px;height:44px;display:inline-grid;place-items:center;cursor:pointer;border-radius:50%}
[data-quotes] .bd-qdot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bd-border-2);transition:background .2s,transform .2s}
[data-quotes] .bd-qdot.on::before{background:var(--bd-accent);transform:scale(1.3)}
[data-quotes] .bd-qdot:focus-visible,[data-quotes] .bd-quote:focus-visible{outline:2px solid var(--bd-focus,currentColor);outline-offset:2px}
html[data-theme="extrude"] [data-quotes] .bd-qdot::before{background:var(--bd-surface);box-shadow:inset 1px 1px 2px var(--ex-lo),inset -1px -1px 2px var(--ex-hi)}
html[data-theme="frost"] [data-quotes] .bd-qdot::before{background:rgba(40,50,130,.3)}
html[data-theme="gel"] [data-quotes] .bd-qdot::before{background:#c7bdf0}

html[data-theme="primitives"] [data-quotes] .bd-qdot::before{box-shadow:0 0 0 2px var(--pr-ink);background:var(--bd-surface)}
html[data-theme="extrude"] [data-quotes] .bd-qdot.on::before{background:var(--bd-accent)}
html[data-theme="frost"] [data-quotes] .bd-qdot.on::before{background:var(--fr-cobalt)}
html[data-theme="gel"] [data-quotes] .bd-qdot.on::before{background:var(--gl-violet)}

html[data-theme="primitives"] [data-quotes] .bd-qdot.on::before{background:var(--pr-or)}
[data-quotes] .bd-carousel__ctl .bd-small{white-space:nowrap}
@media(max-width:480px){[data-quotes] .bd-dots{display:none}}
@media(max-width:560px){[data-quotes] .bd-carousel__ctl{flex-wrap:wrap}[data-quotes] .bd-dots{order:3;flex-basis:100%;margin:4px 0 0}}
@media(prefers-reduced-motion:reduce){[data-quotes] .bd-quote.is-in .bd-quote__text,[data-quotes] .bd-quote.is-in .bd-quote__by{animation:none}[data-quotes] .bd-qdot::before{transition:none}}
