/* The visual story is opt-in. These rules do not style ordinary blog posts. */
.main-content:has(.rbt-story) { padding-top: 50px; margin-bottom: 0; }
.wrapper_landing:has(.rbt-story) { overflow: visible; }
body:has(.rbt-story) .cta04_wrap { display:none; }
.rbt-story { --paper:#f7f5ef; --ink:#242d31; --muted:#626b6c; --line:#d8d9d1; --blue:#315c94; --rust:#ac503b; --sage:#356756; --site-header:90px; margin-top:40px; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.5; isolation:isolate; }
.rbt-story *, .rbt-story *::before, .rbt-story *::after { box-sizing:border-box; }
.rbt-story [hidden] { display:none!important; }
.rbt-story a { color:inherit; text-underline-offset:4px; }
.rbt-story button, .rbt-story select, .rbt-story input { font:inherit; }
.rbt-story a:focus-visible, .rbt-story button:focus-visible, .rbt-story select:focus-visible, .rbt-story input:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.rbt-bar { position:sticky; top:var(--site-header); z-index:5; display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:64px; padding:14px max(24px,calc((100% - 1240px)/2)); background:var(--paper); border-bottom:1px solid var(--line); }
.rbt-brand { text-decoration:none; font-size:15px; font-weight:700; white-space:nowrap; }
.rbt-brand span { font-weight:400; margin-left:14px; }
.rbt-brand span:first-child { color:#9ba19a; }
.rbt-bar-actions { display:flex; align-items:center; gap:28px; }
.rbt-counter { font-variant-numeric:tabular-nums; font-size:14px; color:var(--muted); white-space:nowrap; }
.rbt-explore { font-size:14px; text-decoration:none; border-bottom:1px solid var(--ink); white-space:nowrap; }
.rbt-explore span { margin-left:12px; }
.rbt-progress { position:absolute; bottom:-1px; left:0; width:100%; height:2px; }
.rbt-progress span { display:block; width:3.5714%; height:100%; background:var(--blue); transition:width .25s ease; }
.rbt-layout { max-width:1320px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:minmax(0, .87fr) minmax(0, 1.13fr); gap:64px; position:relative; }
.rbt-narrative { grid-column:1; grid-row:1; min-width:0; }
.rbt-slide { min-height:90svh; display:flex; align-items:center; padding:80px 0; scroll-margin-top:154px; }
.rbt-slide:first-child { min-height:calc(100svh - 160px); padding-top:48px; }
.rbt-slide-copy { max-width:455px; width:100%; }
.rbt-eyebrow { color:var(--blue); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:1.6px; margin:0 0 26px; }
.rbt-eyebrow span { margin:0 12px; color:#9aacae; }
.rbt-story h1, .rbt-story h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-1.6px; color:var(--ink); text-wrap:balance; margin:0 0 28px; line-height:1.1; }
.rbt-story h1 { font-size:clamp(44px,4.25vw,64px); }
.rbt-title-topic { display:block; margin-top:18px; font:14px/1.5 Arial,Helvetica,sans-serif; letter-spacing:0; color:var(--muted); }
.rbt-story h2 { font-size:clamp(36px,3.6vw,54px); }
.rbt-prose p { font-family:Georgia,'Times New Roman',serif; font-size:23px; line-height:1.45; margin:0 0 14px; }
.rbt-prose p:last-child { margin-bottom:0; }
.rbt-byline { font-size:13px; line-height:1.7; color:var(--muted); margin:32px 0 0; }
.rbt-scroll-cue { display:inline-flex; align-items:center; gap:24px; margin-top:32px; font-size:14px; text-decoration:none; }
.rbt-scroll-cue span { font-size:23px; }
.rbt-stage { grid-row:1; grid-column:2; position:sticky; top:calc(var(--site-header) + 84px); height:min(560px,calc(100svh - 200px)); min-height:480px; align-self:start; margin-top:25px; padding:24px; border:1px solid var(--line); border-radius:3px; background-color:#f0f0e8; background-image:linear-gradient(#748c9220 1px,transparent 1px),linear-gradient(90deg,#748c9220 1px,transparent 1px); background-size:26px 26px; display:flex; flex-direction:column; overflow:hidden; }
.rbt-stage-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.rbt-stage-kicker { font-size:14px; font-weight:700; }
.rbt-example-label { color:var(--muted); font-size:12px; white-space:nowrap; }
.rbt-scene { flex:1; min-height:0; display:flex; flex-direction:column; justify-content:center; }
.rbt-time-equation { display:flex; gap:30px; align-items:center; padding:0 8px 26px; }
.rbt-time-equation>div { display:flex; flex-direction:column; }
.rbt-time-equation strong { font-family:Georgia,serif; font-weight:400; font-size:64px; line-height:1; }
.rbt-time-equation small { font:14px Arial,sans-serif; padding-left:8px; }
.rbt-time-equation div>span { font-size:13px; margin-top:10px; color:var(--muted); }
.rbt-time-budget { color:var(--rust); }
.rbt-time-divider { font:54px Georgia,serif; color:#b5bcb4; }
.rbt-queue { display:grid; gap:8px; }
.rbt-risk-card { display:flex; gap:12px; align-items:center; min-height:54px; background:#fcfbf7; padding:11px 12px; border:1px solid #c9cec5; box-shadow:0 2px 0 #cdd4cb50; border-radius:3px; transition:opacity .35s,transform .35s,border-color .35s,background .35s; }
.rbt-risk-number { color:#7a8785; font-size:12px; font-variant-numeric:tabular-nums; }
.rbt-risk-card>div { flex:1; min-width:0; }
.rbt-risk-card strong { display:block; font-size:15px; font-weight:600; }
.rbt-risk-links { display:none; font-size:12px; color:var(--muted); }
.rbt-duration { font-size:13px; white-space:nowrap; color:var(--muted); }
.rbt-stage-caption { font:17px/1.45 Georgia,serif; margin:20px 0 0; min-height:26px; }
.rbt-stage[data-scene="2"] [data-queue-risk="search"], .rbt-stage[data-scene="2"] [data-queue-risk="export"], .rbt-stage[data-scene="2"] [data-queue-risk="avatar"] { opacity:.4; transform:translateX(10px); border-style:dashed; }
.rbt-stage[data-scene="3"] .rbt-risk-links { display:block; }
.rbt-stage[data-scene="3"] .rbt-time-equation { display:none; }
.rbt-stage[data-scene="4"] .rbt-risk-card:not([data-queue-risk="avatar"]), .rbt-stage[data-scene="5"] .rbt-risk-card:not([data-queue-risk="payment"]) { opacity:.25; }
.rbt-stage[data-scene="4"] [data-queue-risk="avatar"] { border-color:var(--blue); background:#e5ebf1; transform:translateX(-8px); }
.rbt-stage[data-scene="5"] [data-queue-risk="payment"] { border-color:var(--rust); background:#f3e2d9; transform:translateX(-8px); }

.rbt-formula { display:flex; gap:12px; align-items:center; justify-content:center; font-size:16px; margin-bottom:26px; }
.rbt-formula b { color:var(--muted); font-weight:400; }
.rbt-matrix { display:grid; grid-template-columns:26px minmax(0,1fr); column-gap:12px; row-gap:12px; width:100%; max-width:430px; margin:0 auto; }
.rbt-axis-y { grid-column:1; grid-row:1; writing-mode:vertical-rl; transform:rotate(180deg); text-align:center; font-size:12px; }
.rbt-axis-y span { display:block; font-size:11px; color:var(--muted); margin-right:4px; }
.rbt-matrix-grid { grid-row:1; grid-column:2; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.rbt-cell { aspect-ratio:1.15; background:#e0e6df; border:1px solid #c5cfc7; padding:8px; position:relative; min-width:0; }
.rbt-cell[data-score="3"], .rbt-cell[data-score="4"] { background:#e9e4cb; border-color:#d8cca7; }
.rbt-cell[data-score="6"], .rbt-cell[data-score="9"] { background:#eed9cb; border-color:#dfbfae; }
.rbt-cell-score { font:24px Georgia,serif; opacity:.55; }
.rbt-cell-risks { display:flex; flex-wrap:wrap; align-content:flex-start; gap:4px; position:absolute; left:7px; right:5px; bottom:7px; }
.rbt-token { display:inline-block; background:#fffdf6; font-size:11px; line-height:1.2; font-weight:700; border:1px solid #818c7f; border-radius:2px; padding:4px 5px; transition:opacity .3s,transform .3s; }
.rbt-token.is-new { outline:2px solid var(--blue); outline-offset:2px; }
.rbt-axis-x { grid-column:2; text-align:center; font-size:12px; }
.rbt-axis-x span { color:var(--muted); margin-left:15px; }
.rbt-stage[data-scene="7"] .rbt-axis-x, .rbt-stage[data-scene="7"] .rbt-formula { opacity:.15; }
.rbt-stage[data-scene="7"] .rbt-cell-score, .rbt-stage[data-scene="8"] .rbt-cell-score, .rbt-stage[data-scene="9"] .rbt-cell-score { visibility:hidden; }
.rbt-stage[data-scene="7"] .rbt-cell, .rbt-stage[data-scene="8"] .rbt-cell, .rbt-stage[data-scene="9"] .rbt-cell { background:#e6e9e1; }
.rbt-stage[data-scene="8"] .rbt-formula, .rbt-stage[data-scene="9"] .rbt-formula { opacity:.2; }
.rbt-plan-summary { display:flex; gap:48px; margin:0 0 16px; }
.rbt-plan-summary>div { display:flex; flex-direction:column; }
.rbt-plan-summary strong { font:38px Georgia,serif; }
.rbt-plan-summary strong span { font:18px Georgia,serif; color:var(--muted); }
.rbt-plan-summary>div>span { font-size:13px; color:var(--muted); margin-top:5px; }
.rbt-plan-list { display:grid; gap:7px; }
/* Risk groups carry scores; linked test cases carry durations and plan state. */
.rbt-risk-plan { border:1px dashed #a9b3ac; color:var(--muted); background:#f7f5efc9; padding:8px 10px; }
.rbt-risk-heading { display:grid; grid-template-columns:16px minmax(0,1fr) auto; gap:8px; align-items:baseline; }
.rbt-risk-heading strong { font-size:14px; font-weight:500; line-height:1.3; }
.rbt-risk-score { font-size:12px; white-space:nowrap; }
.rbt-risk-meta { margin:3px 0 0 24px; display:flex; justify-content:space-between; gap:8px; font-size:11px; line-height:1.4; }
.rbt-risk-plan.is-planned { border-style:solid; border-color:#98b0a5; background:#dfeae2; color:#244a3e; }
.rbt-risk-plan.is-partial { border-style:solid; border-color:#c5b979; background:#eee8cf; color:#695920; }
.rbt-risk-plan.is-changed { outline:2px solid var(--blue); }
.rbt-risk-parent { padding:20px 22px; background:#f3e2d9; border:1px solid #c58f77; border-left:4px solid var(--rust); display:flex; flex-direction:column; }
.rbt-risk-parent strong { font:28px/1.2 Georgia,serif; margin:8px 0 12px; }
.rbt-risk-parent>span:last-child { font-size:13px; color:var(--muted); }
.rbt-entity-label { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.rbt-test-branches { margin:0 0 0 24px; padding:22px 0 0 24px; border-left:1px solid #8c9b8e; }
.rbt-test-branches>.rbt-entity-label { display:block; margin-bottom:10px; color:var(--muted); }
.rbt-linked-case { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fcfbf7; border:1px solid #c9cec5; padding:12px; margin-bottom:8px; font-size:14px; }
.rbt-linked-case::before { content:''; position:absolute; width:24px; left:-25px; top:50%; border-top:1px solid #8c9b8e; }
.rbt-linked-case>span:last-child { font-size:12px; white-space:nowrap; color:var(--muted); }
.rbt-small-note { color:var(--muted); font-size:13px; line-height:1.5; margin:12px 0 0; }
.rbt-static-note { display:none; }
.rbt-record-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0 0; }
.rbt-record-fields>div { padding:14px 16px; border:1px solid #c9cec5; background:#fcfbf7; }
.rbt-record-fields dt { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:1px; }
.rbt-record-fields dd { margin:7px 0 0; font-size:17px; line-height:1.4; }
.rbt-record-wide { grid-column:1/-1; }
.rbt-product-label { font-size:20px; font-weight:700; margin-bottom:20px; }
.rbt-product-label>span { display:block; margin-top:6px; font-size:13px; font-weight:400; color:var(--muted); }
.rbt-priority-table { border:1px solid #b9c3b8; background:#fcfbf7; }
.rbt-priority-header, .rbt-priority-row { display:grid; grid-template-columns:minmax(0,1fr) 80px; gap:16px; align-items:center; padding:16px; }
.rbt-priority-header { background:#e2e6dd; font-size:12px; color:var(--muted); }
.rbt-priority-row { border-top:1px solid #d4dad0; font-size:15px; }
.rbt-exposure-pill { display:inline-block; justify-self:start; padding:3px 13px; color:#823a2c; background:#f3e2d9; border:1px solid #cda18b; border-radius:20px; font-size:13px; }
.rbt-verification-summary { display:flex; gap:48px; margin:22px 0; }
.rbt-verification-summary>div { display:flex; flex-direction:column; }
.rbt-verification-summary span { font-size:12px; color:var(--muted); }
.rbt-verification-summary strong { margin-top:5px; font-size:19px; font-weight:500; }
.rbt-failing { color:var(--rust); }
.rbt-verification-tests { list-style:none; padding:0!important; margin:0!important; }
.rbt-verification-tests li { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px; margin:0 0 7px; background:#fcfbf7; border:1px solid #c9cec5; font-size:14px; }
.rbt-test-result { font-size:11px; padding:3px 8px; border-radius:20px; white-space:nowrap; }
.rbt-test-result-passed { color:#244a3e; background:#dfeae2; }
.rbt-test-result-failed { color:#823a2c; background:#f3e2d9; }
.rbt-test-result-not-run { color:#626b6c; background:#e8e9e3; }
.rbt-closing { max-width:1240px; margin:0 auto; padding:100px 32px 90px; border-top:1px solid var(--line); text-align:center; scroll-margin-top:154px; }
.rbt-closing h2 { max-width:800px; margin:0 auto 28px; font-size:clamp(40px,4.5vw,62px); }
.rbt-closing .rbt-prose { max-width:650px; margin:0 auto; }
.rbt-story .rbt-signup-button { display:inline-flex; align-items:center; gap:28px; margin-top:32px; padding:16px 24px; background:var(--blue); color:#fff; border:1px solid var(--blue); border-radius:3px; text-decoration:none; font-size:16px; }
.rbt-signup-button:hover { background:#254978; }
.rbt-read-again { display:inline-block; margin-top:28px; font-size:14px; }
@media (min-width:900px) and (max-height:700px) {
  .rbt-stage { top:calc(var(--site-header) + 76px); height:calc(100svh - 185px); min-height:380px; padding:18px; margin-top:12px; }
  .rbt-stage-heading { margin-bottom:10px; }
  .rbt-time-equation { padding-bottom:15px; }
  .rbt-time-equation strong { font-size:48px; }
  .rbt-risk-card { min-height:46px; padding:8px 12px; }
  .rbt-stage-caption { margin-top:12px; }
  .rbt-formula { margin-bottom:16px; }
  .rbt-matrix { max-width:400px; margin:0 auto; width:100%; }
}
@media (max-width:1050px) {
  .rbt-layout { padding:0 28px; gap:30px; grid-template-columns:.85fr 1.15fr; }
  .rbt-stage { padding:18px; }
  .rbt-example-label { display:none; }
}
@media (max-width:760px) {
  .main-content:has(.rbt-story) { padding:24px 0 0; }
  .rbt-story { --site-header:80px; margin-top:56px; }
  .rbt-bar { min-height:56px; padding:12px 18px; }
  .rbt-brand { font-size:14px; }
  .rbt-brand span { display:none; }
  .rbt-bar-actions { gap:16px; }
  .rbt-counter { font-size:12px; }
  .rbt-explore { font-size:12px; }
  .rbt-explore span { margin-left:3px; }
  .rbt-layout { display:flex; flex-direction:column; padding:0; gap:0; }
  .rbt-stage { order:-1; top:calc(var(--site-header) + 56px); height:36svh; min-height:290px; max-height:320px; width:calc(100% - 28px); margin:14px 14px 0; padding:14px; z-index:2; flex:none; }
  .rbt-stage-heading { margin-bottom:8px; }
  .rbt-stage-kicker { font-size:12px; }
  .rbt-narrative { padding:0 24px; }
  .rbt-slide { min-height:68svh; padding:40px 0 80px; align-items:flex-start; scroll-margin-top:max(450px,calc(36svh + 160px)); }
  .rbt-slide:first-child { min-height:70svh; padding-top:30px; }
  .rbt-slide-copy { max-width:100%; }
  .rbt-eyebrow { margin-bottom:18px; font-size:12px; }
  .rbt-story h1 { font-size:40px; }
  .rbt-story h2 { font-size:35px; letter-spacing:-1px; margin-bottom:20px; }
  .rbt-prose p { font-size:20px; }
  .rbt-byline { font-size:12px; margin-top:24px; }
  .rbt-scroll-cue { margin-top:22px; }
  .rbt-time-equation { gap:20px; padding:0 0 10px; }
  .rbt-time-equation strong { font-size:32px; }
  .rbt-time-equation div>span { margin-top:3px; font-size:11px; }
  .rbt-time-equation small { font-size:12px; }
  .rbt-time-divider { font-size:30px; }
  .rbt-queue { gap:4px; }
  .rbt-risk-card { min-height:28px; padding:4px 8px; gap:8px; }
  .rbt-risk-card strong { font-size:12px; }
  .rbt-duration { font-size:11px; }
  .rbt-risk-number { font-size:10px; }
  .rbt-risk-links { font-size:11px; }
  .rbt-stage-caption { font-size:13px; line-height:1.3; margin-top:9px; min-height:17px; }
  .rbt-formula { font-size:12px; gap:8px; margin-bottom:8px; }
  .rbt-matrix { max-width:330px; width:100%; margin:0 auto; grid-template-columns:20px 1fr; gap:5px; }
  .rbt-cell { aspect-ratio:2.1; padding:4px; }
  .rbt-cell-score { font-size:16px; }
  .rbt-token { font-size:10px; padding:2px 3px; }
  .rbt-cell-risks { bottom:4px; left:4px; gap:2px; }
  .rbt-axis-y, .rbt-axis-x { font-size:10px; }
  .rbt-axis-y span { display:none; }
  .rbt-axis-x span { margin-left:8px; }
  .rbt-plan-summary { margin:0 0 8px; gap:30px; }
  .rbt-plan-summary strong { font-size:26px; }
  .rbt-plan-summary>div>span { font-size:11px; margin:0; }
  .rbt-plan-list { gap:4px; }
  .rbt-stage .rbt-risk-plan { padding:3px 6px; }
  .rbt-stage .rbt-risk-heading { grid-template-columns:12px minmax(0,1fr) auto; gap:5px; line-height:1; }
  .rbt-stage .rbt-risk-heading strong { font-size:11px; }
  .rbt-stage .rbt-risk-heading>span:first-child { font-size:11px; line-height:14px; }
  .rbt-stage .rbt-risk-score { font-size:10px; }
  .rbt-stage .rbt-risk-meta { margin:1px 0 0 17px; font-size:9px; line-height:1.2; }
  .rbt-risk-parent { padding:10px 14px; }
  .rbt-risk-parent strong { font-size:21px; margin:4px 0 6px; }
  .rbt-risk-parent>span:last-child { font-size:11px; }
  .rbt-entity-label { font-size:9px; }
  .rbt-test-branches { padding:10px 0 0 18px; margin-left:18px; }
  .rbt-test-branches>.rbt-entity-label { margin-bottom:5px; }
  .rbt-linked-case { padding:5px 9px; margin-bottom:4px; font-size:12px; }
  .rbt-linked-case::before { width:18px; left:-19px; }
  .rbt-linked-case>span:last-child { font-size:10px; }
  .rbt-plan-scene>.rbt-small-note, .rbt-plan-scene>.rbt-stage-caption { display:none; }
  .rbt-record-fields { gap:7px; margin-top:10px; }
  .rbt-record-fields>div { padding:7px 10px; }
  .rbt-record-fields dt { font-size:9px; }
  .rbt-record-fields dd { font-size:13px; margin-top:3px; }
  .rbt-product-label { font-size:15px; margin-bottom:10px; }
  .rbt-product-label>span { font-size:11px; margin-top:2px; }
  .rbt-priority-header, .rbt-priority-row { padding:7px 10px; gap:12px; grid-template-columns:minmax(0,1fr) 62px; }
  .rbt-priority-header { font-size:10px; }
  .rbt-priority-row { font-size:12px; }
  .rbt-exposure-pill { padding:1px 10px; font-size:11px; }
  .rbt-verification-summary { gap:36px; margin:10px 0; }
  .rbt-verification-summary span { font-size:10px; }
  .rbt-verification-summary strong { font-size:14px; margin-top:2px; }
  .rbt-verification-tests li { padding:6px 9px; font-size:11px; margin-bottom:4px; gap:8px; }
  .rbt-test-result { font-size:9px; padding:2px 6px; }
  .rbt-closing { padding:65px 24px; scroll-margin-top:136px; }
  .rbt-closing h2 { font-size:38px; }
  .rbt-story .rbt-signup-button { padding:14px 20px; font-size:15px; }

}
@media (prefers-reduced-motion:reduce) {
  .rbt-story *, .rbt-story *::before, .rbt-story *::after { transition:none!important; scroll-behavior:auto!important; }
}
@media print {
  .rbt-layout { display:block; }
  .rbt-slide { min-height:0; padding:20px 0; break-inside:avoid; }
  .rbt-static-note { display:block; }
}
