/* Version E, "Partner": the new offer on A's design (variant-a.css loads first). One way to work, priced as a
   monthly management fee plus a fee per held meeting, started with a six-week pilot; investors as a second audience. */

/* ---------- how we price ---------- */
.a-price-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; }
.a-mdef { margin-top: 28px; padding: 20px 22px 18px; border-radius: 18px; background: #fff; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-mdef-h { margin: 0 0 12px; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--a-ink2); }
.a-mdef .a-checks { gap: 10px; margin: 0; }
.a-mdef-n { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--a-line); font-size: 14px; line-height: 21px; color: var(--a-ink2); }

.a-bill { width: min(540px, 100%); }
.a-bill-r { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 56px; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--a-line); }
.a-bill-i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--a-soft); }
.a-bill-i svg { width: 16px; height: 16px; }
.a-bill-t b { display: block; font-size: 14.5px; line-height: 19px; font-weight: 600; }
.a-bill-t span { display: block; margin-top: 2px; font-size: 12.5px; line-height: 17px; color: var(--a-ink2); }
.a-bill-k { padding: 3px 9px; border-radius: 999px; background: var(--a-soft); font-size: 11.5px; line-height: 16px; font-weight: 500; white-space: nowrap; }
.a-bill-r > .a-redact { justify-self: end; height: 10px; }
.a-bill-r.is-free .a-bill-k { background: var(--bl-yellow-7); box-shadow: inset 0 0 0 1px var(--bl-yellow-5); }
.a-free { justify-self: end; font-size: 13px; font-weight: 600; color: #177650; }
.a-bill-cap { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 18px; font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }
.a-bill-cap i { height: 8px; border-radius: 999px; background: linear-gradient(90deg, var(--bl-primary) calc(var(--w) * 100%), var(--a-soft) 0); }
.a-bill-cap em { font-style: normal; font-weight: 500; color: var(--a-ink); }
.a-bill-f { display: flex; align-items: center; gap: 8px; margin: 0; padding: 12px 18px 14px; border-top: 1px solid var(--a-line); font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }
.a-bill-f svg { width: 14px; height: 14px; flex: none; }
.a-bill[data-reveal].in .a-bill-r, .a-bill[data-reveal].in .a-bill-cap { animation: a-rise .5s var(--a-ease) both; }
.a-bill[data-reveal].in .a-bill-r:nth-child(3) { animation-delay: .1s; }
.a-bill[data-reveal].in .a-bill-r:nth-child(4) { animation-delay: .2s; }
.a-bill[data-reveal].in .a-bill-cap { animation-delay: .3s; }

/* first call, pilot, partner */
.a-s3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 56px 0 0; padding: 0; list-style: none; }
.a-s3 li { position: relative; display: grid; align-content: start; gap: 6px; padding: 24px 26px 26px; border-radius: 22px; background: #fff; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-s3 li + li::before { content: ""; position: absolute; left: -14px; top: 46px; width: 10px; height: 10px; border-top: 1.5px solid var(--a-ink2); border-right: 1.5px solid var(--a-ink2); transform: rotate(45deg); }
.a-s3-n { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 10px; border-radius: 50%; background: var(--a-soft); font: 400 22px/1 var(--a-serif); }
.a-s3 li:last-child { background: linear-gradient(180deg, var(--bl-yellow-7) 0, #fff 150px); box-shadow: inset 0 0 0 1.5px var(--bl-yellow-4); }
.a-s3 li:last-child .a-s3-n { background: var(--bl-primary); }
.a-s3-k { font-size: 13px; line-height: 18px; font-weight: 500; color: var(--a-ink2); }
.a-s3 b { font: 400 36px/1.02 var(--a-serif); letter-spacing: -.005em; }
.a-s3-d { font-size: 15.5px; line-height: 23px; color: var(--a-ink2); }
.a-s3-p { justify-self: start; margin-top: 10px; padding: 6px 12px; border-radius: 999px; background: var(--a-soft); font-style: normal; font-size: 13px; line-height: 17px; font-weight: 500; color: var(--a-ink); }
.a-s3 li:last-child .a-s3-p { background: var(--a-ink); color: #fff; }
.a-s3[data-reveal].in li { animation: a-rise .6s var(--a-ease) both; }
.a-s3[data-reveal].in li:nth-child(2) { animation-delay: .1s; }
.a-s3[data-reveal].in li:nth-child(3) { animation-delay: .2s; }

/* ---------- for investors ---------- */
.a-inv-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; }
.a-inv-l .a-dt-list { margin-top: 28px; }
.a-inv-l .a-ctas { margin-top: 28px; }
.a-port { width: min(520px, 90%); }
.a-port-r { display: grid; grid-template-columns: minmax(0, 1.25fr) auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--a-line); font-size: 13.5px; line-height: 18px; }
.a-port-r:last-child { border-bottom: 0; }
.a-port-r .a-co { overflow: hidden; text-overflow: ellipsis; }
.a-port-s { padding: 3px 10px; border-radius: 999px; background: var(--a-soft); font-size: 12px; line-height: 16px; font-weight: 500; white-space: nowrap; }
.a-port-s.is-y { background: var(--bl-primary); }
.a-port-s.is-q { background: #fff; color: var(--a-mute); box-shadow: inset 0 0 0 1px var(--a-line2); }
.a-port-r em { font-style: normal; font-size: 12.5px; color: var(--a-ink2); text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.a-port[data-reveal].in .a-port-r { animation: a-rise .5s var(--a-ease) both; }
.a-port[data-reveal].in .a-port-r:nth-child(3) { animation-delay: .08s; }
.a-port[data-reveal].in .a-port-r:nth-child(4) { animation-delay: .16s; }
.a-port[data-reveal].in .a-port-r:nth-child(5) { animation-delay: .24s; }

/* ---------- who we are: the mission ---------- */
.a-mission { max-width: 560px; margin: 18px 0 0; font: italic 400 25px/1.24 var(--a-serif); color: var(--a-ink2); text-wrap: pretty; }

/* ---------- how we work: the funnel, pilot and partner, the fine print ---------- */
.a-hero-note { margin: 18px 0 0; font-size: 14px; line-height: 20px; color: var(--a-ink2); }
.a-fn { width: min(920px, 100%); }
.a-fn-cols { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; padding: 24px 20px 18px; }
.a-fn-c { display: grid; grid-template-rows: 200px auto auto; align-content: start; gap: 3px; }
.a-fn-c i { align-self: end; height: calc(var(--h) * 200px); min-height: 10px; border-radius: 10px 10px 4px 4px; background: #e2ddd4; transform-origin: 50% 100%; }
.a-fn-c.is-pay i { background: var(--bl-primary); box-shadow: 0 0 0 4px var(--bl-yellow-7); }
.a-fn-c.is-you i { background: repeating-linear-gradient(135deg, var(--a-soft) 0 6px, #fff 6px 12px); box-shadow: inset 0 0 0 1px var(--a-line2); }
.a-fn-k { margin-top: 12px; font-size: 13.5px; line-height: 18px; font-weight: 600; }
.a-fn-d { font-size: 12px; line-height: 16px; color: var(--a-ink2); }
.a-fn-c.is-pay .a-fn-d { font-weight: 500; color: var(--a-ink); }
.a-fn-f { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 12px 20px 14px; border-top: 1px solid var(--a-line); font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }
.a-fn-f span { display: inline-flex; align-items: center; gap: 8px; }
.a-fn-f i { width: 12px; height: 12px; border-radius: 3px; }
.a-fn-f i.us { background: #e2ddd4; }
.a-fn-f i.pay { background: var(--bl-primary); }
.a-fn-f i.you { background: repeating-linear-gradient(135deg, var(--a-soft) 0 3px, #fff 3px 6px); box-shadow: inset 0 0 0 1px var(--a-line2); }
.a-pv--flow[data-reveal].in .a-fn-c i { animation: a-grow-y .9s var(--a-ease) both; }
.a-pv--flow[data-reveal].in .a-fn-c:nth-child(2) i { animation-delay: .06s; }
.a-pv--flow[data-reveal].in .a-fn-c:nth-child(3) i { animation-delay: .12s; }
.a-pv--flow[data-reveal].in .a-fn-c:nth-child(4) i { animation-delay: .18s; }
.a-pv--flow[data-reveal].in .a-fn-c:nth-child(5) i { animation-delay: .24s; }
.a-pv--flow[data-reveal].in .a-fn-c:nth-child(6) i { animation-delay: .3s; }
.a-pv--flow[data-reveal].in .a-fn-c:nth-child(7) i { animation-delay: .36s; }

.a-offer-band, .a-mc-band { position: relative; isolation: isolate; overflow: hidden; margin-top: 44px; padding: 28px; border-radius: 28px; background: #b9b3a3; }
.a-offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1000px; margin: 0 auto; }
.a-oc { display: flex; flex-direction: column; padding: 30px 30px 28px; border-radius: 22px; background: #fff; box-shadow: 0 24px 50px -30px rgba(19, 40, 28, .5); }
.a-oc:first-child { box-shadow: inset 0 0 0 1.5px var(--bl-yellow-4), 0 24px 50px -30px rgba(19, 40, 28, .5); }
.a-oc-top { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.a-oc .a-h3 { font-size: 46px; }
.a-oc-d { margin: 8px 0 18px; font-size: 17px; line-height: 25px; color: var(--a-ink2); }
.a-oc-dl { display: grid; margin: 0 0 26px; }
.a-oc-dl div { display: grid; grid-template-columns: 74px 1fr; gap: 12px; padding: 13px 0; border-top: 1px solid var(--a-line); }
.a-oc-dl dt { padding-top: 2px; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--a-mute); }
.a-oc-dl dd { margin: 0; font-size: 15px; line-height: 22px; }
.a-oc .a-btn { align-self: flex-start; margin-top: auto; }
.a-offer-grid[data-reveal].in .a-oc { animation: a-rise .6s var(--a-ease) both; }
.a-offer-grid[data-reveal].in .a-oc:nth-child(2) { animation-delay: .1s; }

.a-mc4, .a-two-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.a-mc4 { margin-top: 44px; }
.a-mc { padding: 26px 28px; border-radius: 22px; background: #fff; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-mc--y { background: #fff linear-gradient(180deg, var(--bl-yellow-7) 0, #fff 140px); box-shadow: inset 0 0 0 1.5px var(--bl-yellow-4); }
.a-mc-k { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--a-ink2); }
.a-mc-k svg { width: 16px; height: 16px; color: var(--a-ink); }
.a-mc h3 { margin: 0 0 14px; font: 400 32px/1.04 var(--a-serif); letter-spacing: -.005em; }
.a-mc > p:not(.a-mc-k) { margin: 0; font-size: 15.5px; line-height: 24px; color: var(--a-ink2); }
.a-mc .a-checks { margin: 0; }
.a-mc > p.a-mc-n { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--a-line); font-size: 14px; line-height: 21px; }
.a-mc4[data-reveal].in .a-mc, .a-two-grid[data-reveal].in .a-mc { animation: a-rise .6s var(--a-ease) both; }
.a-mc4[data-reveal].in .a-mc:nth-child(2), .a-two-grid[data-reveal].in .a-mc:nth-child(2) { animation-delay: .08s; }
.a-mc4[data-reveal].in .a-mc:nth-child(3) { animation-delay: .16s; }
.a-mc4[data-reveal].in .a-mc:nth-child(4) { animation-delay: .24s; }
.a-pv--inv .a-port { width: min(640px, 100%); }

/* ---------- about ---------- */
.a-mv-band { position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: end; min-height: 540px; padding: 40px; border-radius: 22px; background: #b9b3a3; }
.a-mv-card { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; width: min(880px, 100%); padding: 28px 32px 30px; border-radius: 20px; background: rgba(255, 255, 255, .95);
  box-shadow: 0 30px 60px -28px rgba(19, 40, 28, .45); }
.a-mv-k { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 10px; font-size: 13px; line-height: 16px; font-weight: 500; color: var(--a-ink2); }
.a-mv-k::before { content: ""; width: 8px; height: 8px; border-radius: 2px; background: var(--bl-primary); }
.a-mv-t { margin: 0; font: 400 29px/1.12 var(--a-serif); color: var(--a-ink); text-wrap: pretty; }
.a-why3 p + p { margin-top: 16px; }
.a-fdrs--about { max-width: 980px; }
.a-fdr .a-fdr-l { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; font-size: 14px; }
.a-at-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 72px; align-items: center; }
.a-at-card { display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -28px rgba(19, 40, 28, .45), 0 0 0 1px rgba(19, 40, 28, .06);
  font-size: 13.5px; line-height: 18px; color: var(--a-ink2); }
.a-at-card svg { width: 22px; height: 22px; flex: none; color: var(--a-ink); }
.a-at-card b { display: block; font-size: 16px; line-height: 21px; font-weight: 600; color: var(--a-ink); }
.a-at-l .a-res-list { margin-top: 28px; }

@media (max-width: 900px) {
  .a-price-grid, .a-inv-grid, .a-at-grid { grid-template-columns: 1fr; gap: 36px; }
  .a-offer-grid, .a-mc4, .a-two-grid { grid-template-columns: 1fr; }
  .a-offer-band, .a-mc-band { padding: 10px; border-radius: 22px; }
  .a-oc { padding: 22px 20px; }
  .a-oc .a-h3 { font-size: 38px; }
  .a-mv-band { min-height: 0; padding: 140px 12px 12px; }
  .a-mv-card { grid-template-columns: 1fr; gap: 18px; padding: 20px 20px 22px; }
  .a-mv-t { font-size: 24px; }
  .a-s3 { grid-template-columns: 1fr; gap: 14px; margin-top: 36px; }
  .a-s3 li + li::before { left: 40px; top: -12px; transform: rotate(135deg); }
}
@media (max-width: 700px) {
  .a-fn-cols { grid-template-columns: 1fr; gap: 10px; padding: 18px 16px 14px; }
  .a-fn-c { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 0; }
  .a-fn-c i { grid-column: 2; grid-row: 1 / 3; align-self: center; width: calc(var(--h) * 100%); min-width: 10px; height: 12px; min-height: 0; border-radius: 999px; transform-origin: 0 50%; }
  .a-fn-k { grid-column: 1; margin-top: 0; }
  .a-fn-d { grid-column: 1; }
  .a-pv--flow[data-reveal].in .a-fn-c i { animation-name: a-grow-x; }
  .a-fn-c.is-pay i, .a-fn-c.is-you i { min-width: 30px; }
}
@keyframes a-grow-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (max-width: 560px) {
  .a-bill-r { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; padding: 12px 14px; }
  .a-bill-r > .a-redact, .a-free { display: none; }
  .a-bill-cap { grid-template-columns: minmax(0, 1fr) auto; }
  .a-bill-cap i { grid-column: 1 / -1; grid-row: 2; }
  .a-port-r { grid-template-columns: minmax(0, 1fr) auto; }
  .a-port-r em { display: none; }
  .a-mission { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .a-pv--flow[data-reveal].in .a-fn-c i, .a-offer-grid[data-reveal].in .a-oc, .a-mc4[data-reveal].in .a-mc, .a-two-grid[data-reveal].in .a-mc { animation: none !important; }
  .a-bill[data-reveal].in *, .a-s3[data-reveal].in li, .a-port[data-reveal].in .a-port-r { animation: none !important; }
}

/* ---------- the journey: first call, pilot, partner, each with its own small interface ---------- */
.a-jr-band { position: relative; isolation: isolate; overflow: hidden; margin-top: 48px; padding: 30px 28px 32px; border-radius: 28px; background: #b9b3a3; }
.a-jr { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.a-jr::before { content: ""; position: absolute; left: 16%; right: 16%; top: 19px; border-top: 2px dashed rgba(255, 255, 255, .8); }
.a-jr-s { position: relative; display: grid; align-content: start; gap: 14px; }
.a-jr-k { justify-self: center; display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 5px 14px 5px 5px; border-radius: 999px; background: rgba(246, 248, 243, .94);
  box-shadow: 0 8px 20px -12px rgba(19, 40, 28, .45); font-size: 15px; line-height: 20px; font-weight: 600; white-space: nowrap; }
.a-jr-k em { font-style: normal; font-weight: 400; font-size: 13px; color: var(--a-ink2); }
.a-jr-n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--a-ink); color: #fff; font-size: 13px; }
.a-jr-s.is-p .a-jr-n { background: var(--bl-primary); color: var(--a-ink); }
.a-jr-ui { display: flex; flex-direction: column; gap: 12px; height: 100%; padding: 16px 18px; }   /* a column, so each footer sits at the card's bottom */
.a-jr-h { display: flex; align-items: center; gap: 9px; font-size: 14px; line-height: 18px; }
.a-jr-h svg { width: 16px; height: 16px; flex: none; }
.a-jr-h b { font-weight: 600; }
.a-jr-h span { margin-left: auto; font-size: 12px; color: var(--a-ink2); white-space: nowrap; }
.a-jr-who { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--a-soft); font-size: 13px; line-height: 17px; color: var(--a-ink2); }
.a-jr-who .a-avs img { width: 28px; height: 28px; box-shadow: 0 0 0 2px var(--a-soft); }
.a-jr-l { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; font-size: 13.5px; line-height: 18px; }
.a-jr-l li { display: grid; grid-template-columns: 14px 1fr; gap: 8px; }
.a-jr-l li::before { content: ""; width: 7px; height: 7px; margin: 6px 0 0 3px; border-radius: 2px; background: var(--bl-primary); }
.a-jr-f { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--a-line); }
.a-jr-tag { padding: 4px 10px; border-radius: 999px; background: var(--a-soft); font-size: 12px; line-height: 16px; font-weight: 500; }
.a-jr-tag.is-y { background: var(--bl-primary); }
.a-jr-tag.is-d { background: var(--a-ink); color: #fff; }
.a-jr-tag.is-o { background: #fff; color: var(--a-ink2); box-shadow: inset 0 0 0 1px var(--a-line2); }
.a-wk { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.a-wk-c { display: flex; flex-direction: column-reverse; align-items: center; gap: 5px; height: 104px; padding: 6px 0 7px; border-radius: 10px; background: var(--a-soft); }
.a-wk-c span { margin-top: 2px; font-size: 11px; line-height: 14px; font-weight: 500; color: var(--a-ink2); }
.a-wk-c i { width: 14px; height: 14px; flex: none; border-radius: 50%; }
.a-wk-c i.m { background: var(--bl-primary); box-shadow: inset 0 0 0 1px rgba(19, 40, 28, .18); }
.a-wk-c i.ns { background: #fff; box-shadow: inset 0 0 0 1.5px var(--a-line2); }
.a-wk-c i.set { width: 60%; height: 26px; border-radius: 6px; background: #ded9cf; }
.a-wk-c.is-now { background: #fff; box-shadow: inset 0 0 0 1.5px var(--a-ink); }
.a-jr-lg { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0; font-size: 12px; line-height: 16px; color: var(--a-ink2); }
.a-jr-lg span { display: inline-flex; align-items: center; gap: 6px; }
.a-jr-lg i { width: 10px; height: 10px; border-radius: 50%; }
.a-jr-lg i.set { border-radius: 3px; background: #ded9cf; }
.a-jr-lg i.m, .a-jr-lg i.mt { background: var(--bl-primary); }
.a-jr-lg i.mt, .a-jr-lg i.fee { border-radius: 3px; }
.a-jr-lg i.ns { background: #fff; box-shadow: inset 0 0 0 1.5px var(--a-line2); }
.a-jr-lg i.fee { background: #cfc9be; }
/* Partner: the work, chosen together; the chosen parts in the accent */
.a-pick { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.a-pick li { padding: 4px 10px; border-radius: 999px; background: #fff; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--a-ink2); box-shadow: inset 0 0 0 1px var(--a-line2); }
.a-pick li.is-on { background: var(--bl-primary); color: var(--a-ink); box-shadow: none; }
/* on home's journey the parts fill the card as the pilot's week chart does: two columns of taller tiles */
.a-jr-ui .a-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a-jr-ui .a-pick li { padding: 9px 12px; border-radius: 10px; }
.a-mo { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: end; height: 104px; padding: 0 10px; border-bottom: 1px solid var(--a-line2); }
.a-mo-c { display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.a-mo-c i.mt { height: calc(var(--h) * 70px); border-radius: 6px 6px 0 0; background: var(--bl-primary); }
.a-mo-c i.fee { height: 18px; background: #cfc9be; }
.a-mo-cap { position: absolute; left: 0; right: 0; top: 10px; border-top: 1.5px dashed var(--a-ink2); }
.a-mo-cap span { position: absolute; right: 0; top: -18px; font-size: 11px; line-height: 14px; font-weight: 500; color: var(--a-ink2); }
.a-mo-l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 0 10px; margin-top: -4px; font-size: 11px; line-height: 14px; font-weight: 500; text-align: center; color: var(--a-ink2); }
.a-rep { display: grid; gap: 0; overflow: hidden; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--a-line); font-size: 13px; line-height: 17px; }
.a-rep div { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 10px; padding: 9px 12px; border-bottom: 1px solid var(--a-line); }
.a-rep div:last-child { border-bottom: 0; }
.a-rep span { color: var(--a-ink2); font-size: 12px; }
.a-rep .a-redact { width: 80%; height: 8px; }
.a-rep .dots { display: flex; gap: 4px; }
.a-rep .dots i { width: 12px; height: 12px; border-radius: 50%; background: var(--bl-primary); }
.a-jr[data-reveal].in .a-jr-s { animation: a-rise .6s var(--a-ease) both; }
.a-jr[data-reveal].in .a-jr-s:nth-child(2) { animation-delay: .1s; }
.a-jr[data-reveal].in .a-jr-s:nth-child(3) { animation-delay: .2s; }

/* the investor verdicts: a table with headers */
.a-port-h { padding-block: 9px; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--a-mute); }
.a-port-h span:nth-child(2) { justify-self: center; }
.a-port-h span:last-child { text-align: right; }
.a-port-r .a-port-s { justify-self: center; }
.a-port-f { margin: 0; padding: 11px 16px 13px; border-top: 1px solid var(--a-line); font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }

/* ---------- the fine print, each card with a small interface ---------- */
.a-mc .a-mc-v { margin: 2px 0 16px; }
.a-mrec { overflow: hidden; border-radius: 14px; background: #fff; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-mrec-h { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--a-line); font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }
.a-mrec-h b { display: block; font-size: 14px; line-height: 18px; font-weight: 600; color: var(--a-ink); }
.a-mrec-s { margin-left: auto; padding: 4px 10px; border-radius: 999px; background: var(--bl-primary); font-size: 12px; line-height: 16px; font-weight: 600; color: var(--a-ink); }
.a-mrec-r { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--a-line); font-size: 14px; line-height: 19px; }
.a-mrec-r:last-child { border-bottom: 0; }
.a-mrec-r i { display: grid; place-items: center; width: 22px; height: 22px; flex: none; border-radius: 50%; background: var(--bl-primary); }
.a-mrec-r i svg { width: 12px; height: 12px; }
.a-calc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.a-calc-c { display: grid; gap: 7px; padding: 10px 12px; border-radius: 12px; background: var(--a-soft); font-size: 12px; line-height: 15px; color: var(--a-ink2); }
.a-calc-c .a-redact { width: 56px; height: 9px; }
.a-calc-c.is-y { background: var(--bl-primary); color: var(--a-ink); font-weight: 500; }
.a-calc-x { font: 400 26px/1 var(--a-serif); color: var(--a-ink2); }
.a-wkl { display: grid; margin: 0; padding: 0; list-style: none; overflow: hidden; border-radius: 14px; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-wkl li { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--a-line); font-size: 14px; line-height: 19px; }
.a-wkl li:last-child { border-bottom: 0; }
.a-wkl svg { width: 16px; height: 16px; }
.a-wkl em { font-style: normal; font-size: 12px; color: var(--a-ink2); white-space: nowrap; }
.a-capm { padding: 14px 16px 12px; border-radius: 14px; background: var(--a-soft); }
.a-capm-h, .a-capm-f { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }
.a-capm-h b { color: var(--a-ink); font-weight: 600; }
.a-capm-b { position: relative; height: 14px; margin: 12px 0 8px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--a-line2); }
.a-capm-b i { position: absolute; left: 0; top: 0; bottom: 0; width: 78%; border-radius: 999px; background: var(--bl-primary); }
.a-capm-b b { position: absolute; right: 8%; top: -6px; bottom: -6px; border-right: 2px dashed var(--a-ink); }

@media (max-width: 900px) {
  .a-jr-band { padding: 14px 10px; border-radius: 22px; }
  .a-jr { grid-template-columns: 1fr; gap: 22px; }
  .a-jr::before { left: 50%; right: auto; top: 18px; bottom: 18px; border-top: 0; border-left: 2px dashed rgba(255, 255, 255, .8); }
}
@media (prefers-reduced-motion: reduce) { .a-jr[data-reveal].in .a-jr-s { animation: none !important; } }

/* more painting around the pilot and partner cards */
.a-offer-band { padding: 76px 64px; }
.a-offer-grid { max-width: 900px; }
@media (max-width: 1100px) { .a-offer-band { padding: 48px 32px; } }
@media (max-width: 900px) { .a-offer-band { padding: 56px 10px 10px; } }

/* more painting around the journey and the fine print; the step cards share one height */
.a-jr-band { padding: 44px 40px 48px; }
.a-jr-s { grid-template-rows: auto 1fr; }
.a-mc-band { padding: 56px 48px; }
@media (max-width: 1100px) { .a-jr-band, .a-mc-band { padding: 32px 24px; } }
@media (max-width: 900px) { .a-jr-band { padding: 18px 10px; } .a-mc-band { padding: 40px 10px 10px; } }

/* the portfolio call verdicts inside the journey */
.a-rep--v div { grid-template-columns: minmax(0, 1fr) auto; }
.a-rep--v .a-port-s { justify-self: end; }

/* investors: an introduction to forward */
.a-fwd-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; }
.a-fwd-grid .a-ctas { margin-top: 28px; }
.a-intro { width: min(560px, 100%); }
.a-intro-b { padding: 18px 22px 20px; font-size: 14.5px; line-height: 22px; }
.a-intro-b p { margin: 0 0 10px; }
.a-intro-b p:last-child { margin-bottom: 0; }
.a-intro-b .a-intro-s { display: flex; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--a-line); font-size: 13.5px; line-height: 19px; }
.a-intro-s span { flex: none; width: 56px; color: var(--a-mute); }
.a-intro[data-reveal].in .a-intro-b p { animation: a-rise .5s var(--a-ease) both; }
.a-intro[data-reveal].in .a-intro-b p:nth-child(2) { animation-delay: .08s; }
.a-intro[data-reveal].in .a-intro-b p:nth-child(3) { animation-delay: .16s; }
.a-intro[data-reveal].in .a-intro-b p:nth-child(4) { animation-delay: .24s; }
@media (max-width: 900px) { .a-fwd-grid { grid-template-columns: 1fr; gap: 36px; } }
@media (prefers-reduced-motion: reduce) { .a-intro[data-reveal].in .a-intro-b p { animation: none !important; } }

.a-pr-st { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a-pr-st span { display: inline-flex; align-items: center; gap: 7px; }
.a-pr-st i { width: 8px; height: 8px; border-radius: 2px; }
.a-pr-st i.g { background: #177650; }
.a-pr-st i.y { background: var(--bl-primary); }
.a-pr-st i.p { background: var(--data-8); }
.a-pr-st i.o { background: #fff; box-shadow: inset 0 0 0 1.5px var(--a-ink2); }

/* investors: a calendar of held meetings */
.a-cal { display: grid; overflow: hidden; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-cal > div { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--a-line); font-size: 12.5px; line-height: 16px; color: var(--a-ink2); }
.a-cal > div:last-child { border-bottom: 0; }
.a-cal-d { display: grid; justify-items: center; padding: 5px 0; border-radius: 8px; background: var(--a-soft); font-size: 11px; }
.a-cal-d b { font-size: 13px; color: var(--a-ink); }
.a-cal span b { display: block; font-weight: 600; color: var(--a-ink); }
.a-cal em { padding: 3px 9px; border-radius: 999px; background: var(--bl-primary); font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--a-ink); }
.a-mc > ul + .a-mc-v { margin: 18px 0 0; }
.a-rep div b:not(.a-redact) { font-weight: 600; }

/* review fixes: the sample month, the definition as an open list, formula and table on phones */
.a-bill-amt { justify-self: end; font-size: 12px; line-height: 16px; font-weight: 500; color: var(--a-ink2); white-space: nowrap; }
.a-bill-r { grid-template-columns: 34px minmax(0, 1fr) auto 96px; }   /* a fixed last column keeps chips and amounts in line */
.a-mdef { padding: 18px 0 0; border-radius: 0; background: transparent; box-shadow: inset 0 1px 0 var(--a-line2); }
.a-calc-c b { font-size: 12.5px; line-height: 16px; font-weight: 600; color: var(--a-ink); }
.a-jr-note { max-width: 760px; margin: 22px auto 0; padding: 10px 16px; border-radius: 14px; background: rgba(246, 248, 243, .92); font-size: 14px; line-height: 21px; text-align: center; color: var(--a-ink); }
@media (max-width: 600px) {
  .a-oc-dl div { grid-template-columns: 1fr; gap: 4px; }
  .a-calc { flex-direction: column; align-items: stretch; }
  .a-calc-x { text-align: center; line-height: 18px; }
  .a-port-h span:last-child { display: none; }
  .a-port .a-bar .a-dots { display: none; }
  .a-bill-amt { display: none; }
  .a-jr-note { margin-top: 14px; font-size: 13px; }
}
.a-oc-v { display: grid; gap: 10px; margin: 0 0 24px; padding: 14px; border-radius: 14px; background: var(--a-soft); }
.a-wk--sm .a-wk-c { height: 84px; background: #fff; }
.a-wk--sm .a-wk-c.is-now { box-shadow: inset 0 0 0 1.5px var(--a-ink); }
.a-mo--sm { height: 84px; }
.a-oc .a-oc-v .a-mo { border-bottom-color: var(--a-line2); }

/* small card titles in the sans; the serif stays for headlines */
.a-mc h3 { font: 600 19px/25px var(--font); letter-spacing: -.015em; }
.a-mc h3 { margin-bottom: 14px; }
/* the fine print, decluttered */
.a-calc { flex-wrap: nowrap; gap: 6px; }
.a-calc-c { padding: 9px 11px; font-size: 12.5px; line-height: 16px; font-weight: 500; color: var(--a-ink); white-space: nowrap; }
.a-calc-x { font-size: 20px; }
.a-wkl li { grid-template-columns: 18px minmax(0, 1fr); }
@media (max-width: 1100px) { .a-calc { flex-wrap: wrap; } }

/* the stages as equal steps, not as bars that read like conversion rates */
.a-fn-cols { position: relative; }
.a-fn-cols::before { content: ""; position: absolute; left: 44px; right: 44px; top: 45px; border-top: 2px dashed var(--a-line2); }
.a-fn-c { position: relative; grid-template-rows: auto auto auto; justify-items: start; gap: 4px; }
.a-fn-c i { position: relative; width: 42px; height: 42px; min-height: 0; align-self: start; border-radius: 50%; background: #e2ddd4; box-shadow: 0 0 0 4px #fff; }
.a-fn-c.is-pay i { background: var(--bl-primary); box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--bl-yellow-6); }
.a-fn-c.is-you i { box-shadow: 0 0 0 4px #fff, inset 0 0 0 1px var(--a-line2); }
.a-fn-k { margin-top: 10px; }
.a-pv--flow[data-reveal].in .a-fn-c i { animation: a-pop .45s ease both; }
@media (max-width: 700px) {
  .a-fn-cols::before { left: 30px; right: auto; top: 26px; bottom: 26px; border-top: 0; border-left: 2px dashed var(--a-line2); }
  .a-fn-c { grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-items: center; }
  .a-fn-c i { grid-column: 1; grid-row: 1 / 3; width: 26px; height: 26px; min-width: 0; align-self: center; border-radius: 50%; }
  .a-fn-c.is-pay i, .a-fn-c.is-you i { min-width: 0; }
  .a-fn-k, .a-fn-d { grid-column: 2; }
  .a-pv--flow[data-reveal].in .a-fn-c i { animation-name: a-pop; }
}
.a-fn-cols::before { display: none; }
.a-fn-c:not(:last-child)::after { content: ""; position: absolute; left: 48px; right: -4px; top: 20px; border-top: 2px dashed var(--a-line2); }
@media (max-width: 700px) {
  .a-fn-cols::before { display: block; }
  .a-fn-c:not(:last-child)::after { display: none; }
}
/* the pilot tracker: setup and warm-up before the six sending weeks */
.a-wk { grid-template-columns: 1.2fr repeat(6, minmax(0, 1fr)); }
.a-wk-c.is-pre { background: repeating-linear-gradient(135deg, var(--a-soft) 0 6px, #fff 6px 12px); box-shadow: inset 0 0 0 1px var(--a-line); }
.a-wk--sm .a-wk-c.is-pre { background: repeating-linear-gradient(135deg, #fff 0 6px, var(--a-soft) 6px 12px); }

/* about, second review: founders full width; phones read left-aligned */
.a-fdrs--about { max-width: none; gap: 24px; }
@media (max-width: 600px) {
  .a-state-sub p { text-align: left; line-height: 1.55; }
  .a-at-grid .a-paint { min-height: 300px; padding: 0; }
  .a-at-grid .a-at-card { position: absolute; left: 14px; right: 14px; bottom: 14px; }
  .a-foot-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .a-foot-brand { grid-column: 1 / -1; }
}
.a-fdrs--about .a-fdr img { aspect-ratio: 1 / 1; object-position: 50% 30%; }

/* second review round: example companies per segment, the data's source chain, captions and phone readability */
.a-seg-r em { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; font-style: normal; }
.a-seg-r em b { padding: 2px 8px; border-radius: 999px; background: var(--a-soft); font-size: 11.5px; line-height: 16px; font-weight: 500; }
.a-seg-r.is-y em b { background: var(--bl-yellow-7); box-shadow: inset 0 0 0 1px var(--bl-yellow-5); }
.a-prov { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin: 22px 0 0; padding: 0; list-style: none; }
.a-prov li { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px 6px 10px; border-radius: 999px; background: #fff; font-size: 13.5px; line-height: 18px; font-weight: 500; box-shadow: inset 0 0 0 1px var(--a-line); }
.a-prov li svg { width: 15px; height: 15px; color: var(--a-ink2); }
.a-prov li + li::before { content: ""; position: absolute; top: 50%; left: -19px; width: 16px; border-top: 1.5px dashed var(--a-ink2); }
.a-csv-f span span { display: inline; }
.a-csv-f .a-csv-x { display: none; }
.a-pv-cap { margin: 12px 0 0; font-size: 13px; line-height: 20px; color: var(--a-ink2); }
.a-jr-note { font-size: 15px; line-height: 22px; }
@media (max-width: 640px) {
  .a-csv-r { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .a-csv-r > :nth-child(n+3) { display: none; }
  .a-csv-f .a-csv-x { display: inline; }
}
@media (max-width: 560px) {
  .a-port-r { grid-template-columns: minmax(0, 1fr) auto; row-gap: 2px; }
  .a-port-r em { display: block; grid-column: 1 / -1; padding-left: 36px; text-align: left; font-size: 12px; line-height: 1.4; white-space: normal; }
  .a-wk-c span { font-size: 12px; }
  .a-jr-lg { font-size: 13px; }
}

/* services, third round: the scope line reads as copy, not a card; phones: it follows the intro, the funnel and fine print sit tighter */
.a-sys .a-scope { padding: 0; border-radius: 0; background: none; box-shadow: none; color: var(--a-ink); }
@media (max-width: 900px) {
  .a-sys-l .a-scope { order: -1; margin: -12px 0 0; }
}
@media (max-width: 600px) {
  .a-fn-cols { gap: 8px; padding: 14px 14px 12px; }
  .a-fn-c { min-height: 44px; }
  .a-fn-f { gap: 6px 16px; padding: 10px 14px 12px; }
  .a-mc-band { padding: 24px 12px 12px; }
  .a-mc4 { gap: 12px; }
}
/* the price card: the formula as a list, one line of explanation per term */
.a-mc .a-fx { margin: 2px 0 0; padding: 0; list-style: none; }
.a-fx .a-mrec-r { justify-content: flex-start; align-items: flex-start; padding: 11px 14px; }
.a-fx .a-mrec-r i.op { margin-top: 2px; background: var(--a-soft); font: 500 15px/1 var(--font); font-style: normal; color: var(--a-ink2); }
.a-fx .a-mrec-r:first-child i.op { visibility: hidden; }
.a-fx .a-mrec-r span { display: grid; gap: 1px; font-size: 13.5px; line-height: 19px; color: var(--a-ink2); }
.a-fx .a-mrec-r b { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--a-ink); }
.a-fx .a-mrec-r.is-y { background: var(--bl-yellow-7); }
.a-fx .a-mrec-r.is-y i.op { background: var(--bl-primary); color: var(--a-ink); }
/* phone tap targets: at least 24px tall for the logos, the founders' links and the blog's back link */
.a-nav .logo, .a-foot .logo { min-height: 24px; }
.a-fdr .a-fdr-l a { display: inline-block; padding-block: 2px; }
.page-hero .eyebrow a { display: inline-block; padding-block: 4px; }
@media (max-width: 600px) {
  .a-prov { gap: 8px 18px; }
  .a-prov li { padding: 5px 11px; font-size: 12.5px; line-height: 16px; }
  .a-prov li svg { display: none; }
  .a-prov li + li::before { left: -16px; width: 14px; }
}
@media (max-width: 370px) {
  .a-prov { flex-direction: column; align-items: center; gap: 10px; }
  .a-prov li + li::before { top: -11px; left: 50%; width: 0; height: 10px; border-top: 0; border-left: 1.5px dashed var(--a-ink2); }
}
/* phones: the "when a rule reaches each account" rows keep the company on one line, the timing below it */
@media (max-width: 600px) {
  .a-art-r { grid-template-columns: minmax(0, 1fr) auto; row-gap: 1px; }
  .a-art-r b { grid-column: 1; grid-row: 1; }
  .a-art-r em { grid-column: 1; grid-row: 2; }
  .a-art-r .a-chip { grid-column: 2; grid-row: 1 / 3; }
}
/* the Partner chart: bars are billable meetings only, up to the dashed meeting cap; the management fee is its own strip */
.a-mo-c i.mt { height: calc(var(--h) * (100% - 10px)); }
.a-mo-fee { margin: 2px 10px 0; padding: 4px 10px; border-radius: 6px; background: #ded9cf; font-size: 11.5px; line-height: 16px; font-weight: 500; text-align: center; color: var(--a-ink); }
.a-oc-vh { display: flex; justify-content: space-between; gap: 12px; margin: 0; font-size: 12px; line-height: 16px; color: var(--a-ink2); }
.a-oc-vh b { font-weight: 600; color: var(--a-ink); }

/* third review round: one accent (move badges in neutral), labelled redactions, terms you can scan, sans founder names, a calmer rhythm */
.a-tag.t1, .a-tag.t2, .a-tag.t3 { background: #eeede7; box-shadow: inset 0 0 0 1px var(--a-line); color: var(--a-ink); }
.a-aud-art .h { display: flex; justify-content: space-between; gap: 8px; margin-bottom: -2px; font-size: 11px; line-height: 14px; font-weight: 500; color: var(--a-ink2); }
.a-jr-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; margin-top: 24px; }
.a-jr-terms p { margin: 0; padding: 14px 0 0; font-size: 14.5px; line-height: 22px; color: var(--a-ink2); box-shadow: inset 0 1px 0 var(--a-line2); }
.a-jr-terms b { display: block; margin-bottom: 2px; font-size: 14.5px; font-weight: 600; color: var(--a-ink); }
.a-fdr figcaption > b { font: 600 19px/25px var(--font); letter-spacing: -.015em; }
.a-sec { padding-block: 88px; }
.a-state { padding-block: 112px 72px; }
@media (max-width: 900px) {
  .a-sec { padding-block: 64px; }
  .a-state { padding-block: 88px 52px; }
  .a-jr-terms { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .a-sec { padding-block: 48px; }
  .a-state { padding-block: 64px 36px; }
  .a-mv-band { padding-top: 80px; }
  .a-jr-terms p { font-size: 14px; }
}
/* phones: the market map and the opened company sit tighter, so the caption follows sooner */
@media (max-width: 600px) {
  .a-mrow { height: 42px; }
  .a-det-h { padding: 12px 14px 10px; }
  .a-det-k { margin: 10px 14px 4px; }
  .a-det-r { padding: 7px 14px; }
}
/* status dots on one scale: lime when you can use it, warm grey in testing, an outline when planned */
.a-pt-t em i.p, .a-status i.p, .a-pl4 em i.p, .a-pr-st i.p { background: #b9b3a3; }
/* the phone menu is solid, so the page underneath does not show through */
.a-sheet { background: #f6f8f3; }
.a-sheet a[aria-current="page"] { background: rgba(19, 40, 28, .05); box-shadow: inset 3px 0 0 var(--bl-primary); font-weight: 500; }
/* the 404: a painting with the main pages as a small window of real links */
.a-nf { padding-bottom: 88px; }
.a-nf-list { width: min(520px, 100%); padding-bottom: 4px; }
.a-nf-list > a { display: grid; grid-template-columns: 20px minmax(0, 1fr) 16px; gap: 12px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--a-line); color: var(--a-ink); text-decoration: none; }
.a-nf-list > a:hover { background: var(--a-soft); }
.a-nf-list > a:focus-visible { outline: 2px solid var(--a-ink); outline-offset: -2px; }
.a-nf-list svg { width: 18px; height: 18px; color: var(--a-ink2); }
.a-nf-list svg.ar { width: 16px; height: 16px; }
.a-nf-list > a > span { display: grid; gap: 1px; font-size: 13px; line-height: 18px; color: var(--a-ink2); }
.a-nf-list > a > span b { font-size: 15px; line-height: 20px; font-weight: 600; color: var(--a-ink); }
@media (max-width: 600px) { .a-nf { padding-bottom: 48px; } }
/* legal pages: a compact title card instead of the old full-height block, which read as an empty card in this style */
.page-hero--solo { min-height: 0; }
.page-hero--solo .pane-txt { padding: 64px 64px 48px; }
@media (max-width: 900px) { .page-hero--solo .pane-txt { padding: 40px 24px 32px; } }
.page-hero--solo + .section { padding-top: 56px; }
@media (max-width: 900px) { .page-hero--solo + .section { padding-top: 32px; } }
/* blog pages: the title sits centred beside the painting (no tall empty card above it), and the page continues below the
   painting instead of overlapping it */
.page-hero:not(.page-hero--solo) { min-height: clamp(440px, 56svh, 560px); }
.page-hero:not(.page-hero--solo) .pane-txt { justify-content: center; padding: 56px 56px 56px 64px; }
.over { margin-top: 0; border-radius: 0; background: transparent; }
@media (max-width: 900px) {
  .page-hero:not(.page-hero--solo) { min-height: 0; }
  .page-hero:not(.page-hero--solo) .pane-txt { padding: 40px 24px 32px; }
}
/* the platform tabs carry a small icon each, like the other titled cards */
.a-pt-t > svg { width: 18px; height: 18px; margin-bottom: 2px; color: var(--a-ink2); }
.a-pt-t[aria-selected="true"] > svg { color: var(--a-ink); }
@media (max-width: 900px) { .a-pt-t > svg { width: 16px; height: 16px; margin: 0; } }

/* fourth review round: moves link to their sources, labelled example meetings, previews anchored to the card bottom,
   the About fee terms as text, legible chart labels on phones */
.a-det-r > span:nth-child(2) { text-decoration: underline; text-decoration-color: var(--a-line2); text-underline-offset: 3px; }
.a-det-r .a-src { width: 11px; height: 11px; margin-left: 4px; vertical-align: -1px; color: var(--a-ink2); }
.a-cal-h { margin: 0; padding: 9px 12px; border-bottom: 1px solid var(--a-line); font-size: 12px; line-height: 16px; font-weight: 500; color: var(--a-ink2); }
.a-two-grid .a-mc { display: flex; flex-direction: column; }
.a-res-lbl { margin: 28px 0 10px; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--a-ink); }
.a-oc-top { flex-wrap: wrap; }
@media (max-width: 600px) {
  .a-mo-l, .a-mo-cap span { font-size: 12px; }
}
/* phones: the outreach example's notes sit on their own line right after the words they explain, and the generic email
   drops its third paragraph, so the two versions are close in height and the card has no empty tail */
@media (max-width: 600px) {
  .a-mail-b p { line-height: 1.75; }
  .a-mail mark::after { position: static; display: block; margin: 2px 0 6px; white-space: normal; }
  .a-mail mark { padding: 2px 0; }
  .a-before p:nth-child(3) { display: none; }
}
/* blog and legal headers sit in the same 1200 px column as every other E section, not edge to edge */
@media (min-width: 901px) { .page-hero { max-width: 1248px; margin-inline: auto; padding-inline: 24px; } }
/* the older shared templates (blog list, legal text) use the same 1200 px column as E's own sections */
:root { --content: 1200px; }
@media (max-width: 360px) { .a-csv-r { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.a-port-r em { white-space: normal; }
/* explorers on phones: the selected part's description reads as plain text under the selector pills, not as a
   frosted text box on the painting; the painting card holds only the picture */
.a-sys-r > .a-sys-cap { display: none; }
@media (max-width: 900px) {
  .a-sys-r > .a-sys-cap { display: block; position: static; inset: auto; grid-row: auto; margin: 0 0 14px; padding: 0; border-radius: 0;
    background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; font-size: 15px; line-height: 22px; color: var(--a-ink2); }
  .a-sys-card { padding: 28px 0; }
  .a-sys-card > .a-sys-vis:not(.a-sys-paint) { grid-area: 1 / 1; }
}

/* fifth review round: move dates stay on phones (under the badge), readable fee annotations, the investor cards
   top-aligned (no empty space inside a card), and 44 px touch areas for the Menu and Play buttons */
@media (max-width: 600px) {
  .a-mv { flex-direction: column; align-items: flex-end; gap: 1px; }
  .a-mv em { display: block; font-size: 11.5px; line-height: 14px; }
  .a-mrow { height: 48px; }
  .a-mo-fee { font-size: 13px; line-height: 18px; }
}
.a-two-grid { align-items: start; }
.a-two-grid .a-mc > .a-mc-v { margin: 24px 0 0; }
.a-menu, .a-play { position: relative; }
.a-menu::after { content: ""; position: absolute; inset: -4px 0; }
.a-play::after { content: ""; position: absolute; inset: -7px -2px; }
@media (max-width: 600px) { .a-state-sub { margin-top: 24px; } }
/* phones: founder photos square, so neither face is cropped at the chin or the hair */
@media (max-width: 600px) { .a-fdr img, .a-fdrs--about .a-fdr img { aspect-ratio: 1 / 1; } }
/* very small phones, and the narrowest three-column widths: the journey's step labels put their subtitle on a second
   line instead of wrapping the title */
@media (max-width: 370px), (min-width: 901px) and (max-width: 1000px) {
  .a-jr-k { display: inline-grid; grid-template-columns: auto auto; column-gap: 10px; row-gap: 0; padding: 6px 16px 6px 6px; border-radius: 22px; text-align: left; }
  .a-jr-n { grid-row: 1 / span 2; }
  .a-jr-k em { grid-column: 2; font-size: 12.5px; line-height: 16px; }
}
/* lists inside FAQ answers */
.faq .a ul { margin: 0 0 12px; padding-left: 20px; }
.faq .a li { margin: 0 0 6px; }
.faq .a li::marker { color: var(--a-ink2); }
/* sixth review round: keep "11 to 50 people" together */
.a-nw { white-space: nowrap; }
.a-jr-more { margin: 20px 0 0; font-size: 14.5px; line-height: 22px; text-align: center; color: var(--a-ink2); }
/* tablets: the Amsterdam painting keeps a real height (it collapsed to a 127 px strip between 601 and 900 px) */
@media (min-width: 601px) and (max-width: 900px) {
  .a-at-grid .a-paint { min-height: 340px; padding: 0; }
  .a-at-grid .a-at-card { position: absolute; left: 20px; bottom: 20px; }
}
/* phones: the sample month keeps three columns (a later desktop rule had added an empty fourth), each row aligned to
   its first line */
@media (max-width: 600px) {
  .a-bill-r { grid-template-columns: 30px minmax(0, 1fr) max-content; align-items: start; gap: 10px; }
  .a-bill-i { width: 30px; height: 30px; }
}
/* phones: the deliverable's rows put each label above its text, so the opening line gets the card's full width */
@media (max-width: 600px) {
  .a-doc-row { grid-template-columns: 22px minmax(0, 1fr); row-gap: 4px; }
  .a-doc-row > .a-v { grid-column: 2; }
}
/* forced colours (Windows high contrast) drop backgrounds, so selected states also get an outline in system colours */
@media (forced-colors: active) {
  .a-tab[aria-selected="true"], .a-pt-t[aria-selected="true"], .a-si[aria-pressed="true"], .a-seg button[aria-pressed="true"],
  .a-step[aria-current="step"] { outline: 2px solid Highlight; outline-offset: -2px; }
  .a-pick li.is-on { outline: 2px solid Highlight; outline-offset: -2px; }
  .a-links .nl[aria-current="page"], .a-sheet a[aria-current="page"] { text-decoration: underline; }
}
/* blog and legal page headers: the title sits on the page, as on the main pages, instead of in a text-only card; on
   legal pages it shares the left edge of the 780 px text column, on phones the 24 px edge of the logo and body text */
html[data-variant~="e"] .page-hero .pane-txt { background: transparent; }
html[data-variant~="e"] .page-hero--solo .pane-txt { width: 100%; max-width: 780px; margin-inline: auto; padding: 56px 0 0; }
@media (max-width: 900px) {
  html[data-variant~="e"] .page-hero .pane-txt { padding: 32px 16px 24px; }
  html[data-variant~="e"] .page-hero--solo .pane-txt { padding-bottom: 0; }
}
/* the Scale loop: the steps sit on the ring as nodes, so no label leaves the card; the caption wraps inside it */
.a-sys-vis .loop-cap { max-width: 128px; margin-inline: auto; }
/* the Automate flow: steps, wires and caption centred in the card instead of hugging its left edge */
.a-sys-vis .wf { justify-items: center; text-align: center; }
.a-sys-vis .wf .wire { margin-left: 0; }
/* platform tabs on home: the five panels share one cell of the painted band, so the band keeps the tallest panel's
   height and nothing below jumps when a tab changes; each window floats centred on a still painting. Inactive panels
   stay hidden: visibility keeps them out of view, out of the tab order and away from screen readers */
.a-pt .a-pv > .a-pt-p { grid-area: 1 / 1; }
.a-pt .a-pv > .a-pt-p[hidden] { display: grid; visibility: hidden; }
/* FAQ answers that end in a list keep the same space before the next question as answers that end in a paragraph */
.faq .a ul:last-child, .faq .a li:last-child { margin-bottom: 0; }
/* the Reach part: a channel name stays on one line ("Follow-up" broke at its hyphen); its note wraps instead */
.a-sys-vis .seq-k { white-space: nowrap; }
.a-sys-vis .seq-k .meta { white-space: normal; text-align: right; }
/* the platform explorer keeps only the painting on show and its two neighbours in the page, so the other
   paintings download when they are needed; without the script every painting stays as it was */
.demo-ok .a-sys-card > .a-sys-paint:not(.is-on):not(.is-near) { display: none; }
/* phones and tablets: small controls get a 44 px tall tap area without changing how they look */
@media (max-width: 900px) {
  .a-nav-r .a-btn--sm, .a-nav .logo, .a-tour .a-step, .a-seg button, .a-pt-t { position: relative; }
  .a-nav-r .a-btn--sm::after { content: ""; position: absolute; inset: -4px 0; }
  .a-nav .logo::after { content: ""; position: absolute; inset: -10px 0; }
  .a-tour .a-step::after { content: ""; position: absolute; inset: -7px 0; }
  .a-seg button::after { content: ""; position: absolute; inset: -6px 0; }
  .a-pt-t::after { content: ""; position: absolute; inset: -4px 0; }
  .a-tour .a-pause::after { content: ""; position: absolute; inset: -4px; }
}
