/* Shared criteria slider, preserved by the psg/criteria pattern. */
.crit { --criterion-color:var(--teal); display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:32px; align-items:center; background:var(--paper-raised,#fff); border:1px solid var(--rule,#cbd5dc); border-radius:16px; padding:32px; margin:36px 0; box-shadow:0 6px 24px rgba(23,33,43,.035); }
.crit .crit__title { font:600 1.45rem/1.25 var(--sans); letter-spacing:-.025em; margin:0 0 10px; }
.crit .crit__lead { font-size:.9rem; color:var(--ink-soft); margin:0 0 24px; }
.crit .crit__slides { padding:0; margin:0 0 20px; list-style:none; }
.crit .crit__slide { padding:0; margin:0; }
.js .crit .crit__slide { min-height:128px; }
.crit .crit__head { display:flex; align-items:center; gap:16px; font:600 1rem/1.4 var(--sans); margin:0 0 12px; }
.crit .crit__pct { display:inline-block; margin:0; flex:none; font:600 2.5rem/1.1 var(--sans); letter-spacing:-.05em; color:var(--criterion-color); }
.crit .crit__slide > p:last-child { font-size:.95rem; color:var(--ink-soft); margin:0; }
.crit .crit__nav { gap:12px; margin:0; flex-wrap:wrap; }
.crit .crit__btn { width:40px; height:40px; border-radius:50%; background:var(--paper,#f3f5f6); box-shadow:none; transition:background 160ms ease,color 160ms ease; }
.crit .crit__btn:hover { background:var(--teal); color:#fff; border-color:var(--teal); }
.crit [data-prev] .icon { transform:rotate(180deg); }
.crit [data-prev] .icon--flip { transform:rotate(180deg); }
.crit .crit__count { font:500 .8rem/1.4 var(--mono); color:var(--ink-soft); }
.crit__dots { display:flex; gap:6px; margin-left:8px; }
.crit__dot { display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.crit__dot::before { content:""; width:7px; height:7px; border-radius:8px; background:var(--rule); transition:width 160ms ease,background 160ms ease; }
.crit__dot[aria-pressed="true"]::before { width:20px; background:var(--criterion-color); }
.crit .crit__pie { width:200px; margin:0; grid-row:auto; justify-self:center; box-shadow:0 0 0 8px var(--paper,#f3f5f6); }
.crit .crit__hole { inset:22%; flex-direction:column; gap:6px; color:var(--criterion-color); font:600 2rem/1 var(--sans); }
.crit__hole small { font:500 .65rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.09em; color:var(--ink-soft); }
.js .crit__slide.is-active { animation:criterion-enter 240ms ease both; }
@keyframes criterion-enter { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:599px) { .crit { grid-template-columns:1fr; padding:24px; gap:24px; } .crit .crit__pie { width:170px; grid-row:auto; } .js .crit .crit__slide { min-height:110px; } }
@media(prefers-reduced-motion:reduce) { .js .crit__slide.is-active { animation:none; } .crit__btn,.crit__dot::before { transition:none; } }
