/* AI Governance Readiness Assessment. Tokens only, so the light theme applies unchanged. */
.rd-intro { max-width: var(--measure); padding-top: 8px; }
.readiness { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 32px; align-items: start; margin-top: clamp(32px, 4vw, 56px); }
.rd-main { display: grid; gap: clamp(36px, 4vw, 56px); min-width: 0; }
.rd-side { position: sticky; top: calc(var(--nav-top) + var(--nav-h) + 20px); }
.rd-step { display: grid; gap: 20px; }
.rd-step__title { display: flex; align-items: center; gap: 14px; font-size: var(--fs-sub); font-weight: 650; letter-spacing: -.03em; line-height: 1.1; }
.rd-step__title > span { display: inline-grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 50%; background: var(--brand); color: var(--on-brand); font-size: 1rem; letter-spacing: 0; }
.rd-step__title small { margin-left: auto; font-size: var(--fs-small); font-weight: 500; letter-spacing: 0; color: var(--text-2); }
.rd-step__lead { color: var(--text-2); font-size: var(--fs-small); line-height: 1.6; }
.rd-fs { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 12px; }
.rd-fs > legend { padding: 0; margin-bottom: 12px; font-weight: 600; color: var(--text); }
.rd-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rd-flags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rd-tier, .rd-opt, .rd-check { position: relative; display: block; cursor: pointer; }
.rd-tier input, .rd-opt input { position: absolute; opacity: 0; pointer-events: none; }
.rd-tier__box, .rd-opt__box, .rd-check > span { display: grid; gap: 6px; height: 100%; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-inner); background: var(--surface); transition: border-color .18s, background-color .18s; }
.rd-tier__box b, .rd-opt__box b, .rd-check b { font-weight: 600; color: var(--text); }
.rd-tier__box small, .rd-opt__box small, .rd-check small { font-size: var(--fs-caption); line-height: 1.5; color: var(--text-2); }
.rd-tier:hover .rd-tier__box, .rd-opt:hover .rd-opt__box, .rd-check:hover > span { border-color: var(--line-2); }
.rd-tier input:checked + .rd-tier__box, .rd-opt input:checked + .rd-opt__box { border-color: var(--accent); background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--accent); }
.rd-tier input:focus-visible + .rd-tier__box, .rd-opt input:focus-visible + .rd-opt__box, .rd-check input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.rd-check { display: flex; }
.rd-check input { position: absolute; opacity: 0; pointer-events: none; }
.rd-check > span { flex: 1; padding-left: 50px; position: relative; }
.rd-check > span::before { content: ""; position: absolute; left: 18px; top: 18px; width: 18px; height: 18px; border-radius: 6px; border: 1.5px solid var(--line-2); background: var(--bg); }
.rd-check input:checked + span { border-color: var(--accent); background: var(--surface-2); }
.rd-check input:checked + span::before { border-color: var(--accent); background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23141619' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
#rd-questions { display: grid; gap: 16px; }
.rd-q { border: 1px solid var(--line); padding: clamp(18px, 2.4vw, 26px); margin: 0; min-width: 0; display: grid; gap: 12px; }
.rd-q__head { display: flex; align-items: baseline; gap: 12px; padding: 0; float: left; width: 100%; }
.rd-q__head + * { clear: both; }
.rd-q__id { font-size: var(--fs-caption); font-weight: 600; letter-spacing: .08em; color: var(--accent); white-space: nowrap; }
.rd-q__name { font-size: var(--fs-card); font-weight: 650; letter-spacing: -.028em; line-height: 1.2; color: var(--text); }
.rd-q__ask { color: var(--text); line-height: 1.6; }
.rd-q__ev { font-size: var(--fs-caption); color: var(--text-2); line-height: 1.5; }
.rd-q__ev span { color: var(--text); font-weight: 600; }
.rd-opts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 4px; }
.rd-opt__box { padding: 14px; }
.rd-agentic { border: 1px solid var(--line); padding: clamp(18px, 2.4vw, 26px); }
.rd-agentic > legend { float: left; width: 100%; margin-bottom: 4px; font-size: var(--fs-card); font-weight: 650; letter-spacing: -.028em; }
.rd-agentic > legend + * { clear: both; }
.rd-elist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.rd-res { padding: 24px; border: 1px solid var(--line-2); }
.rd-empty { color: var(--text-2); line-height: 1.6; }
.rd-res__eyebrow { font-size: var(--fs-caption); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.rd-score { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin-top: 8px; }
.rd-score__n { font-size: clamp(3.25rem, 2.6rem + 2vw, 4.25rem); font-weight: 650; letter-spacing: -.05em; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.rd-score__pct { font-size: 1.5rem; font-weight: 600; color: var(--text-2); margin-left: -6px; }
.rd-score .pill { align-self: center; }
.rd-note { margin-top: 10px; font-size: var(--fs-caption); color: var(--text-2); line-height: 1.5; }
.rd-h { margin-top: 24px; font-size: var(--fs-small); font-weight: 600; color: var(--text); }
.rd-bars { display: grid; gap: 12px; margin: 12px 0 0; padding: 0; list-style: none; }
.rd-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; font-size: var(--fs-caption); }
.rd-bar__name { color: var(--text-2); line-height: 1.4; }
.rd-bar__val { color: var(--text); font-weight: 600; font-variant-numeric: tabular-nums; }
.rd-bar__track { grid-column: 1 / -1; height: 6px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.rd-bar__track span { display: block; height: 100%; border-radius: inherit; background: var(--tone, var(--accent)); transition: width .35s var(--ease); }
.rd-bar.tone-mint { --tone: var(--mint); } .rd-bar.tone-sky { --tone: var(--sky); } .rd-bar.tone-gold { --tone: var(--gold); } .rd-bar.tone-rose { --tone: var(--rose); }
.rd-bar.is-na .rd-bar__val { color: var(--text-3); font-weight: 500; }
.rd-gaps { display: grid; gap: 14px; margin: 12px 0 0; padding: 0; list-style: none; }
.rd-gaps li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 10px; font-size: var(--fs-caption); line-height: 1.5; color: var(--text-2); }
.rd-gap__n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--surface-2); color: var(--text); font-weight: 600; }
.rd-gap__t { display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; color: var(--text); }
.rd-gap__lvl { color: var(--text-3); }
.rd-gaps p + p { margin-top: 4px; }
.rd-gaps .link { display: inline-block; margin-top: 4px; color: var(--accent); }
.rd-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.rd-next { margin-top: 18px; font-size: var(--fs-small); color: var(--text-2); line-height: 1.5; }
.rd-next .link { color: var(--accent); }
.rd-private { margin-top: 14px; font-size: var(--fs-caption); color: var(--text-3); line-height: 1.5; }
.rd-print { display: none; }
.rd-jump { display: none; color: var(--accent); }
#rd-results-title { scroll-margin-top: calc(var(--nav-top) + var(--nav-h) + 24px); }
.rd-about { max-width: var(--measure); margin-top: clamp(56px, 6vw, 88px); }
@media (max-width: 1023px) {
  .readiness { grid-template-columns: minmax(0, 1fr); }
  .rd-side { position: static; }
  .rd-jump { display: inline; }
  .rd-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rd-tiers, .rd-flags, .rd-elist { grid-template-columns: minmax(0, 1fr); }
  .rd-opts { grid-template-columns: minmax(0, 1fr); }
  .rd-opt__box small { display: none; }
  .rd-res { padding: 18px; }
}
@media print {
  .capsule, .menu-sheet, .ask-dock, .footer, .progress, .skip-link, .rd-main, .rd-actions, .doc-hero, .rd-about, .rd-intro, .lo-next { display: none !important; }
  html, body { background: #fff !important; color: #111 !important; }
  .readiness { display: block; margin: 0; }
  .rd-side { position: static; }
  .rd-res { border: 1px solid #ccc; background: #fff !important; box-shadow: none; }
  .rd-res *, .rd-print * { color: #111 !important; }
  .rd-print { display: block; margin-top: 24px; font-size: 12px; line-height: 1.5; }
  .rd-print h2 { font-size: 15px; margin: 18px 0 8px; }
  .rd-print table { width: 100%; border-collapse: collapse; }
  .rd-print th, .rd-print td { text-align: left; padding: 5px 8px; border-bottom: 1px solid #ddd; }
  .rd-print ol { padding-left: 18px; }
  .rd-print li + li { margin-top: 6px; }
  .rd-bar__track { background: #eee !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
