/* Brand Systems · 04 flex rules — range bars with a safe band and live examples */
.cbs-fx{background:var(--paper-2);border-top:1px solid var(--line-2)}
.cbs-fx__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 24px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.cbs-fx__presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cbs-fx__pl{font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-right:6px}
.cbs-fx__verdict{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--t-sm);color:var(--muted)}
.cbs-fx__verdict b{font-family:var(--f);font-size:.75rem;font-weight:500;padding:6px 10px;border-radius:var(--r-xs);background:var(--blue);color:#fff}
.cbs-fx__verdict.is-out b{background:var(--ink)}

.cbs-fx__scale{display:none}
.cbs-fx__row{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:32px 0;border-bottom:1px solid var(--line)}
.cbs-fx__n{font-family:var(--f);font-size:.6875rem;color:var(--muted);margin-bottom:10px}
.cbs-fx__h{font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.022em;line-height:1.1;margin-bottom:10px}
.cbs-fx__rule{font-size:var(--t-sm);line-height:1.6;color:var(--muted);max-width:40ch}

/* track */
.cbs-fx__track{position:relative;padding-top:30px;align-self:center}
.cbs-fx__ticks{display:block;height:48px;border-radius:var(--r-sm);background-color:var(--paper);box-shadow:inset 0 0 0 1px var(--line);background-image:repeating-linear-gradient(90deg,var(--line-3) 0 1px,transparent 1px 10%)}
.cbs-fx__band{position:absolute;top:30px;height:48px;left:calc(var(--lo) * 1%);width:calc((var(--hi) - var(--lo)) * 1%);background-color:var(--blue-wash);background-image:repeating-linear-gradient(135deg,var(--blue-wash-2) 0 1px,transparent 1px 7px);box-shadow:inset 1.5px 0 0 var(--blue),inset -1.5px 0 0 var(--blue);border-radius:2px}
.cbs-fx__band i{position:absolute;top:-22px;font-style:normal;font-family:var(--f);font-size:.625rem;color:var(--blue-d);white-space:nowrap}
.cbs-fx__band i:first-child{left:0}
.cbs-fx__band i:last-child{right:0}
.cbs-fx__needle{position:absolute;top:22px;height:64px;left:calc(var(--v) * 1%);width:2px;margin-left:-1px;background:var(--ink);pointer-events:none;transition:left .5s var(--e)}
.cbs-fx__needle::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink),0 2px 8px rgba(25,25,29,.18)}
.cbs-fx__needle b{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px);font-family:var(--f);font-size:.6875rem;font-weight:500;padding:3px 6px;border-radius:var(--r-xs);background:var(--ink);color:#fff;line-height:1}
.cbs-fx__row.is-in .cbs-fx__needle{background:var(--blue)}
.cbs-fx__row.is-in .cbs-fx__needle::after{box-shadow:inset 0 0 0 2px var(--blue),0 2px 8px rgba(0,130,251,.3)}
.cbs-fx__row.is-in .cbs-fx__needle b{background:var(--blue)}
.cbs-fx__row.is-drag .cbs-fx__needle{transition:none}
.cbs-fx__band i:last-child{top:auto;bottom:-22px}
.cbs-fx__in{position:absolute;left:-9px;right:-9px;width:calc(100% + 18px);top:22px;height:64px;margin:0;opacity:0;cursor:ew-resize}
.cbs-fx__track:has(.cbs-fx__in:focus-visible) .cbs-fx__ticks{outline:2px solid var(--blue);outline-offset:4px}
.cbs-fx__st{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-top:32px;font-size:var(--t-sm);color:var(--txt);min-height:3.2em}
.cbs-fx__badge{font-family:var(--f);font-size:.6875rem;padding:4px 8px;border-radius:var(--r-xs);background:var(--blue-wash);color:var(--blue-d);white-space:nowrap}
.cbs-fx__row.is-out .cbs-fx__badge{background:var(--ink);color:#fff}
.cbs-fx__why{flex:1 1 220px;line-height:1.5}

/* examples */
.cbs-fx__ex{position:relative;height:150px;border-radius:var(--r);background:var(--paper);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.cbs-fx__ex::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--ink);opacity:0;transition:opacity .3s}
.cbs-fx__row.is-out .cbs-fx__ex::after{opacity:1}
.cbs-fx__paint{position:absolute;inset:0}
.cbs-fx__paint i{position:absolute;left:0;right:0;bottom:0;height:calc(var(--v) * 1%);background:var(--blue);transition:height .5s var(--e)}
.cbs-fx__paint b{position:absolute;left:16px;top:14px;font-family:var(--f-h);font-weight:500;font-size:.9375rem;color:var(--ink)}
.cbs-fx__type{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:16px}
.cbs-fx__type b{font-family:var(--f-h);font-weight:500;letter-spacing:-.025em;line-height:1;color:var(--ink);white-space:nowrap;font-size:calc(10px + var(--v) * .25px);transition:font-size .5s var(--e)}
.cbs-fx__type i{font-style:normal;font-size:.6875rem;line-height:1.4;color:var(--muted);max-width:30ch}
.cbs-fx__img{position:absolute;inset:0;overflow:hidden;background:var(--paper-3)}
.cbs-fx__img img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;transform:scale(calc(1 + var(--v) * .045));transform-origin:88% 12%;transition:transform .5s var(--e)}
.cbs-fx__grid{position:absolute;inset:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background-image:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px calc(100% / 12))}
.cbs-fx__grid i{border-radius:6px;background:var(--paper-4);transition:transform .5s var(--e)}
.cbs-fx__grid i:nth-child(1){background:var(--blue);transform:translate(calc(var(--v) * .5px),calc(var(--v) * -.2px)) rotate(calc(var(--v) * -.12deg))}
.cbs-fx__grid i:nth-child(2){transform:translate(calc(var(--v) * -.3px),calc(var(--v) * .35px)) rotate(calc(var(--v) * .18deg))}
.cbs-fx__grid i:nth-child(3){transform:translate(calc(var(--v) * .2px),calc(var(--v) * .45px))}
.cbs-fx__grid i:nth-child(4){transform:translate(calc(var(--v) * -.45px),calc(var(--v) * -.1px)) rotate(calc(var(--v) * .1deg))}
.cbs-fx__grid i:nth-child(5){background:var(--ink);transform:translate(calc(var(--v) * .35px),calc(var(--v) * -.3px)) rotate(calc(var(--v) * -.2deg))}
.cbs-fx__grid i:nth-child(6){transform:translate(calc(var(--v) * -.2px),calc(var(--v) * .25px))}

.cbs-fx__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;padding-top:20px;font-size:var(--t-sm);color:var(--muted)}

@media (min-width:1024px){
  .cbs-fx__scale{display:grid;grid-template-columns:260px minmax(0,1fr) 240px;column-gap:clamp(32px,4vw,64px);padding-top:18px;font-family:var(--f);font-size:var(--t-lbl);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
  .cbs-fx__scale span{grid-column:2;grid-row:1}
  .cbs-fx__scale span:last-child{justify-self:end}
  .cbs-fx__row{grid-template-columns:260px minmax(0,1fr) 240px;column-gap:clamp(32px,4vw,64px);align-items:center}
  .cbs-fx__ex{height:168px}
}
@media (max-width:599px){.cbs-fx__type b{font-size:calc(9px + var(--v) * .22px)}}
@media (prefers-reduced-motion:reduce){.cbs-fx__needle,.cbs-fx__paint i,.cbs-fx__type b,.cbs-fx__img img,.cbs-fx__grid i{transition:none}}
