/* /accountin-plus/: practice management, told as the client's way in. A headline beside a flat-price badge, the CRM
   full width under it, the five steps from enquiry to first job, the proposal and jobs screens, eight features and
   the flat price shown against team sizes. Scoped under .px. */
.px-open { padding: 72px 0 0; background: linear-gradient(180deg, var(--navy-lt) 0, var(--navy-lt) 62%, #fff 62%); }
.px-grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 56px; align-items: center; }
.px-open h1 { max-width: 16ch; }
.px-lede { font-size: 1.12rem; color: var(--ink2); max-width: 44rem; }
.px-note { display: flex; gap: 8px; align-items: center; font-size: .92rem; color: var(--ink2); margin: 0; }
.px-badge { background: var(--navy); color: #fff; border-radius: 50%; aspect-ratio: 1; display: flex; flex-direction: column; justify-content: center;
  align-items: center; text-align: center; padding: 36px; max-width: 300px; justify-self: end; box-shadow: 0 30px 60px rgba(1,27,70,.25); }
.px-badge b { font-family: var(--head); font-weight: 900; font-size: 4rem; line-height: 1; }
.px-badge span { font-size: .95rem; margin-top: 8px; opacity: .9; }
.px-badge i { font-style: normal; font-size: .8rem; margin-top: 14px; background: var(--green); padding: 5px 12px; border-radius: 999px; }
.px-hero-shot { position: relative; max-width: 1100px; margin: 56px auto 0; padding: 0 24px; }
.px-hero-shot .chip-a { right: 0; top: -22px; }
.px-hero-shot .chip-b { left: 0; bottom: 40px; }

.px-journey { padding: 96px 0 40px; }
.px-journey h2 { max-width: 22ch; }
.px-j { list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; position: relative; }
.px-j::before { content: ""; position: absolute; left: 0; right: 0; top: 17px; height: 3px; background: linear-gradient(90deg, var(--green-lt), var(--green)); }
.px-j li { position: relative; }
.px-jn { position: relative; z-index: 1; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #fff;
  border: 3px solid var(--green); color: var(--green); font-family: var(--head); font-weight: 900; margin-bottom: 18px; }
.px-jimg { height: 130px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: #fff; margin-bottom: 14px; box-shadow: 0 14px 30px rgba(1,27,70,.08); }
.px-jimg img { width: 220%; max-width: none; }
.px-j li:nth-child(2) .px-jimg img { width: 150%; margin: -6% 0 0 -25%; }
.px-jdoc { display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--green-lt); gap: 4px; }
.px-jdoc .tick { width: 34px; height: 34px; padding: 7px; border-radius: 50%; background: var(--green); color: #fff; }
.px-jdoc b { font-family: var(--head); font-weight: 900; font-size: 1.2rem; }
.px-jdoc i { font-style: normal; font-size: .82rem; color: var(--ink2); }
.px-j h3 { font-size: 1.15rem; margin-bottom: 6px; }
.px-j p { color: var(--ink2); font-size: .93rem; margin: 0; }

.px-row { padding: 96px 0 0; }
.px-row-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; }
.px-row-copy p { color: var(--ink2); }
.px-proposal { transform: rotate(1.2deg); }

.px-jobs { padding: 96px 0; }
.px-jobs-in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: center; max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.px-jobs-shot { position: relative; margin-left: calc(-1 * max(24px, (100vw - 1200px) / 2 - 40px)); }
.px-jobs-shot .chip-c { left: auto; right: 20px; bottom: -14px; }
.px-jobs-copy p { color: var(--ink2); }

.px-feats { padding: 88px 0; background: var(--alt); }
.px-fgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; margin-top: 28px; background: var(--line); border: 2px solid var(--line); border-radius: 18px; overflow: hidden; }
.px-f { background: #fff; padding: 26px 24px; }
.px-f h3 { font-size: 1.1rem; margin-bottom: 8px; color: var(--green); }
.px-f p { color: var(--ink2); font-size: .93rem; margin: 0; }

.px-seats { padding: 96px 0 40px; }
.px-seats-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; }
.px-seats p { color: var(--ink2); }
.px-sgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.px-sgrid div { border: 2px solid var(--navy); border-radius: 16px; padding: 20px 16px; text-align: center; }
.px-sgrid span { display: block; font-size: .85rem; color: var(--ink2); }
.px-sgrid b { font-family: var(--head); font-weight: 900; font-size: 2rem; color: var(--navy); }
.px-sgrid p { grid-column: 1 / -1; text-align: center; font-size: .85rem; color: var(--muted); margin: 4px 0 0; }

.px-faq { padding: 56px 0 96px; }
.px-faq h2 { text-align: center; }
.px-qs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; }
.px-q { background: var(--navy-lt); border-radius: 14px; padding: 0 22px; }
.px-q summary { cursor: pointer; list-style: none; padding: 20px 30px 20px 0; position: relative; font-family: var(--head); font-weight: 800; font-size: 1.08rem; }
.px-q summary::-webkit-details-marker { display: none; }
.px-q summary::after { content: "+"; position: absolute; right: 0; top: 16px; font-size: 1.4rem; color: var(--navy); }
.px-q[open] summary::after { content: "\2212"; }
.px-q p { color: var(--ink2); margin: -6px 0 20px; }
.px-reg { padding: 80px 0; text-align: center; }
.px-reg-in { max-width: 640px; }

@media (max-width: 1000px) {
  .px-grid, .px-row-in, .px-jobs-in, .px-seats-in { grid-template-columns: 1fr; gap: 32px; }
  .px-open { padding-top: 44px; background: linear-gradient(180deg, var(--navy-lt) 0, var(--navy-lt) 80%, #fff 80%); }
  .px-badge { justify-self: start; max-width: 220px; padding: 24px; }
  .px-badge b { font-size: 3rem; }
  .px-hero-shot { margin-top: 36px; }
  .px-hero-shot .chip-b { display: none; }
  .px-j { grid-template-columns: 1fr; gap: 28px; padding-left: 52px; }
  .px-j::before { left: 17px; right: auto; top: 0; bottom: 0; width: 3px; height: auto; }
  .px-jn { position: absolute; left: -52px; top: 0; }
  .px-jobs-shot { margin-left: 0; }
  .px-fgrid { grid-template-columns: 1fr 1fr; }
  .px-qs { grid-template-columns: 1fr; }
  .px-proposal { transform: none; }
}
@media (max-width: 640px) {
  .px-fgrid { grid-template-columns: 1fr; }
  .px-sgrid { grid-template-columns: 1fr 1fr; }
}
