/* Talenta Pros · QuickBooks workflow animations section
   Matches the site palette (purple #2b194f, gold #ffdc71) and fonts (Plus Jakarta Sans + DM Sans). */
.qbw {
  --qbw-ink: #18142a;
  --qbw-muted: #5f5b70;
  --qbw-line: #e4dfed;
  --qbw-purple: #2b194f;
  --qbw-violet: #563b82;
  --qbw-gold: #ffdc71;
  --qbw-bg: #f7f5fa;
  padding: clamp(48px, 8vw, 96px) 0;
  background: var(--qbw-bg);
  color: var(--qbw-ink);
  font-family: "DM Sans", "Segoe UI", system-ui, sans-serif;
}
.qbw-inner { width: min(1120px, calc(100% - 40px)); margin: auto; }
.qbw-kicker {
  margin: 0; color: #7653a7; font-size: 12px; font-weight: 700;
  letter-spacing: .13em; text-transform: uppercase;
}
.qbw h2 {
  margin: 10px 0 10px; font-family: "Plus Jakarta Sans", "DM Sans", sans-serif;
  font-size: clamp(28px, 4.4vw, 44px); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance;
}
.qbw-lede { margin: 0 0 28px; max-width: 62ch; color: var(--qbw-muted); font-size: 17px; line-height: 1.65; }

.qbw-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.qbw-tab {
  display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 16px;
  border: 1px solid var(--qbw-line); border-radius: 999px; background: #fff; color: var(--qbw-ink);
  font: 600 15px/1 "DM Sans", sans-serif; cursor: pointer;
}
.qbw-tab span {
  display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  background: #efe9f7; color: var(--qbw-violet); font-size: 12px; font-weight: 700;
}
.qbw-tab:hover { border-color: #b9a7d8; }
.qbw-tab[aria-selected="true"] { background: var(--qbw-purple); border-color: var(--qbw-purple); color: #fff; }
.qbw-tab[aria-selected="true"] span { background: var(--qbw-gold); color: var(--qbw-purple); }
.qbw-tab:focus-visible, .qbw-btn:focus-visible { outline: 3px solid #d18f16; outline-offset: 3px; }

.qbw-stage {
  background: #fff; border: 1px solid var(--qbw-line); border-radius: 20px;
  box-shadow: 0 24px 70px -48px rgba(43,25,79,.38); overflow: hidden;
}
.qbw-stage.qbw-overview .qbw-frame,
.qbw-stage.qbw-overview .qbw-hint { display: none; }
.qbw-stage.qbw-overview .qbw-bar { border-top: 0; }
.qbw-frame { position: relative; aspect-ratio: 1280 / 790; background: #fffdf8; }
.qbw-frame img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.qbw-bar {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
  padding: 16px 20px; border-top: 1px solid var(--qbw-line);
}
.qbw-bar p { margin: 0; color: var(--qbw-muted); font-size: 15px; }
.qbw-bar strong { color: var(--qbw-ink); }
.qbw-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.qbw-btn {
  display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 10px;
  font: 700 14px/1 "DM Sans", sans-serif; text-decoration: none; cursor: pointer;
  border: 1px solid var(--qbw-purple); background: #fff; color: var(--qbw-purple);
}
.qbw-btn.primary { background: var(--qbw-purple); color: #fff; }
.qbw-btn.primary:hover { background: var(--qbw-violet); }
.qbw-btn svg { width: 18px; height: 18px; fill: currentColor; flex: none; }
.qbw-btn[hidden] { display: none; }
.qbw-hint { display: none; margin: 0; padding: 8px 20px 0; color: var(--qbw-violet); font-size: 13px; font-weight: 600; }

@media (max-width: 620px) {
  .qbw-inner { width: calc(100% - 28px); }
  .qbw-tab { min-height: 40px; padding: 0 12px; font-size: 14px; }
  .qbw-stage { border-radius: 16px; }
  .qbw-hint { display: block; }
  /* the diagrams are wide: let phones pan them instead of shrinking text to unreadable */
  .qbw-frame { aspect-ratio: auto; height: 62vw; min-height: 260px; overflow-x: auto; }
  .qbw-frame img { position: static; width: 760px; max-width: none; height: auto; }
}
