/* Shared, readable process illustrations for every audience. */
body[data-audience][data-object] .stage{min-height:960px;height:100svh}
body[data-audience][data-object] .story-layout{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;min-height:740px;max-height:none;padding-top:32px;flex:0 0 auto}
body[data-audience][data-object] .scene-copy{grid-column:1;grid-row:1;min-height:0;padding:75px 0 0}
body[data-audience][data-object] .scene{position:relative;inset:auto;display:none}
body[data-audience][data-object] .scene.active{display:flex}
body[data-audience][data-object] .object-stage{grid-column:2;grid-row:1;transform:none;height:auto;min-height:0;max-height:none;perspective:none}
body[data-audience][data-object] .object-pose{position:relative;left:auto;top:auto;width:100%;max-width:550px;scale:1;transform:none!important;transition:none;margin:0 auto}
body[data-audience][data-object] .object-shell,body[data-audience][data-object] .object-front{position:relative;transform:none}
body[data-audience][data-object] .object-front{padding:26px;min-height:0;border:0;border-radius:4px;clip-path:none;background:#edf3f5!important;box-shadow:none}
body[data-audience][data-object] .object-back{display:none}
body[data-audience][data-object] .object-top{display:flex;font-size:12px;line-height:1.5;letter-spacing:.5px;padding-bottom:15px;margin-bottom:20px;border-bottom:1px solid #b9c5cb;color:#46545c}
body[data-audience][data-object] .object-top span:last-child{display:none}
body[data-audience][data-object] .story-controls{margin-top:18px}
.process-diagram{animation:diagram-enter .32s ease-out both}
.diagram-title{font-size:28px;line-height:1.2;letter-spacing:-.7px;font-weight:700;margin:0 0 23px;color:#232526}
.diagram-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 0;border-bottom:1px solid #b9c5cb;font-size:16px;line-height:1.5}
.diagram-rows strong{white-space:nowrap;font-size:16px}
.diagram-total{display:flex;flex-direction:column;gap:12px;padding:23px 0;margin-bottom:4px;border-bottom:1px solid #b9c5cb}
.diagram-total>span{font-size:14px;color:#46545c;line-height:1.5}
.diagram-total>strong{font-size:44px;line-height:1.1;letter-spacing:-1.8px;font-weight:800}
.diagram-steps{list-style:none;padding:0;margin:8px 0 0}
.diagram-steps li{display:grid;grid-template-columns:28px 1fr;gap:13px;padding:17px 0;border-bottom:1px solid #b9c5cb}
.diagram-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #a9b6bd;border-radius:50%;font-size:11px;font-weight:700;animation:diagram-pulse .6s ease-out}
.diagram-steps li:nth-child(2) .diagram-number{animation-delay:.35s}.diagram-steps li:nth-child(3) .diagram-number{animation-delay:.7s}
.diagram-steps h4{font-size:17px;line-height:1.4;margin:1px 0 6px;color:#232526}
.diagram-steps p{font-size:16px;line-height:1.5;color:#46545c;margin:0}
.diagram-note{font-size:13px;line-height:1.6;margin:18px 0 0;color:#536169}
.diagram-badge{font-size:14px;line-height:1.5;font-weight:600;color:#232526;background:#ffba00;padding:8px 12px;border-radius:2px;display:table;margin:16px 0}
.diagram-article{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;margin-bottom:20px}
.diagram-article img{width:90px;height:116px;object-fit:cover;filter:grayscale(1);border-radius:2px}
.diagram-article span,.diagram-message>span{font-size:12px;line-height:1.5;color:#536169;letter-spacing:.4px}
.diagram-article h4{font-size:21px;line-height:1.25;letter-spacing:-.3px;margin:8px 0}
.diagram-article p{font-size:14px;line-height:1.5;margin:0;color:#536169}
.diagram-message{padding:20px;border:1px solid #b9c5cb;background:#fff;border-radius:4px;margin:20px 0}
.diagram-message p{font-size:20px;line-height:1.5;letter-spacing:-.2px;margin:10px 0 0}
.diagram-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.diagram-options span{padding:15px 10px;background:#fff;border:1px solid #b9c5cb;font-size:15px;text-align:center;line-height:1.5;border-radius:3px}
.diagram-connector{text-align:center;font-size:24px;color:#68767d;padding:8px}
.diagram-usage>div{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:17px 0;border-bottom:1px solid #b9c5cb;font-size:16px}
.diagram-usage p{grid-column:1/-1;font-size:15px;line-height:1.5;margin:0;color:#46545c}
.diagram-usage strong{white-space:nowrap}
@keyframes diagram-enter{from{opacity:.65;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes diagram-pulse{0%,75%{background:#ffba00;border-color:#ffba00}100%{background:transparent;border-color:#a9b6bd}}
html.motion-off .process-diagram,html.motion-off .diagram-number{animation:none}
@media(prefers-reduced-motion:reduce){.process-diagram,.diagram-number{animation:none}}
/* A short viewport must scroll the full explanation without pinning controls out of reach. */
@media(max-width:1100px),(max-height:999px){
 body[data-audience][data-object] .story{height:auto}
 body[data-audience][data-object] .stage{position:relative;top:auto;height:auto;min-height:0;overflow:visible;padding-bottom:20px}
 body[data-audience][data-object] .story-layout{min-height:0;padding-bottom:20px}
}
@media(min-width:761px) and (max-width:1100px){
 body[data-audience][data-object] .story-layout{grid-template-columns:.9fr 1.1fr;gap:28px}
 body[data-audience][data-object] .scene h1,body[data-audience][data-object] .scene h2{font-size:43px;letter-spacing:-1.7px}
 body[data-audience][data-object] .object-front{padding:20px}
 .diagram-article{grid-template-columns:64px 1fr;gap:12px}.diagram-article img{width:64px;height:100px}
 .diagram-total>strong{font-size:36px}.diagram-title{font-size:25px}
}
@media(max-width:760px){
 body[data-audience][data-object] .story-layout{display:flex;flex-direction:column;gap:24px;padding-top:6px;min-height:0;flex:none}
 body[data-audience][data-object] .scene-copy{padding:0;min-height:0;width:100%}
 body[data-audience][data-object] .object-stage{width:100%;height:auto;min-height:0}
 body[data-audience][data-object] .object-front{padding:20px}
 body[data-audience][data-object] .object-top{font-size:11px;margin-bottom:18px}
 body[data-audience][data-object] .scene h1,body[data-audience][data-object] .scene h2{font-size:34px;line-height:1.12;letter-spacing:-1.2px}
 body[data-audience][data-object] .scene>p{font-size:15px;line-height:1.6}
 .diagram-title{font-size:25px;margin-bottom:20px}
 .diagram-total>strong{font-size:37px;letter-spacing:-1px}
 .diagram-rows>div,.diagram-rows strong{font-size:15px}
 .diagram-steps{margin-top:5px}.diagram-steps li{gap:10px;padding:16px 0}
 .diagram-steps h4{font-size:17px}.diagram-steps p{font-size:16px}
 .diagram-article{grid-template-columns:64px 1fr;gap:13px}.diagram-article img{width:64px;height:110px}.diagram-article h4{font-size:19px}
 .diagram-message{padding:16px}.diagram-message p{font-size:18px}
 .diagram-options{grid-template-columns:1fr}.diagram-options span{padding:10px}
 .diagram-note{font-size:13px}
}
