.hero-demo { margin: 0; min-width: 0; }
.hero-demo .demo-window {
  color: #203048;
  background: #fcfcff;
  border: 1px solid #dce1ec;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 48px #20304816;
}
.demo-bar, .demo-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 16px;
  font-size: 12px;
  color: #435570;
}
.demo-bar { border-bottom: 1px solid #e6eaf2; }
.demo-bar span:first-child { color: #7a89a7; letter-spacing: .1em; }
.demo-art { min-height: 112px; margin: 12px 12px 0; border-radius: 13px; }
.demo-race {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  background: radial-gradient(at 15% 5%, #f0baff, transparent 58%), linear-gradient(115deg,#e7dcff,#bedaff 72%,#edf1f6);
}
.race-brand {
  padding: 9px 10px;
  border: 1px solid #fff;
  border-radius: 9px;
  background: #fcfaff;
  box-shadow: 0 5px 14px #294d881b;
  font-size: 12px;
}
.race-brand i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #7f50ce; }
.race-brand:nth-child(2) { background: #fff0bf; }
.race-brand:nth-child(2) i { background: #a96816; }
.race-brand:nth-child(3) i { background: #3b8298; }
.demo-shop {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 12px;
  background: radial-gradient(at 20% 0%, #ffb0a7, transparent 62%), linear-gradient(110deg,#ffdfcf,#edf1f6);
}
.demo-shop small, .demo-shop b, .demo-shop span { display: block; }
.demo-shop small { font-size: 10px; letter-spacing: .08em; }
.demo-shop b { font: 600 25px var(--serif, Georgia); }
.demo-shop span { font-size: 13px; }
.demo-mount { position: relative; width: 64px; height: 48px; border: 8px solid #723c4b; border-radius: 9px; box-shadow: 7px 8px 14px #a4484930; }
.demo-mount::after { content: ''; position: absolute; left: 50%; bottom: -20px; width: 10px; height: 16px; transform: translateX(-50%); background: #723c4b; }
.demo-body { display: grid; gap: 8px; padding: 12px; }
.demo-card { border: 1px solid #e0e6f0; border-radius: 10px; background: white; padding: 8px 12px; font-size: 13px; line-height: 1.4; }
.demo-card strong { display: block; color: #3d5676; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 3px; }
.demo-card:last-child { background: #e6f6ee; border-color: #edf1f6; }
.demo-verdict, .demo-card mark { background: #ffe5a4; color: #4b340d; border-radius: 4px; padding: 1px 5px; }
.demo-footer { border-top: 1px solid #e6eaf2; }
.demo-footer button { color: inherit; font: inherit; cursor: pointer; background: white; border: 1px solid #aab9cf; border-radius: 6px; padding: 5px 10px; }
.demo-footer button:focus-visible { outline: 2px solid #1d3557; outline-offset: 3px; }
.hero-demo figcaption { margin-top: 10px; font-size: 13px; line-height: 1.45; }
.assist-demo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 5vw, 56px); align-items: center; }
@media (max-width: 860px) { .assist-demo-grid { grid-template-columns: 1fr; } }
