/* ==========================================================================
   Agent Guru page (agent-guru.html). Loads after styles.css.
   Trimmed from the shared agent-guru page CSS. Tokens only: no raw colour
   values and no important flags. Raw slate and iris steps appear only
   inside the product mockup (.ui), as the system allows.
   Every rule is scoped under .page-guru or uses a guru- class name.
   ========================================================================== */

/* ---------- Hero: standfirst, positioning panel ---------- */
.page-guru .guru-hero__standfirst { font-size: var(--fs-lead); line-height: 1.5; max-width: 56ch; }

.page-guru .guru-panel__title {
  padding-bottom: 12px; border-bottom: 1px solid var(--rule);
  font-family: var(--font-display); font-size: 1.3125rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.02em;
}
.page-guru .hero__panel .guru-panel__title + .spec { margin-top: 0; }
.page-guru .guru-panel__title + .spec > div:first-child { border-top: 0; }
.page-guru .hero__panel .guru-panel__note { margin-top: var(--space-4); font-size: var(--fs-small); }
.page-guru .guru-panel__note .arrow-link { color: var(--fg); }

.page-guru .guru-hero__fig { margin-top: clamp(40px, 5vw, 72px); }

/* ---------- Mockup: shared page-level adjustments ---------- */
.page-guru .ui .ui__head > span:last-child { flex: none; white-space: nowrap; }

/* ---------- Mockup: the coaching app (transcript + score) ---------- */
.page-guru .guru-app { container-type: inline-size; }
.page-guru .guru-app__body { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
.page-guru .guru-app .msg { max-width: 92%; }
@container (max-width: 620px) {
  .page-guru .guru-app__body { grid-template-columns: minmax(0, 1fr); }
  .page-guru .guru-app .ui__pane + .ui__pane { border-left: 0; border-top: 1px solid var(--ui-line); }
  .page-guru .guru-app .msg { max-width: 100%; }
}

/* ---------- How it works: four steps in a row ---------- */
.page-guru .guru-steps > li { font-size: var(--fs-small); line-height: 1.55; color: var(--fg-2); }
.page-guru .guru-steps > li b { display: block; margin-bottom: 4px; font-size: var(--fs-body); }

/* ---------- Key features: two lists side by side ---------- */
.page-guru .guru-features { align-items: start; }
.page-guru .guru-features__h { padding-bottom: 10px; }
.page-guru .guru-features .checks > li { font-size: var(--fs-small); line-height: 1.55; color: var(--fg-2); }
.page-guru .guru-features .checks > li > .i { top: 16px; }

/* ---------- Industries: six hairline items, three across ---------- */
.page-guru .guru-points {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--col-gap);
}
.page-guru .guru-points > li { padding: 18px 0 22px; border-top: 1px solid var(--line-2); min-width: 0; }
.page-guru .guru-points > li:nth-child(-n+3) { border-top-color: var(--rule); }
.page-guru .guru-points h3 { font-family: var(--font-sans); font-size: 1rem; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
.page-guru .guru-points p { margin-top: 6px; max-width: 42ch; font-size: var(--fs-small); line-height: 1.55; color: var(--fg-2); }
@media (max-width: 920px) {
  .page-guru .guru-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-guru .guru-points > li:nth-child(3) { border-top-color: var(--line-2); }
}
@media (max-width: 520px) {
  .page-guru .guru-points { grid-template-columns: minmax(0, 1fr); }
  .page-guru .guru-points > li { padding: 14px 0 16px; }
  .page-guru .guru-points > li:nth-child(2) { border-top-color: var(--line-2); }
}

/* ---------- Security: statements as aligned rows, full width ---------- */
.page-guru .guru-controls { grid-template-columns: minmax(0, 1fr); }
.page-guru .guru-controls > li:first-child { border-top-color: var(--rule); }
.page-guru .guru-controls > li {
  grid-template-columns: 22px minmax(0, 16em) minmax(0, 1fr); column-gap: var(--space-4); align-items: start;
}
.page-guru .guru-controls > li:last-child { border-bottom: 1px solid var(--line-2); }
.page-guru .guru-controls .i { grid-row: auto; }
.page-guru .guru-controls p { margin-top: 0; font-size: var(--fs-body); }
@media (max-width: 760px) {
  .page-guru .guru-controls > li { grid-template-columns: 22px minmax(0, 1fr); column-gap: var(--space-3); }
  .page-guru .guru-controls .i { grid-row: span 2; }
  .page-guru .guru-controls p { grid-column: 2; margin-top: 4px; font-size: var(--fs-small); }
}

/* ---------- Pricing: a compact price table ---------- */
.page-guru .guru-pricing { align-items: start; }
.page-guru .guru-pricing .actions { align-items: center; gap: 14px 28px; }
.page-guru .guru-pricing .arrow-link { color: var(--fg); }
.page-guru .guru-price-table tbody th { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
.page-guru .guru-price-table tbody th span {
  display: block; margin-top: 4px;
  font-family: var(--font-sans); font-size: var(--fs-caption); font-weight: 400; letter-spacing: 0; line-height: 1.45; color: var(--fg-2);
}
.page-guru .guru-price-table td { vertical-align: baseline; }
.page-guru .guru-price-table strong {
  font-family: var(--font-display); font-size: 1.75rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1;
  color: var(--fg); font-variant-numeric: lining-nums;
}
.page-guru .guru-price-table thead th:last-child,
.page-guru .guru-price-table td:last-child { padding-right: 0; }
@media (max-width: 520px) {
  .page-guru .guru-price-table tbody th { font-size: 1.125rem; }
  .page-guru .guru-price-table strong { font-size: 1.375rem; }
  .page-guru .guru-price-table thead th, .page-guru .guru-price-table td { padding-right: 10px; }
}

/* ---------- Closing band ---------- */
.page-guru .guru-cta { align-items: center; }
.page-guru .guru-cta .contact-lines { margin-top: var(--space-3); }
@media (min-width: 921px) {
  .page-guru .guru-cta { --a: 1 / span 6; --b: 8 / span 5; }
}
