/* Open explanation: legible states and local light, using the Night identity. */
.domino-scene{--domino-blue:#a7d5e7;--domino-red:var(--signal-red,#c51c0e);position:relative;margin-top:clamp(64px,7vw,104px);padding:0;isolation:isolate}
.domino-heading{max-width:850px;margin-bottom:40px}
.domino-heading h3{font-family:"Big Shoulders",sans-serif;font-size:clamp(2rem,3.2vw,3.1rem);font-weight:700;line-height:1.1;letter-spacing:-.015em;text-transform:uppercase;text-wrap:balance;margin:0 0 18px;color:var(--text,#edf3f7)}
.domino-heading>p{max-width:66ch;font-size:clamp(1.2rem,1.55vw,1.35rem);line-height:1.45;color:#c0d0db;margin:0}
.domino-map{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr) minmax(0,1.25fr);gap:clamp(42px,7vw,106px);align-items:start;padding:12px 0 0;min-width:0}
.domino-stage{position:relative;min-width:0;z-index:1}
.domino-stage-label{min-height:39px;margin:0 0 18px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:1rem;letter-spacing:.045em;text-transform:uppercase;color:#c4d3dd;line-height:1.25}
.domino-stage-label>span{font-size:.9rem;color:#9ac0d3;letter-spacing:.04em}
.domino-stage--external .domino-node,.domino-stage--identity .domino-node{margin-top:68px}
.domino-node{position:relative;isolation:isolate;min-width:0;color:var(--text,#edf3f7);background:linear-gradient(135deg,#243e513a,transparent 80%),#080f18ed;border:1px solid #7eabc45c;border-radius:10px;overflow:hidden;box-shadow:0 10px 40px #02070d25}
.domino-node-light{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 5% 50%,#a82d342d,transparent 85%);box-shadow:inset 0 0 36px #a536333c,inset 0 0 0 2px #bd463ddc;opacity:0}
.domino-source{padding:22px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-height:214px}
.domino-source-icon{width:34px;height:34px;stroke:var(--domino-red);stroke-width:1.2;margin-bottom:7px}
.domino-source>strong{font-size:1.4rem;font-weight:600;line-height:1.2}
.domino-source>span:not(.domino-node-light){font-size:1.1rem;line-height:1.35;color:#c0ced8}
.domino-node em{font-style:normal;font-weight:600;font-size:1.3rem;line-height:1.25;color:var(--signal-red-text,#ef3828);display:block;margin-top:12px}
.domino-identity{min-height:214px;padding:22px 20px}
.domino-identity-label{display:block;font-size:1.075rem;color:#c0ced8;line-height:1.25;margin-bottom:10px}
.domino-identity>strong{font-size:clamp(1.25rem,1.6vw,1.45rem);font-weight:600;line-height:1.2;overflow-wrap:anywhere;display:block}
.domino-password{font-size:1.1rem;letter-spacing:4px;line-height:1.25;color:#e5edf2;display:block;margin-top:8px}
.domino-condition{font-size:1.1rem;line-height:1.35;color:#c0d0db;margin:16px 0 0}
.domino-services{display:grid;gap:18px}
.domino-service{min-height:92px;padding:18px;display:flex;gap:15px;align-items:center}
.domino-brand{width:32px;height:32px;flex:0 0 32px;object-fit:contain}
.domino-brand--salesforce{width:45px;flex-basis:45px;margin-left:-6px;margin-right:-7px}
.domino-service>div{min-width:0}
.domino-service strong{font-weight:600;font-size:1.3rem;line-height:1.2;display:block}
.domino-service div>span{font-size:1.075rem;line-height:1.3;display:block;margin-top:4px;color:#c0ced8}
.domino-service-dot{width:8px;height:8px;background:#c51c0e;box-shadow:0 0 10px #c51c0eb3,0 0 22px #76101973;border-radius:50%;margin-left:auto;opacity:.15;flex-shrink:0}
.domino-connections{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.domino-connections path{fill:none;stroke:#7caccb80;stroke-width:1.4;vector-effect:non-scaling-stroke}
.domino-connections .domino-connection-signal{stroke:#e33125;stroke-width:2.1;filter:drop-shadow(0 0 5px #b91b10);opacity:0}
.domino-packet{position:absolute;top:-4px;left:-4px;width:8px;height:8px;border-radius:50%;background:#fff0dd;box-shadow:0 0 0 2px #c51c0ea8,0 0 13px 4px #b91b109c,0 0 30px 8px #75223049;pointer-events:none;opacity:0;z-index:2}
.domino-response{position:relative;isolation:isolate;display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:38px;padding:26px 24px;background:linear-gradient(90deg,#1b394b63,#0c1d2b12);border:1px solid #83b6d126;border-radius:8px;color:var(--text,#edf3f7)}
.domino-response-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#568ea138,transparent);box-shadow:inset 3px 0 #a9d6e8,inset 0 0 32px #7cc7e41c;opacity:0;border-radius:inherit}
.domino-response-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.domino-response-brand>span{width:8px;height:8px;background:#bde5f2;border-radius:50%;box-shadow:0 0 14px 3px #8ac1d788}
.domino-response-brand>strong{font-family:"Big Shoulders",sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:.03em;line-height:1.1}
.domino-response-brand .domino-response-logo{display:block;width:clamp(150px,12vw,190px);height:auto;object-fit:contain}
.domino-response>p{margin:0;flex:1 1 310px;min-width:0}
.domino-response>p>strong{font-size:clamp(1.45rem,1.85vw,1.7rem);line-height:1.2;font-weight:600;display:block}
.domino-response>p>span{font-size:1.2rem;line-height:1.4;color:#cedde6;display:block;margin-top:8px}
.domino-next{font-size:1.1rem;line-height:1.3;color:var(--domino-blue);display:flex;gap:13px;align-items:center;padding:10px 0 10px 10px;min-height:44px;text-decoration:none;flex-shrink:0}
.domino-next>span{font-size:1.3rem}
.domino-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}
.domino-note{max-width:74ch;font-size:1.1rem;line-height:1.4;color:#c3d1dc;margin:0}
.domino-playback{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.domino-replay,.domino-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 6px;color:var(--domino-blue);font:inherit;font-size:1rem;border:0;background:none;cursor:pointer;transition:color .18s ease}
.domino-replay svg,.domino-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.domino-details{margin-top:12px;color:#b9cbd8;font-size:1rem;line-height:1.5;max-width:91ch}
.domino-details summary{display:list-item;width:fit-content;cursor:pointer;min-height:44px;padding:10px 2px;color:#b8cede}
.domino-details>p{margin:2px 0 0;font-size:1rem;line-height:1.5;color:#c0ced9}
.domino-details a{color:#b9dce9;text-underline-offset:3px}
.domino-next:focus-visible,.domino-replay:focus-visible,.domino-toggle:focus-visible,.domino-details summary:focus-visible,.domino-details a:focus-visible{outline:2px solid #9acbdf;outline-offset:5px;border-radius:3px}
@media(hover:hover) and (pointer:fine){.domino-next:hover,.domino-replay:hover,.domino-toggle:hover,.domino-details summary:hover,.domino-details a:hover{color:#e4f1f7}}
.domino-replay:active,.domino-toggle:active{opacity:.7}
@media(max-width:1050px) and (min-width:768px){.domino-map{gap:35px;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr)}.domino-stage-label{font-size:.95rem;gap:7px}.domino-source,.domino-identity{padding:20px 15px;min-height:240px}.domino-service{padding:16px 12px;gap:10px;min-height:102px}.domino-service strong{font-size:1.2rem}.domino-service div>span{font-size:1rem}.domino-brand{width:26px;height:26px;flex-basis:26px}.domino-brand--salesforce{width:38px;flex-basis:38px}.domino-response{gap:18px}.domino-next{padding-left:0}.domino-heading h3{font-size:2.6rem}.domino-bottom{align-items:flex-start}}
@media(max-width:767px){.domino-scene{margin-top:64px}.domino-heading{margin-bottom:28px}.domino-heading h3{font-size:2.35rem;max-width:19ch}.domino-heading>p{font-size:1.2rem}.domino-map{display:grid;grid-template-columns:1fr;gap:38px;padding:0 0 0 28px}.domino-stage-label{font-size:1rem;min-height:0;margin-bottom:12px}.domino-stage--external .domino-node,.domino-stage--identity .domino-node{margin-top:0}.domino-node{border-radius:8px}.domino-source,.domino-identity{min-height:0;padding:20px 18px}.domino-source{padding-left:62px;gap:5px}.domino-source-icon{position:absolute;top:22px;left:18px;width:28px;height:28px}.domino-source em{margin-top:8px}.domino-node em{font-size:1.25rem}.domino-identity-label{margin-bottom:8px}.domino-identity>strong{font-size:1.35rem;line-height:1.25}.domino-identity>strong br{display:none}.domino-password{font-size:1.05rem;margin-top:5px}.domino-identity em{margin-top:10px}.domino-condition{font-size:1.1rem;margin-top:12px}.domino-condition br{display:none}.domino-services{gap:12px}.domino-service{min-height:87px;padding:17px 18px}.domino-service strong{font-size:1.3rem}.domino-service div>span{font-size:1.05rem}.domino-response{margin-top:28px;padding:22px 18px;gap:16px}.domino-response>p{flex-basis:100%}.domino-response>p>strong{font-size:1.6rem}.domino-response>p>span{font-size:1.2rem}.domino-next{padding:5px 0;min-height:44px}.domino-bottom{gap:8px;flex-wrap:wrap;margin-top:18px}.domino-note{font-size:1.1rem}.domino-playback{gap:22px}.domino-replay,.domino-toggle{justify-content:flex-start;padding:0}.domino-details{margin-top:4px}}
@media(prefers-reduced-motion:reduce){.domino-packet{display:none}.domino-node-light{opacity:.22}.domino-response-light{opacity:1}.domino-playback{display:none}}
