/* Kodela — Security and Solutions page instruments, in the Board language.
   Tokens come from kit.css; nothing here restyles a kit class. */

/* ---------- the layer stack ---------- */
.sol-sec { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.sol-stack { list-style: none; margin: 0; padding: 14px 14px 22px; display: flex; flex-direction: column; gap: 0; border-radius: 14px; background: var(--ground) url(/assets/art/board-lines.svg) center / cover no-repeat; box-shadow: var(--well); }
.sol-stack li { display: block; }
.sol-plate { position: relative; display: grid; grid-template-columns: 10px 22px minmax(0, 1fr); align-items: center; gap: 9px; width: calc(100% - 8 * 4px); margin: 0 0 -4px calc(var(--i) * 4px); min-height: 44px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--panel); color: var(--ink); text-align: left; cursor: pointer; box-shadow: 0 4px 0 -1px #dfe2e8, 0 8px 14px -8px rgba(20,22,26,.22); transition: transform .45s var(--ease), box-shadow .3s, border-color .25s; z-index: calc(20 - var(--i)); }
.sol-plate:hover { transform: translateY(-2px); border-color: var(--ink-dimmer); }
.sol-plate:active { transform: translateY(1px); }
.sol-plate.is-below { transform: translateY(3px); }
.sol-plate[aria-pressed="true"] { transform: translate(-4px, -5px); border-color: var(--amber); box-shadow: 0 4px 0 -1px var(--amber), 0 16px 24px -10px rgba(20,22,26,.3); z-index: 30; }
.sol-plate__led { width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); box-shadow: inset 0 1px 1px rgba(0,0,0,.2); transition: background .3s; }
.sol-plate[aria-pressed="true"] .sol-plate__led { background: var(--amber-led); box-shadow: 0 1px 2px rgba(0,0,0,.35); }
.sol-plate__n { font: 500 .72rem/1 var(--f-mono); color: var(--ink-dimmer); letter-spacing: .06em; }
.sol-plate__name { font: 700 .86rem/1.1 var(--f-cond); letter-spacing: .05em; text-transform: uppercase; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sol-plate__def { display: none; font: 500 .7rem/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-dim); white-space: nowrap; }
.sol-plate[aria-pressed="true"] .sol-plate__def { color: var(--amber-text); }
.sol-layer-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sol-layer { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.sol-limitline { margin: 0; padding: 10px 2px 0; border-top: 1px dashed var(--line-strong); font: 400 .9rem/1.5 var(--f-sans); color: var(--ink-dim); }
.sol-limitline b { font-weight: 600; color: var(--ink); }
.sol-layer p { margin: 0; }
.sol-layer__name { font: 700 1.05rem/1.2 var(--f-cond) !important; letter-spacing: .06em; text-transform: uppercase; color: #fff; margin-bottom: 8px !important; }
.sol-layer__k { margin-top: 10px !important; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lcd-dim); }
.sol-layer__state { color: var(--lcd-ink); }

/* ---------- the evidence report ---------- */
.sol-ev__top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 12px; }
.sol-ev__switch { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0; border: 0; background: none; font: 500 .82rem/1 var(--f-mono); color: var(--ink-dim); cursor: pointer; }
.sol-ev__switch[aria-pressed="true"] .kd-toggle { background: var(--amber); }
.sol-ev__switch[aria-pressed="true"] .kd-toggle::after { transform: translateX(28px); }
.sol-ev__score { margin-left: auto; font: 500 .74rem/1.3 var(--f-mono); color: var(--ink-dim); }
.sol-ev table { width: 100%; border-collapse: collapse; font: 400 .86rem/1.4 var(--f-sans); }
.sol-ev td { padding: 10px 8px; border-top: 1px solid var(--line); vertical-align: top; }
.sol-ev tr:first-child td { border-top: 0; }
.sol-ev td b { display: block; font: 600 .86rem/1.3 var(--f-sans); color: var(--ink); }
.sol-ev td small { display: block; font: 500 .72rem/1.4 var(--f-mono); color: var(--ink-dimmer); letter-spacing: .02em; }
.sol-ev__why { color: var(--ink-dim); }
.sol-v { display: inline-block; min-width: 76px; text-align: center; padding: 5px 7px; border-radius: 5px; font: 700 .68rem/1 var(--f-mono); letter-spacing: .08em; background: var(--lcd); color: var(--lcd-ink); }
.sol-v--met { background: #fff; color: var(--ink); border: 1px solid var(--line-strong); }
.sol-v--notmet { background: var(--ink); color: #fff; }
.sol-v--org { background: transparent; color: var(--ink-dimmer); border: 1px dashed var(--line-strong); }

/* ---------- the scope resolver ---------- */
.sol-scope { display: grid; gap: 12px; }
.sol-scope__row { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 12px; }
.sol-scope__who { font: 700 .8rem/1.1 var(--f-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); }
.sol-scope__who small { display: block; font: 400 .72rem/1.3 var(--f-sans); letter-spacing: 0; text-transform: none; color: var(--ink-dimmer); }
.sol-seg { display: inline-flex; padding: 3px; gap: 3px; border-radius: 10px; background: var(--bay); box-shadow: var(--well); }
.sol-seg button { min-height: 38px; min-width: 88px; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; font: 600 .78rem/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-dim); cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.sol-seg button[aria-pressed="true"] { background: var(--panel); color: var(--ink); box-shadow: 0 2px 5px rgba(20,22,26,.18); }
.sol-seg button[aria-pressed="true"]::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 7px; vertical-align: 1px; background: var(--amber-led); }
.sol-scope__slider { display: flex; align-items: center; gap: 12px; }
.sol-scope__range { flex: 1; accent-color: var(--amber); min-height: 44px; }
.sol-scope__req { font: 500 .8rem/1 var(--f-mono); color: var(--ink-dim); min-width: 2ch; text-align: right; }
.sol-scope__out { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sol-scope__cell { display: flex; flex-direction: column; gap: 6px; }
.sol-scope__cell .kd-seg { font-size: 1.7rem; }
.sol-scope__big { font: 700 1.5rem/1 var(--f-mono); letter-spacing: .08em; color: var(--lcd-ink); }
.sol-scope__cap { font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--lcd-dim); }
.sol-dimline { margin: 0; font: 400 .78rem/1.4 var(--f-mono); color: var(--ink-dimmer); }
.sol-scope__note { margin: 0; min-height: 2.8em; font: 400 .88rem/1.45 var(--f-sans); color: var(--ink-dim); }
.sol-scope__out.is-held + .sol-scope__note { color: var(--ink); }

/* ---------- the role console ---------- */
.sol-roles__tabs { margin-bottom: 12px; }
.sol-roles__tabs .kd-chip { text-transform: capitalize; }
.sol-roles__rows { list-style: none; margin: 0; padding: 0; }
.sol-roles__row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px dashed var(--lcd-line); }
.sol-roles__row:first-child { border-top: 0; }
.sol-roles__row b { font-weight: 500; white-space: nowrap; }
.sol-roles__row.is-yes b { color: var(--lcd-ink); }
.sol-roles__row.is-read b { color: #cfd3da; }
.sol-roles__row.is-no b { color: var(--lcd-dim); text-decoration: line-through; text-decoration-thickness: 1.5px; }
.sol-roles__note { margin: 10px 0 0; font: 400 .88rem/1.45 var(--f-sans); color: var(--ink-dim); }

/* ---------- exists / not yet ---------- */
.sol-have { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.sol-have ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.sol-have li { display: flex; gap: 10px; align-items: baseline; padding: 6px 0; border-top: 1px dashed var(--lcd-line); }
.sol-have li:first-child { border-top: 0; }
.sol-have li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--amber-led); transform: translateY(-1px); }
.sol-have__no li { color: #cfd3da; }
.sol-have__no li::before { background: transparent; border: 1px solid var(--lcd-dim); }

/* ---------- requirements readout ---------- */
.sol-req { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
.sol-req p { margin: 0; display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-top: 1px dashed var(--lcd-line); }
.sol-req p:nth-child(-n+2) { border-top: 0; }
.sol-req span { color: var(--lcd-dim); }

@media (max-width: 1180px) {
  .sol-sec { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sol-plate { width: calc(100% - 8 * 3px); margin-left: calc(var(--i) * 3px); }
  .sol-scope__row { grid-template-columns: 1fr; gap: 6px; }
  .sol-seg { width: 100%; }
  .sol-seg button { flex: 1; min-width: 0; padding: 0 6px; }
  .sol-have, .sol-req { grid-template-columns: 1fr; }
  .sol-req p:nth-child(2) { border-top: 1px dashed var(--lcd-line); }
  .sol-ev__score { margin-left: 0; width: 100%; }
  .sol-ev td { padding: 9px 4px; }
  .sol-ev__why { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sol-plate { transition: none; }
}

/* ---------- the hero job selector: a recessed tray of flat keys ---------- */
.kd-pipe__chips { padding: 5px; gap: 4px; border-radius: 12px; background: var(--bay); box-shadow: var(--well); }
.kd-pipe__chips .kd-chip { min-height: 40px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; font: 600 .78rem/1 var(--f-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); }
.kd-pipe__chips .kd-chip:hover { color: var(--ink); background: rgba(255,255,255,.55); }
.kd-pipe__chips .kd-chip[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: 0 2px 5px rgba(20,22,26,.25); }

/* ---------- synthetic tags that ride the kit's own bars ---------- */
.sol-synth { margin-left: 8px; }
.kd-chat__head .sol-synth { margin-left: auto; }

/* ---------- 11px floor for functional text on these pages ---------- */
.kd-page .kd-pipe__stamp, .kd-page .kd-chat__state, .kd-page .kd-prof__opt, .kd-page .sol-v,
.kd-page .kd-egress__rows b, .kd-page .kd-egress__rows span, .kd-page .kd-prof__row b { font-size: max(.7rem, 11.2px); }
.kd-page .kd-chat__body code, .kd-page .kd-chat__tool span { font-size: max(.72rem, 11.5px); }
.kd-page .kd-dep__step { padding: 12px 6px; min-width: 0; }
.kd-page .kd-dep__step b { font-size: max(.72rem, 11.5px); letter-spacing: .02em; white-space: normal; overflow-wrap: normal; word-break: keep-all; }
@media (max-width: 1180px) { .kd-page .kd-dep__steps { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); } }
@media (max-width: 760px) { .kd-page .kd-prof__opt { font-size: 11.2px; } }

/* ======================================================================
   Solutions + Enterprise pages (Group C rebuild). Prefix sx-.
   Everything above this line serves the security page's legacy instruments.
   ====================================================================== */
.sx-hero > .kd-wrap { grid-template-columns: 1fr; }
.sx-hero__head { display: flex; flex-direction: column; gap: 18px; max-width: 860px; }
.sx-hero__head .kd-lede { max-width: 58ch; }
.sx-hero__row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 18px 48px; align-items: end; }
.sx-hero__row .kd-lede { max-width: 52ch; }
.sx-hero .kd-actions { margin-top: 4px; }
.kd-page .sx-wide { margin-top: clamp(22px, 3vw, 36px); }
.sx-note { font: 400 .84rem/1.45 var(--f-sans); color: var(--ink-dimmer); }
.sx-note b { color: var(--ink); font-weight: 600; }
.kd-page:has(> .sx-hero) a:not([class]) { color: var(--ink); text-decoration: underline; text-decoration-color: var(--line-strong); }
.kd-page:has(> .sx-hero) a:not([class]):hover { color: var(--amber-text); text-decoration-color: currentColor; }
.sx-two { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.sx-two__copy { display: flex; flex-direction: column; gap: 18px; }
.sx-plate dl > div { grid-template-columns: 11em 1fr; }

/* ---------- /solutions/: the job dial ---------- */
.sx-hero--dial .sx-hero__head { margin: 0 auto; text-align: center; align-items: center; }
.sx-dial { width: 100%; max-width: 1060px; margin: 0 auto; }
.sx-dial__body { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: clamp(18px, 3vw, 40px); align-items: center; }
.sx-dial__face { --r: 146px; --rot: -72deg; position: relative; width: 100%; max-width: 400px; height: 292px; margin: 0 auto; border-radius: 14px; background: var(--ground) url(/assets/art/board-lines.svg) center / cover no-repeat; box-shadow: var(--well); }
.sx-dial__ring { position: absolute; inset: 0; }
.sx-dial__det { position: absolute; left: 50%; top: 190px; transform: translate(-50%, -50%) rotate(var(--a)) translateY(calc(-1 * var(--r))) rotate(calc(-1 * var(--a))); display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 10px; border-radius: 8px; border: 1px solid var(--line-strong); background: var(--panel); font: 600 .74rem/1 var(--f-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); cursor: pointer; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.sx-dial__det::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--line-strong); }
.sx-dial__det:hover { color: var(--ink); border-color: var(--ink-dimmer); }
.sx-dial__det[aria-checked="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.sx-dial__det[aria-checked="true"]::before { background: var(--amber-led); box-shadow: 0 1px 2px rgba(0,0,0,.4); }
.sx-dial__knob { position: absolute; left: 50%; top: 190px; width: 150px; height: 150px; margin: -75px 0 0 -75px; border-radius: 50%; border: 0; padding: 0; cursor: grab; background: var(--bay); box-shadow: var(--well), 0 0 0 10px rgba(255,255,255,.55); touch-action: none; }
.sx-dial__knob::before { content: ""; position: absolute; inset: 12px; border-radius: 50%; background: #fff; background-image: repeating-conic-gradient(from 0deg, transparent 0 7deg, rgba(20,22,26,.06) 7deg 8deg); box-shadow: 0 8px 16px -6px rgba(20,22,26,.4), 0 1px 0 #fff inset; transform: rotate(var(--rot)); transition: transform .5s var(--ease); }
.sx-dial__knob::after { content: ""; position: absolute; left: 50%; top: 18px; width: 4px; height: 40px; margin-left: -2px; border-radius: 3px; background: var(--amber); transform-origin: 50% 57px; transform: rotate(var(--rot)); transition: transform .5s var(--ease); }
.sx-dial__knob:active { cursor: grabbing; }
.sx-dial__cap { position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%; background: var(--elevated); border: 1px solid var(--line-strong); box-shadow: inset 0 1px 2px rgba(20,22,26,.18); z-index: 1; }
.sx-dial__out { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.sx-dial__lcd { min-height: 252px; }
.sx-dial__lcd p { margin: 0; }
.sx-dial__route { padding-bottom: 8px; border-bottom: 1px dashed var(--lcd-line); }
.sx-dial__name { color: var(--lcd-ink); font-weight: 600; }
.sx-dial__k { margin-top: 12px !important; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.sx-dial__lcd.is-swap > p:not(.sx-dial__k) { animation: sx-flick .45s var(--ease) both; }
@keyframes sx-flick { from { opacity: .1; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.sx-dial__go { align-self: flex-start; min-height: 50px; height: auto; padding: 12px 18px; line-height: 1.3; text-align: left; white-space: normal; }
.sx-dial__go .kd-g { width: 18px; height: 18px; flex: none; }

/* ---------- tables that become cards ---------- */
.sx-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--panel); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-mod); overflow: hidden; font: 400 .92rem/1.5 var(--f-sans); color: var(--ink-dim); font-variant-numeric: tabular-nums; }
.sx-table th, .sx-table td { padding: 16px 18px; text-align: left; vertical-align: top; border-top: 1px solid var(--line); }
.sx-table thead th { border-top: 0; background: var(--elevated); font: 600 .74rem/1.2 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-dimmer); }
.sx-table tbody th { font-weight: 400; color: var(--ink); }
.sx-routes__link { display: grid; grid-template-columns: 1fr 18px; gap: 4px 10px; text-decoration: none; color: var(--ink); min-height: 44px; }
.sx-routes__link b { font: 700 1.05rem/1.1 var(--f-cond); letter-spacing: .03em; text-transform: uppercase; }
.sx-routes__link span { grid-column: 1; font: 400 .88rem/1.4 var(--f-sans); color: var(--ink-dim); }
.sx-routes__link .kd-g { grid-row: 1; grid-column: 2; width: 18px; height: 18px; transition: transform .3s var(--ease); }
.sx-routes__link:hover b { color: var(--amber-text); }
.sx-routes__link:hover .kd-g { transform: translateX(4px); }
.sx-table--routes tbody th { width: 30%; }

@media (max-width: 960px) {
  .sx-two, .sx-hero__row { grid-template-columns: 1fr; }
  .sx-dial__body { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sx-table, .sx-table tbody, .sx-table tr, .sx-table th, .sx-table td { display: block; width: auto !important; }
  .sx-table { background: none; border: 0; box-shadow: none; overflow: visible; }
  .sx-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sx-table tbody { display: flex; flex-direction: column; gap: 12px; }
  .sx-table tbody tr { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-mod); overflow: hidden; }
  .sx-table tbody tr > * { border-top: 1px dashed var(--line); padding: 12px 16px; }
  .sx-table tbody tr > :first-child { border-top: 0; }
  .sx-table td[data-h]::before { content: attr(data-h); display: block; margin-bottom: 4px; font: 600 .7rem/1.2 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-dimmer); }
}
@media (max-width: 560px) {
  .sx-dial__face { height: auto; padding: 14px 10px 16px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
  .sx-dial__ring { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; order: 2; }
  .sx-dial__det { position: static; transform: none; }
  .sx-dial__knob { position: relative; left: auto; top: auto; margin: 0; width: 132px; height: 132px; }
  .sx-dial__knob::after { transform-origin: 50% 48px; height: 34px; top: 18px; }
  .sx-dial__lcd { min-height: 0; }
  .sx-plate dl > div { grid-template-columns: 1fr; gap: 4px; }
}

/* ---------- shared page parts ---------- */
.sx-hero__side { display: flex; flex-direction: column; gap: 18px; }
.sx-pipe .kd-pipe__track { padding-top: 34px; }
.sx-pipe__foot { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 14px; align-items: start; margin-top: 14px; }
.sx-pipe__foot .kd-pipe__chips { margin: 0; }
.sx-pipe .sx-note { margin-top: 12px; }
.sx-steps { list-style: none; counter-reset: sx; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 0; border-top: 2px solid var(--ink); }
.sx-steps li { counter-increment: sx; position: relative; display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 6px 0; }
.sx-steps li::before { content: counter(sx, decimal-leading-zero); font: 700 1.3rem/1 var(--f-seg); color: var(--amber-text); }
.sx-steps li::after { content: ""; position: absolute; top: -6px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--amber-led); box-shadow: 0 1px 2px rgba(0,0,0,.35); }
.sx-steps b { font: 700 1.05rem/1.1 var(--f-cond); letter-spacing: .03em; text-transform: uppercase; color: var(--ink); }
.sx-steps span { font: 400 .9rem/1.5 var(--f-sans); color: var(--ink-dim); max-width: 32ch; }
.sx-ledger { margin: 0; border-top: 1.5px solid var(--ink); }
.sx-ledger > div { display: grid; grid-template-columns: minmax(0, 15em) minmax(0, 1fr); gap: 8px 28px; padding: 16px 0; border-bottom: 1px dashed var(--line-strong); }
.sx-ledger dt { font: 600 .8rem/1.4 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.sx-ledger dd { margin: 0; font: 400 1rem/1.6 var(--f-sans); color: var(--ink-dim); max-width: 70ch; }
.sx-faqwrap { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.sx-faq { display: flex; flex-direction: column; border-top: 1.5px solid var(--ink); }
.sx-faq details { border-bottom: 1px solid var(--line); }
.sx-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 12px 0; cursor: pointer; font: 600 1rem/1.35 var(--f-sans); color: var(--ink); }
.sx-faq summary::-webkit-details-marker { display: none; }
.sx-faq summary::after { content: ""; flex: none; width: 9px; height: 9px; margin-right: 6px; border-right: 1.5px solid var(--ink-dim); border-bottom: 1.5px solid var(--ink-dim); transform: rotate(45deg) translateY(-3px); transition: transform .3s var(--ease); }
.sx-faq details[open] summary::after { transform: rotate(-135deg) translateY(-2px); border-color: var(--amber); }
.sx-faq summary:hover { color: var(--amber-text); }
.sx-faq details p { padding: 0 0 18px; color: var(--ink-dim); max-width: 68ch; line-height: 1.65; }
@media (max-width: 960px) {
  .sx-pipe__foot, .sx-faqwrap { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .sx-ledger > div { grid-template-columns: 1fr; }
  .sx-steps li { padding-right: 0; }
}
.sx-hero { padding-top: clamp(32px, 4.5vw, 72px); }

/* ---------- contractor: the badge on a lanyard ---------- */
.sx-badgehero { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.sx-badge__body { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 20px; align-items: start; }
.sx-badge__hang { position: relative; display: flex; flex-direction: column; align-items: center; padding-top: 4px; }
.sx-badge__strap { width: 64px; height: 44px; border: 3px solid var(--ink); border-top: 0; border-radius: 0 0 30px 30px; border-left-color: #2a2e36; }
.sx-badge__clip { width: 20px; height: 22px; margin-top: -4px; border-radius: 4px; background: var(--elevated); border: 1px solid var(--line-strong); box-shadow: inset 0 1px 2px rgba(20,22,26,.15); z-index: 1; }
.sx-badge__card { position: relative; width: 100%; margin-top: -6px; padding: 22px 16px 14px; border-radius: 14px; background: var(--receipt-paper, #fbfbfa); border: 1px solid var(--line-strong); box-shadow: var(--shadow-lift); transform-origin: 50% -30px; transition: transform .6s var(--ease); }
.sx-badge__card::before { content: ""; position: absolute; top: 8px; left: 50%; width: 36px; height: 6px; margin-left: -18px; border-radius: 4px; background: var(--ground-2); box-shadow: inset 0 1px 2px rgba(20,22,26,.25); }
.sx-badge__org { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 6px !important; padding-bottom: 8px; border-bottom: 1.5px solid var(--ink); font: 700 1.2rem/1 var(--f-cond); letter-spacing: .08em; text-transform: uppercase; }
.sx-badge__org span { font: 500 .7rem/1 var(--f-mono); letter-spacing: .1em; color: var(--amber-text); }
.sx-badge__who { font: 500 .84rem/1.3 var(--f-mono); color: var(--ink); overflow-wrap: anywhere; }
.sx-badge__rows { margin: 8px 0 0; }
.sx-badge__rows > div { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; border-top: 1px dashed var(--line-strong); }
.sx-badge__rows dt { font: 600 .7rem/1.3 var(--f-cond); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-dimmer); }
.sx-badge__rows dd { margin: 0; font: 500 .74rem/1.3 var(--f-mono); color: var(--ink); text-align: right; }
.sx-badge__punch { display: flex; justify-content: space-between; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.sx-badge__punch span { display: flex; flex-direction: column; align-items: center; gap: 5px; font: 500 .7rem/1 var(--f-mono); letter-spacing: .04em; color: var(--ink-dimmer); }
.sx-badge__punch span::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 1.5px dashed var(--line-strong); transition: background .3s, border-color .3s, box-shadow .3s; }
.sx-badge__card[data-state="1"] [data-p="1"], .sx-badge__card[data-state="2"] [data-p="1"], .sx-badge__card[data-state="2"] [data-p="2"], .sx-badge__card[data-state="3"] span[data-p] { color: var(--ink); }
.sx-badge__card[data-state="1"] [data-p="1"]::before, .sx-badge__card[data-state="2"] [data-p="1"]::before, .sx-badge__card[data-state="2"] [data-p="2"]::before, .sx-badge__card[data-state="3"] span[data-p]::before { border: 1px solid var(--line-strong); background: var(--ground); box-shadow: inset 0 2px 3px rgba(20,22,26,.35); }
.sx-badge__card[data-state="1"] .sx-badge__rows dd:not(.sx-badge__ws) { color: var(--ink-dimmer); }
.sx-badge__stamp { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%) rotate(-12deg) scale(1.3); opacity: 0; padding: 7px 10px; border-radius: 6px; background: var(--ink); color: #fff; font: 700 .9rem/1 var(--f-mono); letter-spacing: .14em; box-shadow: 0 8px 16px -8px rgba(0,0,0,.7); transition: opacity .25s, transform .4s var(--ease); pointer-events: none; }
.sx-badge__card[data-state="3"] .sx-badge__stamp { opacity: 1; transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
.sx-badge__card[data-state="3"] .sx-badge__who { text-decoration: line-through; text-decoration-thickness: 1.5px; color: var(--ink-dim); }
.sx-badge__card[data-state="3"] { transform: rotate(-3deg); }
.sx-badge__ctl { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.sx-badge__steps { list-style: none; margin: 0; padding: 5px; display: grid; gap: 4px; border-radius: 12px; background: var(--bay); box-shadow: var(--well); }
.sx-badge__step { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; font: 600 .8rem/1.2 var(--f-cond); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); text-align: left; cursor: pointer; }
.sx-badge__step:hover { background: rgba(255,255,255,.6); color: var(--ink); }
.sx-badge__step[aria-pressed="true"] { background: var(--ink); color: #fff; box-shadow: 0 2px 5px rgba(20,22,26,.25); }
.sx-badge__n { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid currentColor; font: 600 .72rem/1 var(--f-mono); }
.sx-badge__step[aria-pressed="true"] .sx-badge__n { background: var(--amber-led); border-color: var(--amber-led); color: var(--ink); }
.sx-badge__log { min-height: 150px; }
.sx-badge__log p { margin: 0; overflow-wrap: anywhere; }
.sx-badge__log.is-swap p { animation: sx-flick .4s var(--ease) both; }
.sx-badge__log.is-swap p:nth-child(2) { animation-delay: .08s; } .sx-badge__log.is-swap p:nth-child(3) { animation-delay: .16s; } .sx-badge__log.is-swap p:nth-child(4) { animation-delay: .24s; } .sx-badge__log.is-swap p:nth-child(5) { animation-delay: .32s; }
.sx-table--vs tbody th { width: 22%; font-weight: 600; }
.sx-risk { background: var(--ground-2); color: var(--ink-dim); }
.sx-ctl { color: var(--ink); position: relative; padding-left: 34px !important; }
.sx-ctl::before { content: ""; position: absolute; left: 16px; top: 23px; width: 7px; height: 7px; border-radius: 50%; background: var(--amber-led); box-shadow: 0 1px 2px rgba(0,0,0,.35); }
.sx-stack { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.sx-steps--col { grid-template-columns: 1fr; border-top: 0; border-left: 1px solid var(--ink-dimmer); margin-left: 5px; }
.sx-steps--col li { padding: 4px 0 18px 26px; display: grid; grid-template-columns: 2.4em 1fr; column-gap: 8px; }
.sx-steps--col li::before { grid-row: span 2; font-size: 1.1rem; }
.sx-steps--col li::after { top: 8px; left: -5.5px; }
.sx-steps--col span { max-width: 52ch; }
@media (max-width: 1080px) { .sx-badgehero { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .sx-badge__body { grid-template-columns: 1fr; }
  .sx-badge__hang { max-width: 250px; width: 100%; margin: 0 auto; }
}
.sx-badgehero .kd-h1 { font-size: clamp(2.3rem, 4.4vw, 3.9rem); }

/* ---------- security teams: the analyst feed ---------- */
.sx-feed__console { background: var(--lcd); border-radius: 14px; box-shadow: inset 0 2px 8px rgba(0,0,0,.55); padding: 14px; color: #cfd3da; font: 500 .8rem/1.4 var(--f-mono); }
.sx-feed__top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 0 2px 10px; border-bottom: 1px solid var(--lcd-line); color: var(--lcd-dim); letter-spacing: .06em; text-transform: uppercase; font-size: .72rem; }
.sx-feed__count { color: var(--lcd-ink); }
.sx-feed__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 0; }
.sx-feed__chip { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 12px; border-radius: 99px; border: 1px solid #3a3f49; background: #23272e; color: #cfd3da; font: 500 .74rem/1 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.sx-feed__chip:hover { border-color: var(--lcd-dim); color: #fff; }
.sx-feed__chip[aria-pressed="true"] { background: #fff; color: var(--ink); border-color: #fff; }
.sx-feed__chip[aria-pressed="true"]::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--amber-led); }
.sx-feed__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 12px; align-items: stretch; }
.sx-feed__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; min-height: 300px; }
.sx-feed__ev { width: 100%; display: grid; grid-template-columns: 5.4em 6.6em minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 40px; padding: 6px 10px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #cfd3da; font: inherit; text-align: left; cursor: pointer; }
.sx-feed__ev:hover { background: rgba(255,255,255,.05); }
.sx-feed__ev[aria-pressed="true"] { background: rgba(240,163,64,.1); border-color: rgba(240,163,64,.4); }
.sx-feed__t, .sx-feed__s { color: var(--lcd-dim); }
.sx-feed__w { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sx-feed__v { font: 600 .7rem/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; padding: 5px 7px; border-radius: 4px; border: 1px solid #3a3f49; color: #e3e5ea; white-space: nowrap; }
.sx-feed__ev.is-warn .sx-feed__v { color: var(--lcd-ink); border-color: rgba(240,163,64,.45); }
.sx-feed__ev.is-stop .sx-feed__v { background: #fff; color: var(--ink); border-color: #fff; }
.sx-feed__ev.is-stop .sx-feed__w { text-decoration: line-through; text-decoration-thickness: 1.5px; }
.sx-feed__ev.is-new { animation: sx-flick .5s var(--ease) both; }
.sx-feed__rec { border-left: 1px solid var(--lcd-line); padding: 4px 4px 4px 14px; min-width: 0; }
.sx-feed__rh { margin: 0 0 8px; color: var(--lcd-ink); letter-spacing: .08em; text-transform: uppercase; font-size: .72rem; }
.sx-feed__rec dl { margin: 0; }
.sx-feed__rec dl > div { display: grid; grid-template-columns: 8.5em minmax(0, 1fr); gap: 8px; padding: 5px 0; border-top: 1px dashed var(--lcd-line); }
.sx-feed__rec dt { color: var(--lcd-dim); }
.sx-feed__rec dd { margin: 0; color: #e3e5ea; overflow-wrap: anywhere; }
.sx-feed__rec.is-swap dl { animation: sx-flick .4s var(--ease) both; }
.sx-feed__empty { padding: 14px 10px; color: var(--lcd-dim); }
.sx-feed .sx-note { margin-top: 12px; }
.sx-table--ctl tbody th { width: 20%; font: 700 .98rem/1.2 var(--f-cond); letter-spacing: .03em; text-transform: uppercase; }
.sx-table--ctl td:last-child { color: var(--ink); background: var(--ground-2); }
@media (max-width: 960px) {
  .sx-feed__grid { grid-template-columns: 1fr; }
  .sx-feed__rec { border-left: 0; border-top: 1px solid var(--lcd-line); padding: 12px 2px 2px; }
  .sx-feed__list { min-height: 0; }
}
@media (max-width: 560px) {
  .sx-feed__console { padding: 10px; }
  .sx-feed__ev { grid-template-columns: minmax(0, 1fr) auto; row-gap: 3px; }
  .sx-feed__t { grid-column: 1; grid-row: 1; } .sx-feed__s { display: none; }
  .sx-feed__w { grid-column: 1; grid-row: 2; }
  .sx-feed__v { grid-column: 2; grid-row: 1 / span 2; }
  .sx-feed__rec dl > div { grid-template-columns: 1fr; gap: 2px; }
}
.sx-hero > .kd-wrap { gap: clamp(20px, 3vw, 36px); }
.kd-page .sx-wide { margin-top: 0; }

/* ---------- platform engineering: one host, many organisations ---------- */
.sx-hosthero { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(28px, 4vw, 60px); align-items: center; }
.sx-hosthero .kd-h1 { font-size: clamp(2.3rem, 4.2vw, 3.7rem); }
.sx-host__box { position: relative; margin-top: 14px; border: 2px solid var(--ink); border-radius: 16px; padding: 30px 14px 14px; background: var(--ground) url(/assets/art/board-lines.svg) center / cover no-repeat; box-shadow: var(--well); }
.sx-host__label { position: absolute; top: -12px; left: 16px; display: flex; gap: 10px; align-items: baseline; padding: 3px 10px; border-radius: 6px; background: var(--ink); color: #fff; }
.sx-host__label b { font: 700 .8rem/1.2 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; }
.sx-host__label span { font: 500 .7rem/1 var(--f-mono); color: var(--lcd-ink); letter-spacing: .08em; }
.sx-host__floor { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; padding: 10px 12px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); }
.sx-host__k { font: 600 .74rem/1.2 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--ink); }
.sx-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 10px; background: var(--bay); box-shadow: var(--well); }
.sx-seg button { min-height: 36px; padding: 0 10px; border: 0; border-radius: 7px; background: transparent; font: 600 .72rem/1 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-dim); cursor: pointer; }
.sx-seg button:hover { color: var(--ink); }
.sx-seg button[aria-pressed="true"] { background: var(--panel); color: var(--ink); box-shadow: 0 2px 5px rgba(20,22,26,.18); }
.sx-seg button.is-below { color: var(--ink-dimmer); text-decoration: line-through; text-decoration-thickness: 1px; }
.sx-host__lanes { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sx-lane { display: grid; grid-template-columns: minmax(0, 10em) minmax(40px, 1fr) auto minmax(0, 8.5em); gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); box-shadow: 0 6px 14px -12px rgba(20,22,26,.5); }
.sx-lane.is-new { animation: sx-flick .5s var(--ease) both; }
.sx-lane__org b { display: block; font: 700 .95rem/1.1 var(--f-cond); letter-spacing: .06em; text-transform: uppercase; }
.sx-lane__org span { display: block; font: 500 .7rem/1.3 var(--f-mono); color: var(--ink-dimmer); }
.sx-lane__net { position: relative; display: flex; align-items: center; gap: 8px; height: 26px; padding-left: 6px; }
.sx-lane__net::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: var(--amber); }
.sx-lane__net i { position: relative; width: 16px; height: 16px; border-radius: 4px; background: #fff; border: 1.5px solid var(--ink); }
.sx-lane__meter { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; width: 100%; }
.sx-lane__meter span { height: 10px; border-radius: 2px; background: var(--bay); box-shadow: var(--well); }
.sx-lane__meter span.is-on { background: var(--amber); box-shadow: none; }
.sx-lane__meter span.is-floor { box-shadow: -3px 0 0 -1px var(--ink); }
.sx-lane__right { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sx-lane__eff { font: 600 .72rem/1.2 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.sx-lane__eff em { font-style: normal; margin-left: 6px; padding: 3px 5px; border-radius: 4px; background: var(--ink); color: #fff; }
.sx-lane__ask { display: flex; flex-direction: column; gap: 4px; }
.sx-lane__ask small { font: 500 .7rem/1 var(--f-mono); color: var(--ink-dimmer); }
.sx-lane__ask .sx-seg button { min-height: 36px; padding: 0 7px; font-size: .7rem; }
.sx-host__out { margin-top: 10px; padding: 8px 12px; border-radius: 9px; border: 1px dashed var(--line-strong); background: var(--panel); font: 500 .72rem/1.3 var(--f-mono); letter-spacing: .04em; color: var(--ink-dim); text-align: center; }
.sx-host__ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0 10px; }
.sx-host__del:disabled { opacity: .55; cursor: not-allowed; border-style: dashed; text-decoration: line-through; text-decoration-thickness: 1px; }
.sx-host__read { margin: 0; font-size: .76rem; }
.sx-table--who tbody th { width: 18%; font-weight: 600; }
.sx-table--who td:last-child { font: 500 .84rem/1.4 var(--f-mono); color: var(--ink); }
@media (max-width: 1080px) { .sx-hosthero { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .sx-lane { grid-template-columns: minmax(0, 1fr) auto; }
  .sx-lane__net { display: none; }
  .sx-lane__ask { grid-column: 1 / -1; grid-row: 2; }
  .sx-lane__right { grid-column: 2; grid-row: 1; min-width: 7.5em; }
}
@media (max-width: 420px) {
  .sx-host__box { padding: 28px 8px 8px; }
  .sx-seg { width: 100%; }
  .sx-seg button { flex: 1; padding: 0 3px; font-size: .7rem; letter-spacing: 0; min-width: 0; }
  .sx-lane__ask .sx-seg button { padding: 0 2px; font-size: .7rem; }
}

/* ---------- enterprise: the capability switchboard ---------- */
.sx-caps__board { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; padding: 8px; border-radius: 14px; background: var(--bay); box-shadow: var(--well); }
.sx-sw { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); text-align: left; cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .15s var(--ease); }
.sx-sw:hover { border-color: var(--ink-dimmer); }
.sx-sw:active { transform: translateY(1px); }
.sx-sw__n { display: block; padding: 8px 10px; border-radius: 8px; background: var(--lcd); box-shadow: inset 0 2px 6px rgba(0,0,0,.5); font-size: 1.4rem; text-align: right; }
.sx-sw__n::before { inset: 8px 10px; text-align: right; }
.sx-sw__l { display: flex; align-items: center; gap: 6px; font: 600 .72rem/1.2 var(--f-cond); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-dim); }
.sx-sw[aria-pressed="true"] { border-color: var(--ink); background: var(--elevated); box-shadow: 0 1px 0 var(--ink); }
.sx-sw[aria-pressed="true"] .sx-sw__l { color: var(--ink); }
.sx-sw__l .sx-st { padding: 0; width: 9px; height: 9px; border-radius: 50%; min-width: 0; }
.sx-caps__count { margin: 12px 2px 10px; color: var(--ink-dimmer); }
.sx-st { display: inline-block; padding: 5px 8px; border-radius: 5px; font: 600 .7rem/1.3 var(--f-mono); letter-spacing: .04em; border: 1px solid var(--line-strong); background: #fff; color: var(--ink); }
.sx-st--avail { border-color: rgba(184,106,0,.5); }
.sx-st--avail::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--amber-led); vertical-align: 1px; }
.sx-sw__l .sx-st--avail::before { display: none; }
.sx-sw__l .sx-st--avail { background: var(--amber-led); border-color: var(--amber-led); }
.sx-st--partial { border-style: dashed; background: var(--ground-2); color: var(--ink-dim); }
.sx-st--pilot { background: var(--lcd); color: var(--lcd-ink); border-color: var(--lcd); }
.sx-st--na { background: var(--ink); color: #fff; border-color: var(--ink); }
.sx-st--other { background: var(--elevated); color: var(--ink-dim); }
.sx-table--caps tbody th { width: 24%; font-weight: 600; }
.sx-table--caps td:last-child { width: 30%; }
.sx-table--caps tr.is-hidden { display: none; }
.sx-table--caps tr[data-g="na"] th { color: var(--ink); }
.sx-table--proc tbody th { width: 40%; font-weight: 600; }
.sx-table--proc td .sx-st { margin-right: 8px; }
.sx-after { margin-top: 18px; }
.sx-queue { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--ink); }
.sx-queue li { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 52px; border-bottom: 1px dashed var(--line-strong); font: 700 1.05rem/1.2 var(--f-cond); letter-spacing: .04em; text-transform: uppercase; }
.sx-queue b { font: 600 .7rem/1 var(--f-mono); letter-spacing: .08em; padding: 5px 7px; border-radius: 5px; background: var(--ink); color: #fff; }
@media (max-width: 1080px) { .sx-caps__board { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) { .sx-caps__board { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sx-sw__n { font-size: 1.15rem; } }

/* hero fixes: the grid never grows past the viewport, and the board art keeps its scale on tall heroes */
.sx-hero > .kd-wrap { grid-template-columns: minmax(0, 1fr); }
.sx-hero > .kd-wrap > * { min-width: 0; }
.sx-hero::before { background-size: max(1440px, 100%) auto; background-position: center top; }
.sx-hero__row .kd-h1 { font-size: clamp(2.3rem, 4.6vw, 4.1rem); }
.sx-hero--caps .sx-hero__row .kd-h1 { font-size: clamp(2.2rem, 3.9vw, 3.5rem); }

/* ---------- composition variants ---------- */
.sx-hero__head--feed { max-width: 760px; }
.sx-hero__head--feed .kd-h1 { font-size: clamp(2.3rem, 4.6vw, 4.1rem); }
.sx-feed__console { display: grid; grid-template-columns: 158px minmax(0, 1fr); column-gap: 14px; }
.sx-feed__top { grid-column: 1 / -1; margin-bottom: 10px; }
.sx-feed__chips { flex-direction: column; align-items: stretch; padding: 0; gap: 4px; border-right: 1px solid var(--lcd-line); padding-right: 12px; }
.sx-feed__chip { justify-content: flex-start; border-radius: 8px; }
.sx-capshero { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin-bottom: clamp(20px, 3vw, 32px); }
.sx-capshero .kd-h1 { font-size: clamp(2.2rem, 3.9vw, 3.5rem); }
.sx-caps__panel .sx-caps__board { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sx-caps__count { margin-bottom: 0; }
.sx-caps__gh { display: none; }
.sx-table--caps tr.sx-caps__gh.is-hidden { display: none !important; }
@media (max-width: 1080px) { .sx-capshero { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .sx-feed__console { grid-template-columns: 1fr; }
  .sx-feed__chips { flex-direction: row; flex-wrap: wrap; border-right: 0; padding: 0 0 10px; }
  .sx-table--caps tbody tr.sx-caps__gh { display: block; background: none; border: 0; box-shadow: none; margin-top: 14px; }
  .sx-caps__gh th { padding: 0 2px !important; font: 700 1rem/1.2 var(--f-cond); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); display: flex !important; align-items: center; gap: 8px; }
  .sx-caps__gh .sx-st { padding: 0; width: 10px; height: 10px; border-radius: 50%; }
  .sx-caps__gh .sx-st--avail::before { display: none; }
  .sx-caps__gh .sx-st--avail { background: var(--amber-led); border-color: var(--amber-led); }
  .sx-table--caps tbody tr[data-g="avail"] { order: 2; } .sx-table--caps tbody tr.sx-caps__gh[data-g="avail"] { order: 1; }
  .sx-table--caps tbody tr[data-g="partial"] { order: 4; } .sx-table--caps tbody tr.sx-caps__gh[data-g="partial"] { order: 3; }
  .sx-table--caps tbody tr[data-g="pilot"] { order: 6; } .sx-table--caps tbody tr.sx-caps__gh[data-g="pilot"] { order: 5; }
  .sx-table--caps tbody tr[data-g="na"] { order: 8; } .sx-table--caps tbody tr.sx-caps__gh[data-g="na"] { order: 7; }
  .sx-table--caps tbody tr[data-g="other"] { order: 10; } .sx-table--caps tbody tr.sx-caps__gh[data-g="other"] { order: 9; }
}
@media (max-width: 480px) { .sx-caps__panel .sx-caps__board { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1080px) { .sx-capshero { grid-template-columns: minmax(0, 1fr); } }
.sx-capshero > *, .sx-caps, .sx-sw { min-width: 0; }
.sx-sw__l { overflow-wrap: anywhere; }
.kd-page:has(> .sx-hero) .kd-module__bar { flex-wrap: wrap; row-gap: 6px; } .kd-page:has(> .sx-hero) .kd-module__bar .kd-tag { white-space: normal; }

/* ---------- fix round: pipeline as the hero ---------- */
.sx-pipe__head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 14px 40px; align-items: end; padding: 6px 6px 22px; }
.sx-pipe__head .kd-h1 { font-size: clamp(2.2rem, 4.2vw, 3.8rem); }
.sx-pipe__head .sx-hero__side { gap: 14px; }
.sx-pipe .kd-pipe__track { background: var(--ground); padding-top: 18px; }
.sx-pipe .kd-pipe__stamp { top: 22%; }
.sx-pipe .kd-pipe__log { min-height: 0; }
.sx-pipe__foot { align-items: stretch; }
@media (max-width: 960px) { .sx-pipe__head { grid-template-columns: 1fr; padding-bottom: 16px; } }

/* ---------- fix round: contractor badge on narrow screens ---------- */
@media (max-width: 560px) {
  .sx-badge__strap, .sx-badge__clip { display: none; }
  .sx-badge__card { margin-top: 0; }
  .sx-badgehero .kd-hero__copy, .sx-badgehero .sx-hero__head { gap: 14px; }
  .sx-badgehero .kd-lede { font-size: 1rem; }
  .sx-badgehero .kd-link { display: none; }
}

/* ---------- fix round: enterprise filter keys carry their counts ---------- */
.sx-caps__panel .sx-caps__board { grid-template-columns: 1fr; gap: 4px; padding: 6px; }
.sx-sw { flex-direction: row; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 0 12px; }
.sx-sw__c { font: 600 .82rem/1 var(--f-mono); color: var(--ink); font-variant-numeric: tabular-nums; padding: 4px 7px; border-radius: 5px; background: var(--elevated); border: 1px solid var(--line); }
.sx-sw[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); box-shadow: none; }
.sx-sw[aria-pressed="true"] .sx-sw__l { color: #fff; }
.sx-sw[aria-pressed="true"] .sx-sw__c { background: #2a2e36; border-color: #3a3f49; color: var(--lcd-ink); }
@media (max-width: 480px) { .sx-caps__panel .sx-caps__board { grid-template-columns: 1fr; } }
