/* Scoped product demonstration; intentionally light in both appearance modes. */
.ai-visual.bridge-demo-section{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.bridge-demo{color:#18212e;background:#fff;border:1px solid #e2e6eb;border-radius:30px;box-shadow:0 28px 65px #0003;overflow:hidden;min-width:0}
.bridge-demo-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 26px;border-bottom:1px solid #e9ecf0}
.bridge-demo-brand{display:block;width:210px;max-width:70%;height:auto;object-fit:contain}
.bridge-demo-badge{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#788392}
.bridge-demo-body{height:300px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;gap:22px}
.bridge-demo-question{align-self:flex-end;max-width:90%;padding:13px 18px;background:#607f9f;color:#fff;border-radius:20px 20px 5px 20px;font-size:14px;line-height:1.5;margin:0;transition:opacity .25s,transform .25s}
.bridge-demo-answer{background:#f1f3f6;border:1px solid #e9edf2;border-radius:5px 20px 20px 20px;padding:18px;color:#344151;min-height:135px;font-size:14px;line-height:1.7}
.bridge-demo-answer strong{display:block;color:#627b94;font-size:11px;letter-spacing:.03em;margin-bottom:10px;font-weight:500}
.bridge-demo-question[hidden]{display:block;visibility:hidden;opacity:0;transform:translateY(7px)}
.bridge-demo-input{margin:0 26px 24px;border:1px solid #dce2e9;border-radius:28px;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 15px 10px 18px;color:#7a8592;font-size:12px;line-height:1.5}
.bridge-demo-input span:first-child{min-width:0}.bridge-demo-send{color:#607f9f;font-size:23px}
.bridge-demo-controls{border-top:1px solid #e9ecf0;padding:17px 22px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bridge-demo-controls button{appearance:none;border:1px solid #dce2e9;background:transparent;border-radius:22px;padding:8px 12px;color:#586779;font:inherit;font-size:11px;cursor:pointer;line-height:1.3}
.bridge-demo-controls button[aria-pressed=true]{color:#34516e;background:#eaf0f5;border-color:#9bafc3}
.bridge-demo-controls button:hover{border-color:#607f9f}.bridge-demo-controls button:focus-visible{outline:2px solid #607f9f;outline-offset:3px}
.bridge-demo-controls .bridge-demo-pause{margin-left:auto}
.bridge-demo-section .ai-visual-copy p{font-size:16px;line-height:1.8;color:#b2b3ba;max-width:370px;margin:24px 0 0}
.bridge-demo-section .ai-visual-copy .bridge-demo-note{font-size:12px;color:#878b94;margin-top:20px}
.bridge-demo-dots{display:inline-flex;gap:5px;padding:10px 0}.bridge-demo-dots i{width:5px;height:5px;background:#607f9f;border-radius:50%;animation:bridge-dot 1s ease-in-out infinite}.bridge-demo-dots i:nth-child(2){animation-delay:.15s}.bridge-demo-dots i:nth-child(3){animation-delay:.3s}
@keyframes bridge-dot{50%{opacity:.3;transform:translateY(-3px)}}
@media(max-width:760px){.ai-visual.bridge-demo-section{grid-template-columns:1fr}.bridge-demo-section .ai-visual-copy{grid-row:1}.bridge-demo-section .ai-visual-copy p{max-width:100%}.bridge-demo-body{height:310px;padding:20px}.bridge-demo-header{padding:20px}.bridge-demo-input{margin:0 20px 20px}.bridge-demo-controls{padding:16px;gap:6px}.bridge-demo-controls button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.bridge-demo-dots i{animation:none}.bridge-demo-question{transition:none}}
/* Preserve the authored hero width without overflowing narrow screens. */
.new-hero .new-dek{max-width:100%;box-sizing:border-box}

/* A stable inline stage becomes a viewport-corner assistant after scrolling. */
.bridge-demo-stage{position:relative;min-width:0}
.bridge-demo-bubble{display:none;position:absolute;right:20px;bottom:20px;width:88px;height:88px;padding:0;border:0;cursor:pointer;border-radius:50%;background:radial-gradient(circle at 36% 27%,#fff 0%,#f7f7f8 22%,#c6c8ce 64%,#81858e 100%);box-shadow:inset -7px -10px 18px #fff5,inset 5px 7px 16px #fff,0 0 40px #ffffff18,0 16px 35px #0003}
.bridge-demo-bubble i{position:absolute;inset:-5px;border:1px solid #ffffffa0;border-radius:44% 56% 52% 48%/52% 46% 54% 48%;animation:bridge-orb 3s ease-in-out infinite;pointer-events:none}
.bridge-demo-bubble i:nth-child(2){inset:8px;filter:blur(2px);border-width:3px;animation-delay:-1s;animation-direction:reverse}
.bridge-demo-bubble i:nth-child(3){inset:-13px;border-color:#ffffff20;animation-delay:-2s}
.demo-awaiting .bridge-demo-bubble,.demo-docked .bridge-demo-bubble{display:block}
.demo-awaiting .bridge-demo,.demo-docked .bridge-demo{visibility:hidden;opacity:0;pointer-events:none}
.demo-docked .bridge-demo-bubble{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:64px;height:64px;z-index:1200}
.demo-floating .bridge-demo{position:fixed;right:24px;bottom:24px;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;z-index:1201;box-shadow:0 20px 80px #0006;transform-origin:bottom right}
.bridge-demo-minimize{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #e1e6ec;border-radius:50%;background:#f3f5f7;color:#586779;font:24px/1 Arial,sans-serif;cursor:pointer}
.bridge-demo-minimize:hover{background:#e6ecf2}
.bridge-demo-bubble:focus-visible,.bridge-demo-minimize:focus-visible{outline:2px solid #8babc9;outline-offset:5px}
@keyframes bridge-orb{0%,100%{transform:rotate(-12deg) scale(.96)}50%{transform:rotate(35deg) scale(1.07);border-radius:55% 45% 45% 55%/46% 55% 45% 54%}}
@media(max-width:760px){.demo-floating .bridge-demo{right:16px;bottom:16px;max-height:calc(100dvh - 32px)}.demo-floating .bridge-demo-body{height:250px;min-height:250px}}
@media(prefers-reduced-motion:reduce){.bridge-demo-bubble i{animation:none}}

/* Tips accompany the docked launcher, never the inline demonstration. */
.bridge-demo-tips{position:fixed;right:112px;bottom:24px;z-index:1201;width:300px;max-width:calc(100vw - 136px);display:grid;gap:8px;padding-top:36px;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,visibility .3s}
.bridge-demo-tips.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.bridge-demo-tips p{margin:0;padding:14px 18px;border:1px solid #ffffff24;border-radius:20px 20px 6px 20px;background:#353535;color:#ededed;font:14px/1.5 var(--sans,Arial,sans-serif);box-shadow:0 8px 28px #0003}
.bridge-demo-tips-close{position:absolute;right:0;top:0;width:32px;height:32px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:#353535;color:#fff;cursor:pointer}
.bridge-demo-tips-close svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.bridge-demo-tips-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:760px){.bridge-demo-tips{right:104px;bottom:24px;max-width:calc(100vw - 120px)}.bridge-demo-tips p{font-size:13px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.bridge-demo-tips{transition:none}}
