/* TensorEDA demo polish: added motion, depth, responsive clarity and brand consistency. */
:root { --demo-red: #D71920; --demo-navy: #0A2E6D; }
html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(ellipse at 78% 14%, rgba(10,46,109,.24), transparent 42%),
    radial-gradient(ellipse at 12% 44%, rgba(215,25,32,.075), transparent 38%),
    #050505;
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent 76%);
}
.marketing-nav { box-shadow: 0 12px 38px rgba(0,0,0,.16); }
.brand img { width: 184px; height: auto; display: block; }
.back-link { transition: border-color .2s, background .2s, transform .2s; }
.back-link:hover { background: rgba(215,25,32,.08); transform: translateY(-1px); }
.page { padding-top: clamp(42px, 5.5vw, 78px); }
.eyebrow { display: flex; align-items: center; gap: 10px; }
.eyebrow::before { content: ""; width: 20px; height: 1px; display: inline-block; background: var(--red); box-shadow: 0 0 14px rgba(215,25,32,.7); }
h1 { max-width: 900px; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.04; }
.intro { max-width: 780px; font-size: clamp(.94rem, 1.45vw, 1.08rem); }
.demo-layout { position: relative; border-radius: 18px; box-shadow: 0 25px 90px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.025); }
.demo-layout::before { content: ""; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; z-index: 2; background: linear-gradient(90deg, transparent, rgba(215,25,32,.65), transparent); pointer-events: none; }
.app-sidebar { background: linear-gradient(180deg, #0b0d13, #080a0f); }
.app-topbar { background: rgba(255,255,255,.012); }
.app-title { line-height: 1.25; }
.run-btn { transition: filter .2s, transform .2s, box-shadow .2s; }
.run-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(215,25,32,.3); }
.run-btn:focus-visible, .app-nav-btn:focus-visible, .back-link:focus-visible, a:focus-visible { outline: 2px solid #ff666a; outline-offset: 3px; }
.panel { transition: border-color .25s, transform .25s; }
.panel:hover { border-color: rgba(255,255,255,.16); }
.stage { transition: background .28s, border-color .28s, box-shadow .28s, transform .28s; }
.stage.active { transform: translateY(-2px); }
.stage.done .stage-num::after { content: " ✓"; }
.capability { margin-top: 32px; }
.capability > div { padding: 16px 16px 16px 17px; border: 1px solid rgba(255,255,255,.075); border-left: 2px solid var(--red); border-radius: 0 10px 10px 0; background: linear-gradient(120deg, rgba(255,255,255,.025), transparent); transition: transform .24s, border-color .24s, background .24s; }
.capability > div:hover { transform: translateY(-3px); border-color: rgba(215,25,32,.32); background: rgba(215,25,32,.035); }
.demo-footer { margin-top: 28px; border-top: 1px solid var(--line); background: rgba(7,8,12,.55); }
.demo-footer-inner { max-width: 1420px; margin: 0 auto; padding: 24px 28px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.demo-footer-inner p { flex: 1; min-width: 250px; color: #717b8d; font-size: .72rem; line-height: 1.5; }
.demo-footer-brand img { display: block; opacity: .92; }
.demo-footer-links { display: flex; gap: 16px; color: #9099aa; font-size: .76rem; }
.demo-footer-links a:hover { color: white; }
.demo-footer-inner > span { color: #6e7788; font: .68rem var(--mono); white-space: nowrap; }
@media (max-width: 900px) { .brand img { width: 165px; } .demo-footer-inner { gap: 16px; } }
@media (max-width: 580px) {
  .brand img { width: 146px; }
  .demo-footer-inner { padding: 22px 16px; align-items: flex-start; flex-direction: column; gap: 13px; }
  .demo-footer-inner p { min-width: 0; }
  .demo-footer-links { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
