/* draft4: the hero strip, the supplier-payment figure, the partners table and the change page. */
.homepage .hero h1 { font-size:clamp(40px,min(5.8vw,12svh),96px); }
.hero-proofs { list-style:none; margin:28px 0 0; padding:16px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; width:100%; max-width:560px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hero-proofs li { display:grid; gap:4px; min-width:0; }
.hp-figure { font:400 24px/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--ink); white-space:nowrap; }
.hp-label { font:400 var(--fs-small)/1.3 Plex,sans-serif; color:var(--muted); white-space:nowrap; }
.homepage .hero-actions { margin-top:28px; }
@media(max-width:899px) {
  .homepage .hero h1 { font-size:clamp(40px,10.4vw,72px); }
  .hero-proofs { max-width:none; margin-top:24px; gap:12px; padding:14px 0; }
  .hp-figure { font-size:20px; }
}
.site-footer-sources { margin-top:16px; max-width:80ch; color:#8a9a90; font:400 var(--fs-small)/1.5 Plex,sans-serif; }
.site-footer-sources a { color:#b8c5bc; text-decoration:underline; text-underline-offset:3px; }

/* Home #run: one control from the rule line to the verdict. */
.pf-ruleline { display:grid; gap:6px; margin:0 0 24px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.pf-rule-sentence { max-width:44ch; font:400 20px/1.3 Plex,sans-serif; letter-spacing:-.01em; color:var(--ink); text-wrap:balance; }
.pf-after { margin-top:24px; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); }
.pf-supplier .pf-claim-title { white-space:nowrap; }
@media(min-width:900px) {
  .pf-supplier .pf-top { grid-template-columns:minmax(0,380px) minmax(0,1fr); }
  .pf-ruleline { margin-bottom:20px; padding-bottom:16px; }
  .pf-after { margin-top:20px; }
}
@media(max-width:899px) {
  .pf-rule-sentence { font-size:18px; }
  .pf-ruleline { margin-bottom:20px; padding-bottom:16px; }
  .pf-supplier .pf-claim-title { padding-inline:12px; }
  .pf-supplier .pf-claim-meta { padding-inline:12px; }
}

/* /partners/: the gives-and-gets table. */
.partners-section { padding-block:0 96px; }
.partners-section > h2 { margin:0 0 32px; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.partners-table { width:100%; border-collapse:collapse; table-layout:fixed; font:400 var(--fs-body)/1.45 Plex,sans-serif; }
.partners-table th, .partners-table td { padding:16px 24px 16px 0; border-top:1px solid var(--line); text-align:left; vertical-align:top; }
.partners-table th { font:400 var(--fs-small)/1.3 Plex,sans-serif; color:var(--muted); }
.partners-table tbody tr:last-child td { border-bottom:1px solid var(--line); }
.partners-table td:last-child, .partners-table th:last-child { padding-right:0; }
.pt-c1 { width:27%; } .pt-c2 { width:24%; } .pt-c3 { width:31%; } .pt-c4 { width:18%; }
.partners-note { margin-top:24px; max-width:60ch; font:400 var(--fs-small)/1.5 Plex,sans-serif; color:var(--muted); }
@media(max-width:1023px) {
  .partners-section { padding-bottom:64px; }
  .partners-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .partners-table, .partners-table tbody, .partners-table tr, .partners-table td { display:block; }
  .partners-table tr { border-top:1px solid var(--line); padding:16px 0; }
  .partners-table tbody tr:last-child { border-bottom:1px solid var(--line); }
  .partners-table td { padding:6px 0; border:0; }
  .partners-table tbody tr:last-child td { border:0; }
  .partners-table td::before { content:attr(data-label); display:block; margin-bottom:2px; font:400 var(--fs-small)/1.3 Plex,sans-serif; color:var(--muted); }
}

/* /changes/: a plain, light reading page. */
.changes-page .page-heading { padding-bottom:32px; }
.ch-section { padding-block:0 72px; }
.ch-section > h2, .ch-route > h2 { margin:0 0 24px; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.ch-section > p { max-width:60ch; margin:0 0 24px; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); }
.ch-route { padding-bottom:56px; }
.ch-table { width:100%; border-collapse:collapse; table-layout:fixed; font:400 var(--fs-small)/1.45 Plex,sans-serif; }
.ch-table th, .ch-table td { padding:12px 20px 12px 0; border-top:1px solid var(--line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.ch-table th { color:var(--muted); font-weight:400; }
.ch-table tbody tr:last-child td { border-bottom:1px solid var(--line); }
.ch-table td:last-child, .ch-table th:last-child { padding-right:0; }
.ch-counts { max-width:560px; }
.ch-counts td:first-child, .ch-counts th:first-child { width:46%; white-space:nowrap; }
.ch-counts td:not(:first-child), .ch-counts th:not(:first-child) { text-align:right; font-variant-numeric:tabular-nums; }
.ch-route-table th:first-child, .ch-route-table td:first-child { width:18%; }
.ch-route-table th:last-child, .ch-route-table td:last-child { width:22%; }
.ch-blind th:first-child, .ch-blind td:first-child { width:18%; }
.ch-left th:first-child, .ch-left td:first-child { width:40%; }
@media(max-width:899px) {
  .ch-section { padding-bottom:56px; }
  .ch-route { padding-bottom:40px; }
  .ch-table:not(.ch-counts) thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
  .ch-table:not(.ch-counts), .ch-table:not(.ch-counts) tbody, .ch-table:not(.ch-counts) tr, .ch-table:not(.ch-counts) td { display:block; width:auto; }
  .ch-table:not(.ch-counts) tr { border-top:1px solid var(--line); padding:12px 0; }
  .ch-table:not(.ch-counts) tbody tr:last-child { border-bottom:1px solid var(--line); }
  .ch-table:not(.ch-counts) td { padding:4px 0; border:0; }
  .ch-table:not(.ch-counts) tbody tr:last-child td { border:0; }
  .ch-table:not(.ch-counts) td::before { content:attr(data-label); display:block; color:var(--muted); }
  .ch-route-table th:first-child, .ch-route-table td:first-child, .ch-route-table th:last-child, .ch-route-table td:last-child, .ch-blind td:first-child, .ch-left td:first-child { width:auto; }
}

/* draft5 invite: the same block layout as the open-verifier section above it, so the two one-line paragraphs wrap alike. */
.homepage #invite.home-bridge { display:block; padding-block:72px; }
.homepage #invite h2 { display:block; color:var(--ink); }
.homepage #invite > div { display:block; margin-top:24px; }
.homepage #invite > div p { max-width:60ch; margin:0 0 18px; color:var(--ink); }
@media(max-width:899px) { .homepage #invite.home-bridge { padding-block:64px; } }

/* draft5 changes */
.ch-counts-4 { max-width:720px; }
.ch-counts-4 td:first-child, .ch-counts-4 th:first-child { width:28%; }
.ch-route-5 th:first-child, .ch-route-5 td:first-child { width:14%; }
.ch-route-5 th:nth-child(4), .ch-route-5 td:nth-child(4) { width:9%; }
.ch-route-5 th:last-child, .ch-route-5 td:last-child { width:24%; }
@media(max-width:899px) { .ch-route-5 th:first-child, .ch-route-5 td:first-child, .ch-route-5 th:nth-child(4), .ch-route-5 td:nth-child(4), .ch-route-5 th:last-child, .ch-route-5 td:last-child { width:auto; } }

/* draft6 changes */
.ch-counts-2 { max-width:520px; }
.ch-counts-2 td:first-child, .ch-counts-2 th:first-child { width:40%; }
.ch-route-4 th:first-child, .ch-route-4 td:first-child { width:14%; }
.ch-route-4 th:last-child, .ch-route-4 td:last-child { width:28%; }
@media(max-width:899px) { .ch-route-4 th:first-child, .ch-route-4 td:first-child, .ch-route-4 th:last-child, .ch-route-4 td:last-child { width:auto; } }

/* draft7 partners: the lead at display size, the seat figure in the method gap-figure style */
.page-heading .partners-lead { font-size:var(--fs-h2); line-height:1.15; max-width:none; margin-top:20px; letter-spacing:-.02em; }
.partners-figure-section { padding-top:8px; }
.partners-figure-section h2 { margin:0; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.partners-figure { margin:28px 0 72px; }
.partners-figure .gap-scene { max-width:260px; }
.partners-figure .gap-option p { max-width:28ch; }
@media(min-width:1100px) { .partners-figure .gap-options-four { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; } }
@media(min-width:900px) and (max-width:1099px) { .partners-figure .gap-options-four { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; } .partners-figure .gap-scene { max-width:240px; } }
@media(max-width:899px) { .partners-figure { margin:24px 0 56px; } }

/* max partners rewrite, 7 Oct: two-column give/get offer, plain-language figure */
.partners-intro{margin-top:20px;max-width:60ch;font:400 var(--fs-body)/1.5 Plex,sans-serif;color:var(--muted)}.offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.offer-col h3{margin:0;padding-bottom:12px;border-bottom:1px solid var(--ink);font:400 var(--fs-small)/1.3 Plex,sans-serif;color:var(--muted)}
.offer-col ul{list-style:none;margin:0;padding:0}
.offer-col li{padding:14px 0;border-bottom:1px solid var(--line);font:400 var(--fs-body)/1.45 Plex,sans-serif;color:var(--ink)}
@media(max-width:1099px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 40px}}
@media(max-width:599px){.offer-grid{grid-template-columns:1fr;gap:40px}}
.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
@media(max-width:599px){.offer-grid{grid-template-columns:1fr}}
.partners-figure{margin-bottom:32px}
.partners-runs{margin:0 0 72px;font:400 var(--fs-body)/1.5 Plex,sans-serif;color:var(--ink)}

/* offer v2, 7 Oct: what a partner gets, then what it takes to start */
.offer-v2 > h2 { margin-bottom:var(--gap-title-sub); }
.offer-scope { margin:0 0 48px; max-width:52ch; font:400 var(--fs-row)/1.4 Plex,sans-serif; color:var(--muted); }
.offer-get { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 40px; }
.offer-get li { border-top:1px solid var(--ink); padding-top:20px; }
.offer-get .og-mark { width:28px; height:28px; display:block; margin-bottom:16px; fill:#e9f6ef; stroke:#17834f; stroke-width:1.6; }
.offer-get .og-mark path { fill:none; stroke-linecap:round; stroke-linejoin:round; }
.offer-get h3 { margin:0 0 8px; font:500 var(--fs-row)/1.3 Plex,sans-serif; color:var(--ink); white-space:nowrap; }
.offer-get p { margin:0; max-width:34ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--muted); }
.offer-start { margin-top:88px; padding:40px; background:var(--wash); }
.offer-start-title { margin:0 0 28px; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.offer-need { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.offer-need li { border-top:1px solid var(--line); padding-top:16px; }
.offer-need h4 { margin:0 0 6px; font:500 var(--fs-body)/1.35 Plex,sans-serif; color:var(--ink); }
.offer-need p { margin:0; max-width:30ch; font:400 var(--fs-small)/1.5 Plex,sans-serif; color:var(--muted); }
.offer-start .partners-note { margin-top:32px; }
@media(max-width:1099px){ .offer-get { grid-template-columns:repeat(2,minmax(0,1fr)); } .offer-need { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:599px){ .offer-get, .offer-need { grid-template-columns:1fr; gap:32px; } .offer-start { padding:28px 20px; margin-inline:-4px; } .offer-get h3 { white-space:normal; } }

/* draft7: a visible repo link beside the developers link (Spark review, 7 Oct). */
.open-links { display:flex; flex-wrap:wrap; gap:12px 36px; }
