/* OpsPromptAI site: home page hero and the product tour stage. */
/* ---------- Intro ---------- */
.intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; align-items: end; padding-block: 28px 28px; }
.intro h1 { font-family: var(--display); font-weight: 700; font-size: clamp(38px, 6vw, 66px); line-height: 1.02; margin: 0; letter-spacing: -.01em; text-wrap: balance; }
.intro h1 em { font-style: normal; color: var(--amber-ink); }
.intro p { margin: 0; color: var(--soft); font-size: 18px; max-width: 46ch; }
.intro .kicker { font-size: 13.5px; margin: 0 0 12px; max-width: none; }
@media (max-width: 820px) { .intro { grid-template-columns: 1fr; gap: 14px; } }

/* ---------- Chapters ---------- */
.chapters { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; margin-bottom: 18px; scrollbar-width: thin; }
.chap { flex: 0 0 auto; display: flex; align-items: baseline; gap: 8px; border: 1px solid var(--rule); background: var(--card); border-radius: 999px;
  padding: 8px 16px; cursor: pointer; font-weight: 500; font-size: 16px; }
.chap .n { font-family: var(--mono); font-size: 12px; color: var(--soft); }
.chap[aria-selected="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.chap[aria-selected="true"] .n { color: var(--amber); }

/* ---------- Stage ---------- */
.stage { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 28px; align-items: start; padding-bottom: 36px; }
@media (max-width: 980px) { .stage { grid-template-columns: 1fr; } .story { order: 2; } .devices { order: 1; } }

.story { background: var(--card); border: 1px solid var(--rule); border-radius: 16px; padding: 22px 22px 18px; display: flex; flex-direction: column; gap: 14px; }
.story .kicker { font-family: var(--mono); font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--soft); margin: 0; }
.story h2 { font-family: var(--display); font-weight: 700; font-size: 30px; line-height: 1.1; margin: 0; text-wrap: balance; }
.beats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.beats li { position: relative; padding-left: 22px; color: var(--soft); font-size: 16px; transition: color .25s; }
.beats li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 9px; height: 9px; border-radius: 50%; border: 2px solid var(--rule); background: var(--card); transition: all .25s; }
.beats li.done { color: var(--ink); }
.beats li.done::before { background: var(--soft); border-color: var(--soft); }
.beats li.now { color: var(--ink); font-weight: 500; }
.beats li.now::before { background: var(--amber); border-color: var(--amber); box-shadow: 0 0 0 4px color-mix(in srgb, var(--amber) 25%, transparent); }
.controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-top: 6px; border-top: 1px solid var(--rule); }
.cbtn { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--rule); background: var(--card); border-radius: 10px; padding: 7px 12px; cursor: pointer; font-weight: 500; font-size: 15px; }
.cbtn.primary { background: var(--navy); border-color: var(--navy); color: #fff; }
.cbtn svg { width: 16px; height: 16px; }
.auto { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; color: var(--soft); margin-left: auto; cursor: pointer; }
.auto input { width: 16px; height: 16px; accent-color: var(--navy); }
.sample { font-size: 13.5px; color: var(--soft); margin: 0; }

.devices { position: relative; display: flex; justify-content: center; align-items: flex-start; min-height: 700px; }
@media (max-width: 560px) { .devices { min-height: 0; } }

