/* Infirise AI conversion pages (pricing, how it works, ROI calculator, book a call, contact):
   only the layouts the shared page components don't cover. */

/* ---------- Hero sub-headline link (on the dark page hero) ---------- */

.page-hero .lead a { color: var(--sky); }
.page-hero .lead a:hover { color: var(--sky-hi); }

/* ---------- Pricing: plan cards three to a row, with setup fees beside the price ---------- */

.grid-plans-3 { grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.plan .checklist { font-size: 15px; }
.plan .btn-start { margin-top: auto; font: 600 15px/1.4 var(--body); }

/* "What costs extra": a plus instead of the checklist tick */
.dotlist { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.dotlist li { position: relative; padding-left: 30px; line-height: 1.55; }
.dotlist li::before {
  content: "+"; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%;
  background: #FFF4E5; color: #B45309; font: 700 15px/20px var(--body); text-align: center;
}

/* Two-column tables fit a phone without sideways scrolling */
.tbl-fit { min-width: 0; }

/* ---------- 30-day pilot timeline: the homepage steps, with a closing step instead of the loop ---------- */

.step-end .step-track { height: calc(100% - 30px); }
.step-end .step-node { width: 30px; height: 30px; border-width: 0; }
.step-dl { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.step-dl dt { margin-top: 8px; font: 600 13px/1.4 var(--body); color: var(--navy); }
.step-dl dd { margin: 0; font-size: 15px; line-height: 1.6; color: var(--muted); }

@media (min-width: 1024px) {
  .step-end .step-track { width: calc(100% - 33px); height: 4px; }
}

/* ---------- Book a call and contact: details beside the form ---------- */

.split { display: grid; gap: 28px; align-items: start; }
.split-side { display: flex; flex-direction: column; gap: 20px; }

@media (min-width: 960px) {
  .split { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 40px; }
}

.numbered { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: step; }
.numbered li { position: relative; padding-left: 46px; line-height: 1.55; counter-increment: step; }
.numbered li::before {
  content: counter(step); position: absolute; left: 0; top: -3px; width: 32px; height: 32px;
  display: grid; place-items: center; border-radius: 50%; background: #E8F1FA; color: var(--azure-hover);
  font: 600 15px/1 var(--head);
}

/* Placeholder for the scheduler embed (shows a "coming" message on click) */
.soon-box {
  display: flex; align-items: center; gap: 14px; width: 100%; padding: 18px;
  border: 1.5px dashed var(--mist); border-radius: 14px; background: var(--soft);
  color: var(--navy); font: 500 15px/1.5 var(--body); text-align: left; cursor: pointer;
}
.soon-box:hover { border-color: var(--azure); }
.soon-box svg { flex: none; color: var(--azure-hover); }
.soon-text { display: flex; flex-direction: column; gap: 6px; }
