/* /zoho-sprints/ only. Loaded via `extra: crm, mid, p-sprints`. Every class is scoped with .psp- */
.psp-hero, .psp-edges, .psp-ss, .psp-cap, .psp-price, .psp-vs, .psp-fit, .psp-mig {
  --psp-ink: #082238; --psp-body: #334155; --psp-muted: #64748B; --psp-line: #E2E8F0; --psp-paper: #F3F7F9;
  --psp-blue: #0A6FA8; --psp-amber: #FFB81C; --psp-green: #1E9E62;
}

/* ---------- hero: scrum board + burndown ---------- */
.psp-hero .psp-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.psp-hero .crm-sub { max-width: 40ch; }
.psp-tops { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; max-width: 580px; }
.psp-tops li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px 8px 9px; border-radius: 999px; background: #fff; border: 1px solid #DCE7EF; font: 600 13.5px/1.3 var(--f-body); color: var(--psp-ink); box-shadow: 0 10px 20px -16px rgba(8,34,56,.5); }
.psp-tops svg { flex: none; width: 22px; height: 22px; padding: 3px; border-radius: 7px; background: #E7F4EC; fill: none; stroke: #1E9E62; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.psp-board { position: relative; margin: 0; padding: 16px; border-radius: 22px; background: #fff; border: 1px solid #E2E8F0; box-shadow: 0 50px 90px -45px rgba(8,34,56,.55); }
.psp-board__top { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--psp-line); }
.psp-board__top img { flex: none; }
.psp-board__top p { flex: 1; min-width: 0; margin: 0; }
.psp-board__top b { display: block; font: 800 15px/1.3 var(--f-display); color: var(--psp-ink); }
.psp-board__top span { display: block; font: 500 12px/1.4 var(--f-body); color: var(--psp-muted); }
.psp-board__top i { font-style: normal; font-weight: 700; color: var(--psp-ink); font-variant-numeric: tabular-nums; }
.psp-board__top em, .psp-prev__h em, .psp-ss__ch em { flex: none; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; background: #FFF4D6; color: #8A5A00; }
.psp-board__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.psp-col { min-height: 196px; padding: 8px; border-radius: 12px; background: var(--psp-paper); }
.psp-col--done { background: #EAF7EF; }
.psp-col__h { display: flex; justify-content: space-between; align-items: center; margin: 0 0 8px; font: 700 11px/1.3 var(--f-body); letter-spacing: .05em; text-transform: uppercase; color: var(--psp-muted); }
.psp-col__h b { min-width: 20px; padding: 2px 6px; border-radius: 99px; background: #fff; text-align: center; color: var(--psp-ink); }
.psp-col__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.psp-card { position: relative; padding: 7px 8px 7px 11px; border-radius: 8px; background: #fff; box-shadow: 0 6px 12px -10px rgba(8,34,56,.6), 0 0 0 1px rgba(8,34,56,.05); font: 500 11.5px/1.3 var(--f-body); color: var(--psp-body); }
.psp-card::before { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 3px; border-radius: 3px; background: var(--k); }
.psp-card__id { display: block; font: 700 9.5px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--psp-muted); }
.psp-card b { display: block; font-weight: 600; color: var(--psp-ink); }
.psp-card i { display: inline-block; margin-top: 4px; padding: 1px 6px; border-radius: 99px; background: var(--psp-paper); font: 700 10px/1.4 var(--f-body); font-style: normal; color: var(--psp-muted); }
.psp-card.is-moved { animation: pspHop .55s cubic-bezier(.2,1.3,.4,1); }
.psp-col--done .psp-card b { color: #166534; }
@keyframes pspHop { from { opacity: 0; transform: translateY(-14px) scale(.92); } }
.psp-burn { margin-top: 12px; padding: 10px 12px 8px; border-radius: 12px; border: 1px solid var(--psp-line); }
.psp-burn__h { display: flex; justify-content: space-between; margin: 0 0 4px; font: 700 12.5px/1.4 var(--f-display); color: var(--psp-ink); }
.psp-burn__h span { font: 500 12px/1.4 var(--f-body); color: var(--psp-muted); }
.psp-burn__h i { font-style: normal; font-weight: 700; color: var(--psp-ink); font-variant-numeric: tabular-nums; }
.psp-burn svg { display: block; width: 100%; height: 84px; overflow: visible; }
.psp-burn__grid { fill: none; stroke: #EEF2F6; stroke-width: 1; }
.psp-burn__ideal { fill: none; stroke: #94A3B8; stroke-width: 1.5; stroke-dasharray: 5 5; vector-effect: non-scaling-stroke; }
.psp-burn__real { fill: none; stroke: #1E9E62; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: var(--psp-draw, 0); transition: stroke-dashoffset .9s ease; }
.psp-burn__k { display: flex; gap: 14px; margin: 4px 0 0; font: 500 11px/1.4 var(--f-body); color: var(--psp-muted); }
.psp-burn__k span::before { content: ""; display: inline-block; width: 14px; height: 0; margin-right: 6px; vertical-align: middle; border-top: 2px dashed #94A3B8; }
.psp-burn__k .psp-burn__k2::before { border-top: 3px solid #1E9E62; }
.psp-chip { position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: #082238; color: #fff; font: 600 12.5px/1.2 var(--f-body); box-shadow: 0 18px 30px -16px rgba(8,34,56,.7); pointer-events: none; }
.psp-chip i { width: 8px; height: 8px; border-radius: 50%; background: #FFB81C; box-shadow: 0 0 0 4px rgba(255,184,28,.25); }
.psp-chip em { padding: 3px 7px; border-radius: 999px; background: rgba(255,255,255,.14); font: 600 10.5px/1 var(--f-body); font-style: normal; color: #BFD3E2; }
.psp-chip--git { right: -14px; top: -18px; }
.psp-chip--vel { left: -18px; bottom: -18px; background: #FFB81C; color: #082238; }
.psp-chip--vel i { background: #1E9E62; box-shadow: 0 0 0 4px rgba(30,158,98,.2); }
@media (max-width: 900px) {
  .psp-hero .psp-hero__grid { grid-template-columns: 1fr; }
  .psp-board { margin-top: 18px; }
}
@media (max-width: 560px) {
  .psp-board { padding: 12px; }
  .psp-board__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .psp-col { min-height: 0; }
  .psp-chip--git { right: 4px; top: -16px; }
  .psp-chip--vel { left: 4px; }
}

/* ---------- edges: index cards on a wall ---------- */
.psp-notes { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.psp-note { position: relative; padding: 26px 22px 22px; border-radius: 6px; background: #fff; box-shadow: 0 26px 44px -34px rgba(8,34,56,.55), 0 0 0 1px rgba(8,34,56,.05); border-top: 6px solid var(--k); transform: rotate(var(--r, 0deg)); transition: transform .3s; }
.psp-note:nth-child(2) { --r: .8deg; } .psp-note:nth-child(3) { --r: -.6deg; } .psp-note:nth-child(4) { --r: .5deg; } .psp-note:nth-child(5) { --r: -.8deg; } .psp-note:nth-child(6) { --r: .6deg; }
.psp-note:hover { transform: rotate(0) translateY(-3px); }
.psp-note::before { content: ""; position: absolute; top: -14px; left: 50%; width: 64px; height: 20px; margin-left: -32px; background: rgba(255,232,170,.75); transform: rotate(-2deg); box-shadow: 0 1px 2px rgba(8,34,56,.08); }
.psp-note--big { grid-row: span 2; background: linear-gradient(180deg, #fff 0%, #F2FAF5 100%); }
.psp-note__tag { margin: 0 0 8px; font: 700 11.5px/1.3 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--k); }
.psp-note h3 { margin: 0 0 8px; font: 700 20px/1.25 var(--f-display); letter-spacing: -.02em; color: var(--psp-ink); }
.psp-note p:not([class]) { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--psp-body); }
.psp-note__vis { display: grid; gap: 8px; margin-top: 18px; }
.psp-note__vis span { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px dashed #A7D7BC; font: 500 14px/1.3 var(--f-body); color: var(--psp-body); }
.psp-note__vis b { color: #166534; }
.psp-note__vis--votes { display: flex; align-items: center; gap: 6px; }
.psp-note__vis--votes i { display: grid; place-items: center; width: 30px; height: 40px; border-radius: 6px; background: #F1EBFE; font: 800 14px/1 var(--f-display); font-style: normal; color: #6D28D9; }
.psp-note__vis--votes b { margin-left: 6px; padding: 6px 10px; border-radius: 99px; background: #7C3AED; color: #fff; font: 700 12.5px/1 var(--f-body); }
.psp-edges__more { max-width: 92ch; margin: 30px 0 0; font-size: 16px; line-height: 1.65; color: var(--psp-body); }
@media (max-width: 980px) { .psp-notes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .psp-note--big { grid-row: auto; grid-column: 1 / -1; } }
@media (max-width: 620px) { .psp-notes { grid-template-columns: 1fr; gap: 26px; } .psp-note { transform: none; } }

/* ---------- #day: J2 scroll-story, one user story card slides lane to lane ---------- */
.psp-ss { padding: 0; background: linear-gradient(180deg, #F3F7F9 0%, #EEF6FB 100%); overflow-x: clip; }
.psp-ss__stage { padding-top: clamp(64px, 8vw, 104px); padding-bottom: clamp(64px, 8vw, 104px); }
.psp-ss__head .pg-answer { margin-bottom: 0; }
.psp-ss__cols { display: none; }
.psp-ss__board { position: relative; margin-top: 30px; }
.psp-ss__card { --c: #1E9E62; position: relative; max-width: 460px; padding: 14px 16px 16px; border-radius: 14px; background: #fff; border-left: 6px solid var(--c); box-shadow: 0 34px 60px -30px rgba(8,34,56,.42), 0 0 0 1px rgba(8,34,56,.06); transition: border-color .4s; }
.psp-ss__ch { display: flex; align-items: flex-start; gap: 10px; }
.psp-ss__ch p { flex: 1; min-width: 0; margin: 0; }
.psp-ss__ch b { display: block; font: 800 15px/1.3 var(--f-display); color: var(--psp-ink); }
.psp-ss__ch span { display: block; font-size: 12px; line-height: 1.4; color: var(--psp-muted); }
.psp-ss__pill { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0; padding: 4px 10px 4px 8px; border-radius: 99px; background: var(--psp-paper); font: 700 11.5px/1.3 var(--f-body); color: var(--psp-ink); }
.psp-ss__pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--c); transition: background .4s; }
.psp-ss__fields { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.psp-ss__fields li { --k: #1E9E62; display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; padding: 4px 6px; border-radius: 6px; font: 500 13px/1.4 var(--f-body); color: var(--psp-body); }
.psp-ss__fields li::before { content: ""; width: 16px; height: 16px; margin-top: 1px; border-radius: 5px; background: var(--k) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.4 6.8 11 12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.psp-ss__fields li.psp-ss__more { color: var(--psp-muted); font-weight: 600; }
.psp-ss__fields li.psp-ss__more::before { background: #CBD5E1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 4.5v7M4.5 8h7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
.psp-ss__fields li[hidden] { display: none; }
.psp-ss__list { list-style: none; margin: 28px 0 0; padding: 0; display: grid; gap: 14px; }
.psp-ss__st { background: #fff; border-radius: 18px; padding: 20px 22px; border-top: 5px solid var(--c); box-shadow: 0 30px 60px -44px rgba(8,34,56,.45); }
.psp-ss__n { display: inline-block; margin: 0 0 8px; padding: 4px 9px; border-radius: 99px; background: var(--c); color: #fff; font: 800 12px/1.3 var(--f-body); letter-spacing: .06em; text-transform: uppercase; }
.psp-ss__st h3 { margin: 0 0 8px; font: 700 clamp(20px, 1rem + .7vw, 25px)/1.25 var(--f-display); letter-spacing: -.02em; color: var(--psp-ink); }
.psp-ss__st > p:not([class]) { margin: 0; font-size: 16.5px; line-height: 1.6; color: var(--psp-body); }
.psp-ss__bar { display: none; }
@media (min-width: 760px) { .psp-ss__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* live (JS adds --live at >= 900 x 600 with motion allowed) */
.psp-ss--live .psp-ss__track { height: calc(100vh + 6 * 52vh); }
.psp-ss--live .psp-ss__stage { position: sticky; top: 0; height: 100vh; min-height: 600px; display: flex; flex-direction: column; justify-content: center; padding-top: 92px; padding-bottom: 22px; }
.psp-ss--live .pg-h2 { font-size: clamp(26px, 1rem + 1.2vw, 36px); margin-bottom: 8px; max-width: none; }
.psp-ss--live .pg-answer { font-size: 16px; max-width: 108ch; }
.psp-ss--live .psp-ss__board { margin-top: clamp(14px, 2.4vh, 24px); }
.psp-ss--live .psp-ss__cols { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; list-style: none; margin: 0; padding: 0; }
.psp-ss__cols li { height: clamp(250px, 32vh, 280px); border-radius: 14px; background: #E4ECF2; transition: background .4s, box-shadow .4s; }
.psp-ss__cols li.is-on { background: #fff; box-shadow: inset 0 0 0 2px var(--c); }
.psp-ss__cols button { display: block; width: 100%; padding: 10px 12px 8px; border: 0; border-radius: 14px 14px 0 0; background: none; text-align: left; font: 700 13.5px/1.3 var(--f-body); color: var(--psp-ink); cursor: pointer; }
.psp-ss__cols button span { display: block; margin-bottom: 2px; font: 700 10.5px/1.2 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--psp-muted); }
.psp-ss__cols li.is-past button span, .psp-ss__cols li.is-on button span { color: var(--c); }
.psp-ss__cols li.is-past::after { content: "Passed"; display: block; margin: 4px 12px 0; padding: 7px 10px; border-radius: 10px; border: 1px dashed var(--c); background: rgba(255,255,255,.7); font: 700 11.5px/1.2 var(--f-body); color: var(--c); }
.psp-ss__cols button:hover { color: var(--psp-blue); }
.psp-ss__cols button:focus-visible { outline: 2px solid var(--psp-blue); outline-offset: -2px; }
.psp-ss--live .psp-ss__card { position: absolute; top: 52px; left: 0; width: calc((100% - 50px) / 6 * 2 + 10px); max-width: none; padding: 12px 14px 14px; transition: transform .8s cubic-bezier(.6,0,.2,1), border-color .4s; z-index: 2; }
.psp-ss--live .psp-ss__fields { gap: 3px; }
.psp-ss--live .psp-ss__fields li { padding: 3px 6px; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psp-ss--live .psp-ss__fields li.is-new { animation: pspSsIn .5s both; background: #FFF6DB; }
@keyframes pspSsIn { from { opacity: 0; transform: translateY(10px); } }
.psp-ss--live .psp-ss__list { display: block; position: relative; margin-top: clamp(14px, 2.4vh, 22px); min-height: 118px; }
.psp-ss--live .psp-ss__st { position: absolute; left: 0; right: 0; top: 0; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: 32px; align-items: start; padding: 16px 22px; opacity: 0; pointer-events: none; transform: translateY(10px) scale(.98); transition: opacity .2s, transform .25s; }
.psp-ss--live .psp-ss__st.is-on { opacity: 1; pointer-events: auto; transform: none; transition: opacity .45s .12s, transform .55s .12s cubic-bezier(.2,.8,.2,1); }
.psp-ss--live .psp-ss__n { grid-column: 1; justify-self: start; }
.psp-ss--live .psp-ss__st h3 { grid-column: 1; font-size: clamp(19px, .9rem + .6vw, 23px); margin: 0; }
.psp-ss--live .psp-ss__st > p:not([class]) { grid-column: 2; grid-row: 1 / span 2; font-size: 15.5px; line-height: 1.55; }
.psp-ss--live .psp-ss__bar { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
.psp-ss__bar i { width: 26px; height: 5px; border-radius: 4px; background: rgba(8,34,56,.14); transition: background .4s; }
.psp-ss__bar i.on { background: var(--psp-amber); }
@media (max-height: 780px) {
  .psp-ss--live .psp-ss__head .hp-kick { display: none; }
  .psp-ss--live .psp-ss__stage { padding-top: 78px; padding-bottom: 12px; }
  .psp-ss--live .pg-h2 { font-size: clamp(24px, .9rem + 1vw, 30px); margin-bottom: 4px; }
  .psp-ss--live .pg-answer { font-size: 14.5px; line-height: 1.5; }
  .psp-ss--live .psp-ss__cols li { height: 34vh; min-height: 210px; }
  .psp-ss--live .psp-ss__card { top: 44px; padding: 10px 12px 12px; }
  .psp-ss--live .psp-ss__pill { margin: 6px 0; }
  .psp-ss--live .psp-ss__st { padding: 12px 18px; }
  .psp-ss--live .psp-ss__st > p:not([class]) { font-size: 14.5px; line-height: 1.5; }
  .psp-ss--live .psp-ss__list { min-height: 100px; }
}
@media (prefers-reduced-motion: reduce) { .psp-ss__card, .psp-ss__st, .psp-ss__fields li { transition: none !important; animation: none !important; } }

/* ---------- #blueprint: sprint capacity planner (dark band) ---------- */
.psp-plan { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(20px, 3vw, 36px); margin-top: 28px; }
.psp-plan__form { padding: 22px; border-radius: 20px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); display: grid; gap: 18px; }
.psp-plan__row { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.psp-plan__row > span, .psp-plan__row legend { display: flex; justify-content: space-between; gap: 10px; padding: 0; font: 600 14.5px/1.4 var(--f-body); color: #E2EEF6; }
.psp-plan__row legend { margin-bottom: 8px; }
.psp-plan__row output { font-weight: 700; color: #FFB81C; font-variant-numeric: tabular-nums; }
.psp-plan__row input[type="range"] { width: 100%; accent-color: #FFB81C; }
.psp-seg { display: flex; flex-wrap: wrap; gap: 6px; }
.psp-seg label { position: relative; cursor: pointer; }
.psp-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.psp-seg span { display: inline-block; padding: 8px 13px; border-radius: 99px; border: 1px solid rgba(255,255,255,.22); font: 600 13.5px/1.2 var(--f-body); color: #D7E6F0; transition: background .2s, color .2s, border-color .2s; }
.psp-seg input:checked + span { background: #FFB81C; border-color: #FFB81C; color: #082238; }
.psp-seg input:focus-visible + span { outline: 2px solid #fff; outline-offset: 2px; }
.psp-plan__out { padding: 22px; border-radius: 20px; background: #fff; color: var(--psp-body); display: grid; gap: 14px; align-content: start; }
.psp-plan__kpi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; }
.psp-plan__kpi div { padding: 10px 12px; border-radius: 12px; background: var(--psp-paper); }
.psp-plan__kpi dt { font: 600 12px/1.3 var(--f-body); color: var(--psp-muted); }
.psp-plan__kpi dd { margin: 4px 0 0; font: 800 clamp(20px, 1rem + .8vw, 26px)/1.2 var(--f-display); color: var(--psp-ink); font-variant-numeric: tabular-nums; }
.psp-prev { padding: 12px; border-radius: 14px; border: 1px solid var(--psp-line); }
.psp-prev__h { display: flex; justify-content: space-between; align-items: center; margin: 0 0 8px; font: 700 13px/1.3 var(--f-display); color: var(--psp-ink); }
.psp-prev__lanes { display: grid; gap: 5px; }
.psp-lane { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: center; }
.psp-lane__who { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--k); color: #fff; font: 700 11px/1 var(--f-body); }
.psp-lane__items { display: flex; flex-wrap: wrap; gap: 3px; min-height: 18px; align-items: center; }
.psp-lane__items i { width: 22px; height: 14px; border-radius: 4px; background: var(--k); opacity: .85; animation: pspPop .3s both; }
.psp-lane__items i.half { width: 12px; }
.psp-lane__items i.dbl { width: 44px; }
.psp-lane__items em { font: 700 11px/1 var(--f-body); font-style: normal; color: var(--psp-muted); margin-left: 4px; }
.psp-lane--more { font: 600 12px/1.3 var(--f-body); color: var(--psp-muted); padding-left: 36px; }
@keyframes pspPop { from { opacity: 0; transform: scale(.4); } }
.psp-plan__msg { margin: 0; font-size: 15px; line-height: 1.55; color: var(--psp-body); }
.psp-plan__msg b { color: var(--psp-ink); }
.psp-plan__out .btn { justify-self: start; }
@media (max-width: 900px) { .psp-plan { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .psp-plan__kpi { grid-template-columns: 1fr 1fr; } .psp-plan__kpi div:last-child { grid-column: 1 / -1; } .psp-plan__form, .psp-plan__out { padding: 16px; } }
@media (prefers-reduced-motion: reduce) { .psp-lane__items i, .psp-card.is-moved { animation: none !important; } .psp-burn__real { transition: none; } }

/* ---------- #cost: price calculator ---------- */
.psp-calc { margin-top: 26px; }
.psp-calc__ctl { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.psp-calc__users { display: grid; gap: 6px; flex: 1 1 320px; max-width: 520px; }
.psp-calc__users span { display: flex; justify-content: space-between; font: 600 15px/1.4 var(--f-body); color: var(--psp-ink); }
.psp-calc__users output { font-weight: 800; color: var(--psp-blue); font-variant-numeric: tabular-nums; }
.psp-calc__users input { width: 100%; accent-color: #0A6FA8; }
.psp-calc__bill { display: inline-flex; padding: 4px; border-radius: 99px; background: var(--psp-paper); border: 1px solid var(--psp-line); }
.psp-calc__bill button { padding: 9px 16px; border: 0; border-radius: 99px; background: none; font: 600 14px/1.2 var(--f-body); color: var(--psp-body); cursor: pointer; }
.psp-calc__bill button.is-on { background: #082238; color: #fff; }
.psp-calc__table td[data-cost] { font-weight: 700; color: var(--psp-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.psp-calc__table td[data-cost] small { display: block; font-weight: 500; color: var(--psp-muted); white-space: normal; }
.psp-calc__table tr.is-na td[data-cost] { font-weight: 500; color: var(--psp-muted); }
.psp-calc__out { margin: 14px 0 0; font-size: 16px; line-height: 1.6; color: var(--psp-body); }
.psp-calc__out b { color: var(--psp-ink); }

/* ---------- #compare + #fit ---------- */
.psp-vs__fair { max-width: 92ch; margin: 22px 0 0; padding: 16px 20px; border-radius: 16px; background: #fff; border: 1px solid var(--psp-line); font-size: 16px; line-height: 1.6; color: var(--psp-body); }
.psp-vs__fair b { color: var(--psp-ink); }
.psp-score, .psp-swipe { margin-top: 26px; }

/* Zoho Sprints logo file is a 3:1 wordmark: crop to the mark on the left wherever it sits in a square slot */
img.psp-ic { object-fit: cover; object-position: 0 50%; }
.psp-hero .pg-h1 { font-size: clamp(34px, 1rem + 2.5vw, 52px); max-width: 20ch; }
.psp-hero .psp-hero__grid { align-items: start; }
.psp-hero .psp-board { margin-top: 56px; }
@media (max-width: 900px) { .psp-hero .psp-board { margin-top: 26px; } }
@media (min-width: 981px) { .psp-note:last-child { grid-column: 2 / -1; } .psp-note--big { grid-row: span 3; } }
