/* Product demo surfaces. Scoped so legacy landing pages keep their presentation. */
.demo-room { --demo-ink:#282333; --demo-muted:#736c80; --demo-purple:#7e60ec; --demo-line:#e7e2ef; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--demo-ink); }
.demo-room *, .demo-room *::before { box-sizing:border-box; }
.demo-room [hidden] { display:none!important; }
.demo-room a { text-decoration:none; }
.demo-room :is(a,button):focus-visible { outline:3px solid #a589f0; outline-offset:4px; }
.try-demo__tabs { display:inline-flex; align-items:stretch; gap:4px; padding:5px; border:1px solid #e9e4f1; background:#f5f2fa; border-radius:14px; flex-shrink:0; }
.try-demo__tabs button { border:0; border-radius:10px; padding:12px 23px; min-height:44px; color:#776e86; background:transparent; font:inherit; font-size:14px; font-weight:500; cursor:pointer; }
.try-demo__tabs button[aria-selected="true"] { background:#fff; color:#6745c2; box-shadow:0 2px 7px #38244712; }
.try-demo__primary { display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; border-radius:12px; padding:15px 21px; min-height:46px; background:#7e60ec; color:#fff!important; font:inherit; font-size:14px; font-weight:500; cursor:pointer; text-decoration:none; transition:background .2s; }
.try-demo__primary:hover { background:#6747d3; }
.try-demo__text { display:inline-block; border:0; padding:8px 0; color:#7551cb; background:transparent; font:inherit; font-size:13px; font-weight:500; cursor:pointer; }
.demo-entry-link { display:inline-flex; margin-top:20px; align-items:center; gap:12px; border-radius:12px; padding:15px 22px; background:#7e60ec; color:#fff!important; font:500 15px/1.3 Inter,sans-serif; text-decoration:none; }
.demo-hero-actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:12px; }
.demo-hero-actions .landing-v2-btn-primary { min-height:48px; }
.demo-hero-consult {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 22px;
  border:1px solid #d9cfee;
  border-radius:999px;
  background:#fff;
  color:#5c3ba9;
  box-shadow:0 3px 12px #35264a14;
  font:600 15px/1.4 Inter,sans-serif;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.demo-hero-consult:hover { background:#f2ecff; border-color:#b6a0ed; box-shadow:0 4px 16px #35264a20; }
.demo-hero-consult:focus-visible { outline:2px solid #7d5fe9; outline-offset:4px; }
@media(max-width:768px) { .demo-hero-actions { justify-content:center; } }
@media(max-width:600px) { .demo-hero-actions { flex-direction:column; max-width:340px; margin-inline:auto; } }
@media(prefers-reduced-motion:reduce) { .demo-hero-consult { transition:none; } }
.demo-room { margin:0; background:#faf9fc; height:100vh; height:100dvh; min-height:460px; display:flex; flex-direction:column; overflow:hidden; }
.demo-room__header { display:flex; align-items:center; gap:28px; padding:15px 32px; border-bottom:1px solid var(--demo-line); background:#fff; flex-shrink:0; }
.demo-room__brand { display:flex; align-items:center; }
.demo-room__brand img { max-width:145px; height:auto; }
.demo-room__back { color:#746b80; font-size:13px; }
.demo-room__consult { margin-left:auto; font-size:12px; min-height:42px; padding:12px 17px; }
.demo-room__main { flex:1; min-height:0; display:flex; flex-direction:column; padding:20px 28px 0; }
.demo-room__toolbar { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:16px; flex-shrink:0; }
.demo-room__heading { margin-right:auto; }
.demo-room__heading h1 { font-size:23px; letter-spacing:-.6px; margin:0 0 5px; font-weight:600; }
.demo-room__heading p { margin:0; color:var(--demo-muted); font-size:12px; }
.demo-room__actions { display:flex; align-items:center; gap:16px; }
.demo-room__actions :is(button,a) { font:inherit; font-size:12px; color:#786c8e; border:0; background:none; padding:10px 0; cursor:pointer; }
.demo-room__actions button:disabled { color:#aba4b5; cursor:default; }
.demo-room__workspace { position:relative; flex:1; min-height:0; background:#eeedf2; border:1px solid var(--demo-line); border-radius:17px; overflow:hidden; }
.demo-room__panel { position:absolute; inset:0; }
.demo-room__panel iframe { display:block; border:0; width:100%; height:100%; background:#f5f3f9; }
.demo-room__cover { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:14px; padding:28px; text-align:center; background:#f7f5fb; z-index:1; }
.demo-room__cover h2 { margin:0; font-size:23px; font-weight:600; letter-spacing:-.5px; }
.demo-room__cover p { max-width:450px; margin:0; color:#81768f; font-size:14px; line-height:1.65; }
.demo-room__spinner { width:34px; height:34px; border:3px solid #e5def3; border-top-color:#7e60ec; border-radius:50%; animation:demo-loading 1s linear infinite; }
.demo-room__footer { display:flex; gap:22px; align-items:center; justify-content:space-between; min-height:56px; flex-shrink:0; }
.demo-room__steps { display:flex; gap:10px; padding:0; margin:0; list-style:none; font-size:12px; color:#a19aa9; }
.demo-room__steps li+li::before { content:'→'; padding-right:10px; color:#b5adbf; }
.demo-room__steps li[aria-current="step"],.demo-room__steps li[data-complete] { color:#7050c6; }
.demo-room__disclaimer { color:#8b8198; font-size:11px; }
.demo-room__reset-dialog { border:1px solid #e5dcef; border-radius:20px; padding:28px; max-width:460px; width:calc(100% - 32px); box-shadow:0 20px 80px #28173b33; color:#282333; }
.demo-room__reset-dialog::backdrop { background:#21152b66; backdrop-filter:blur(3px); }
.demo-room__reset-dialog h2 { margin:0 0 12px; font-size:23px; }
.demo-room__reset-dialog p { color:#736c80; font-size:14px; line-height:1.7; }
.demo-room__reset-dialog form { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:24px; }
.demo-room__reset-dialog button { cursor:pointer; font:inherit; font-size:13px; padding:12px 17px; border:0; border-radius:10px; }
@keyframes demo-loading { to { transform:rotate(360deg); } }
@media(max-width:900px) {
  .demo-room__heading p { display:none; }.demo-room__heading h1 { font-size:20px; }
  .demo-room__toolbar { gap:14px; }.demo-room__actions { gap:12px; }
  .demo-room__actions a { font-size:11px; }.demo-room__disclaimer { max-width:230px; text-align:right; }
}
@media(max-width:650px) {
  .demo-room__header { padding:12px 15px; gap:16px; }.demo-room__brand img { width:108px; }.demo-room__consult { font-size:11px; padding:10px 12px; min-height:40px; gap:5px; }
  .demo-room__back { font-size:11px; }.demo-room__consult span { display:none; }
  .demo-room__main { padding:10px 0 0; }.demo-room__heading { display:none; }
  .demo-room__toolbar { padding:0 12px; justify-content:space-between; gap:8px; margin-bottom:10px; }
  .try-demo__tabs button { padding:10px 16px; font-size:13px; }.demo-room__actions { flex-direction:column; align-items:flex-end; gap:0; }.demo-room__actions :is(button,a) { padding:4px 0; font-size:11px; min-height:26px; }
  .demo-room__workspace { border-radius:0; border-left:0; border-right:0; }.demo-room__footer { padding:9px 12px max(9px,env(safe-area-inset-bottom)); min-height:40px; gap:8px; flex-wrap:wrap; }
  .demo-room__steps { font-size:10px; gap:5px; }.demo-room__steps li+li::before { padding-right:5px; }.demo-room__disclaimer { font-size:10px; max-width:155px; }.demo-room__footer .try-demo__text { font-size:12px; padding:2px 0; }
}
@media(prefers-reduced-motion:reduce) { .demo-room * { transition:none!important; animation:none!important; } }
