/* Shared content-page rows. The homepage supplies the type and colour scale. */
.page-rows { padding-bottom:0; }
.page-rows > .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.page-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; border-top:1px solid var(--line); padding-block:32px; align-items:start; }
.page-row-title { font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--ink); text-wrap:balance; }
.page-row-copy { font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); max-width:68ch; text-wrap:pretty; }
.page-row-copy a:not(.text-link),.page-body-intro a,.page-closing p a { color:var(--ink); text-decoration:underline; text-decoration-thickness:1px; text-decoration-color:var(--ink); text-underline-offset:4px; }
.page-row-copy a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.page-colophon { border-top:1px solid var(--line); padding:32px 0 72px; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:var(--muted); }
@media(min-width:900px) {
  section[aria-labelledby="privacy-sections"],
  section[aria-labelledby="terms-sections"],
  .trust-section { min-height:calc(100svh - 57px); }
}
@media(min-width:900px) {
  .research-group { min-height:calc(100svh - 57px); }
}
.page-disclosure { display:block; }
.page-disclosure > summary { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; min-height:44px; list-style:none; cursor:pointer; }
.page-disclosure > summary::-webkit-details-marker { display:none; }
.page-disclosure > summary:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.page-disclosure-mark { justify-self:end; font:400 var(--fs-row)/1 Plex,sans-serif; color:var(--ink); }
.page-disclosure-mark::before { content:"+"; }
.page-disclosure[open] .page-disclosure-mark::before { content:"−"; }
.page-disclosure > .page-row-copy { margin:16px 0 0 calc(50% + 32px); }
.page-end-link { border-top:1px solid var(--line); padding:24px 0 72px; }
.page-heading .page-body-intro { margin-top:24px; max-width:68ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); text-wrap:pretty; }
.page-rows > .page-body-intro,.trust-section > .page-body-intro,.regulations-section > .page-body-intro { max-width:60ch; margin:24px 0 40px; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); }
.page-rows[aria-labelledby="pricing-tiers"] { display:flow-root; }
.trust-section .page-rows,.gate-definitions { display:grid; grid-auto-rows:1fr; }
.trust-section .page-row,.gate-definitions > .page-row { align-content:start; }
.research-preface { padding-block:24px 72px; }
.research-preface .page-body-intro { max-width:60ch; margin:0 0 40px; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); }
.research-preface .research-index { margin-top:0; }
.page-closing { border-top:1px solid var(--line); padding-block:72px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
.page-closing h2 { margin:0; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.page-closing p { margin-top:24px; max-width:42ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); text-wrap:balance; }
.page-closing-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
@media(max-width:899px) {
  .page-row { grid-template-columns:minmax(0,1fr); gap:12px; padding-block:24px; }
  .page-row-title { font-size:var(--fs-row); }
  .page-colophon { padding-bottom:64px; }
  .page-disclosure > summary { grid-template-columns:minmax(0,1fr) 22px; gap:12px; }
  .page-disclosure > .page-row-copy { margin:12px 0 0; }
  .page-closing { grid-template-columns:minmax(0,1fr); gap:32px; padding-block:64px; }
  .page-closing h2 { font-size:var(--fs-h2); line-height:1.1; }
}
@media(max-width:600px) {
  .page-rows[aria-labelledby="pricing-tiers"] > .page-row { box-sizing:border-box; min-height:136px; }
}
@media(min-width:900px) {
  .faq-list > .page-disclosure { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
  .faq-list > .page-disclosure > summary { display:flex; align-items:flex-start; justify-content:flex-start; gap:12px; min-width:0; }
  .faq-list > .page-disclosure > summary .page-disclosure-mark { flex:none; margin-top:4px; }
  .faq-list > .page-disclosure > .page-row-copy { grid-column:2; grid-row:1; margin:0; }
  .team-advisor.page-disclosure { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
  .team-advisor.page-disclosure > summary { display:flex; align-items:flex-start; gap:12px; min-width:0; }
  .team-advisor.page-disclosure > summary .page-disclosure-mark { flex:none; margin-left:auto; }
  .team-advisor.page-disclosure > .page-row-copy { grid-column:2; grid-row:1; margin:0; }
}
/* Method outcomes and change steps use the same two-column rows. */
main .gate-definitions > .page-row,main .change-sequence > .page-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; border-top:1px solid var(--line); padding-block:32px; align-items:start; }
main .gate-definitions .page-row p,main .change-sequence .page-row-copy { margin:0; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); max-width:68ch; }
main .change-sequence .page-row-title { font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--ink); }
@media(max-width:899px) {
  main .gate-definitions > .page-row,main .change-sequence > .page-row { grid-template-columns:minmax(0,1fr); gap:12px; padding-block:24px; }
  main .change-sequence .page-row-title { font-size:var(--fs-row); }
}
/* Team and Trust extend the shared row layout. */
.team-section,.trust-section { padding-bottom:72px; }
.team-section .page-rows { display:grid; grid-auto-rows:1fr; }
.team-section > h2,.trust-section > h2 { margin:0 0 40px; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.team-founder-photo { display:block; width:160px; height:160px; object-fit:cover; border:0; border-radius:0; }
.team-founder-copy h3 { margin:0; font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--ink); }
.team-role { display:block; margin:8px 0 0; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:var(--muted); }
.team-bio,.team-advisor-body p { margin:20px 0 0; max-width:68ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); text-wrap:pretty; }
.team-founder-copy .text-link,.team-advisor-body .text-link { display:inline-flex; width:fit-content; margin-top:16px; }
.team-advisor > summary { min-height:48px; }
.team-advisor-ident { display:flex; align-items:center; gap:16px; min-width:0; }
.team-advisor-ident img { display:block; flex:none; width:48px; height:48px; object-fit:cover; border:0; border-radius:0; }
.team-advisor-ident > span { min-width:0; }
.team-advisor-name { display:block; font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--ink); text-wrap:balance; }
.team-advisor .team-role { margin-top:4px; }
.team-advisor-body { margin-top:16px; }
.team-advisor-body p { margin-top:0; }
.trust-status { margin-top:12px; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:var(--muted); }
@media(max-width:899px) {
  .team-section,.trust-section { padding-bottom:64px; }
  .team-section > h2,.trust-section > h2 { margin-bottom:32px; font-size:var(--fs-h2); line-height:1.1; }
  .team-founder-photo { width:96px; height:96px; }
  .team-founder-copy h3 { font-size:var(--fs-row); }
  .team-advisor-name { font-size:var(--fs-row); }
  .team-founder-copy .team-role { margin-top:4px; }
  .team-bio { margin-top:16px; }
}
@media(max-width:420px) {
  .team-advisor > summary { display:block; position:relative; }
  .team-advisor-ident { gap:12px; }
  .team-advisor-ident > span { width:calc(100% - 60px); }
  .team-advisor .team-role { box-sizing:border-box; padding-right:22px; }
  .team-advisor > summary .page-disclosure-mark { position:absolute; right:0; bottom:0; }
}
/* Research citations follow the same gutter and midpoint columns. */
.research-index { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; margin-top:32px; }
.research-index .text-link { max-width:100%; }
.research-group { padding-bottom:72px; }
.research-group .page-rows { display:grid; grid-auto-rows:1fr; }
.research-group > h2 { margin:0; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.research-page .page-body-intro { max-width:60ch; }
.research-intro { margin:24px 0 40px; max-width:60ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); text-wrap:pretty; }
.citation-source { min-width:0; }
.citation-source h3 { margin:0; }
.citation-title.text-link { display:inline; width:auto; max-width:none; height:auto; min-height:0; padding:0; border:0; color:var(--ink); font:inherit; letter-spacing:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.citation-sector { margin:12px 0 0; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:var(--muted); }
.citation-copy { min-width:0; }
.citation-body { margin:0; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); text-wrap:pretty; }
.citation-meta { margin:16px 0 0; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:var(--muted); text-wrap:pretty; }
.research-after { margin:32px 0 0; max-width:60ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--muted); text-wrap:pretty; }
@media(max-width:899px) {
  .research-group { padding-bottom:64px; }
  .research-group > h2 { font-size:var(--fs-h2); line-height:1.1; }
  .citation-meta { margin-top:12px; }
  .research-after { margin-top:24px; }
}
/* Regulation rows, published dates, and the complete source table. */
.regulations-section { padding-bottom:72px; }
.regulations-section > h2 { margin:0; font:400 var(--fs-h2)/1.1 Plex,sans-serif; letter-spacing:-.025em; color:var(--ink); }
.regulations-intro,.reg-omnibus,.reg-source-date { margin:24px 0 40px; max-width:60ch; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); text-wrap:pretty; }
.reg-omnibus a,.reg-table-scroll a { color:var(--ink); text-decoration:underline; text-decoration-thickness:1px; text-decoration-color:var(--ink); text-underline-offset:4px; }
.reg-omnibus a:focus-visible,.reg-table-scroll a:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.regulations-next { margin-top:24px; }
.regulation-article .reg-article-ident { display:block; }
.reg-article-status { display:block; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:var(--muted); }
.reg-article-status { margin-top:8px; }
.reg-clock { border-bottom:1px solid var(--line); }
.reg-clock-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:64px; border-top:1px solid var(--line); padding:24px 0; font:400 var(--fs-body)/1.5 Plex,sans-serif; color:var(--ink); }
.reg-clock-info time,.reg-clock-info span { display:block; }
.reg-clock-info time { font-size:var(--fs-row); line-height:1.2; letter-spacing:-.02em; }
.reg-clock-info span { margin-top:8px; }
.reg-clock-row strong { font:400 var(--fs-row)/1.2 Plex,sans-serif; letter-spacing:-.02em; color:var(--muted); white-space:nowrap; }
.regulations-details { margin-top:72px; }
.regulation-detail-list { margin:0; padding:0; list-style:none; font:400 16px/1.5 Plex,sans-serif; color:var(--ink); }
.regulation-detail-list li { padding:8px 0; border-bottom:1px solid var(--line); list-style:none; }
.regulation-detail-list strong { font-weight:400; }
.regulation-detail-list li span + span,.regulation-detail-list li strong + span { margin-left:12px; }
.regulation-detail-list li span:last-child { color:var(--muted); }
.reg-penalty-note { margin:20px 0 0; font:400 16px/1.5 Plex,sans-serif; color:var(--ink); }
.regulation-disclosure > .regulation-detail-list,.regulation-disclosure > div { margin:16px 0 0 calc(50% + 32px); }
.reg-table-scroll { max-width:100%; overflow-x:auto; border-top:1px solid var(--line); }
.reg-table-scroll table { width:100%; min-width:920px; border-collapse:collapse; table-layout:fixed; font:400 var(--fs-small)/1.45 Plex,sans-serif; color:#4a534d; }
.reg-table-scroll th,.reg-table-scroll td { padding:17px 10px; border-bottom:1px solid #e5ebe6; text-align:left; vertical-align:top; overflow-wrap:anywhere; text-wrap:pretty; }
.reg-table-scroll th { font-weight:400; }
.reg-record-duty { display:block; margin-top:4px; color:var(--muted); font:400 var(--fs-small)/1.45 Plex,sans-serif; }
.reg-nowrap { white-space:nowrap; }
.reg-table-scroll th:first-child,.reg-table-scroll td:first-child { padding-left:0; width:16%; }
.reg-table-scroll th:nth-child(2) { width:22%; }
.reg-table-scroll th:nth-child(3) { width:13%; }
.reg-table-scroll th:nth-child(4) { width:29%; }
.reg-table-scroll th:nth-child(5) { width:11%; }
.reg-table-scroll th:nth-child(6) { width:9%; }
.reg-table-scroll time { white-space:nowrap; }
.reg-source-date { margin:24px 0 0; font-size:var(--fs-small); color:var(--muted); }
@media(min-width:900px) {
  .regulation-article.page-disclosure,.regulation-disclosure.page-disclosure { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; }
  .regulation-article.page-disclosure > summary,.regulation-disclosure.page-disclosure > summary { display:flex; align-items:flex-start; gap:12px; min-width:0; }
  .regulation-article.page-disclosure > summary .page-disclosure-mark,.regulation-disclosure.page-disclosure > summary .page-disclosure-mark { flex:none; margin-top:4px; margin-left:0; }
  .regulation-article.page-disclosure > .page-row-copy,.regulation-disclosure.page-disclosure > .regulation-detail-list,.regulation-disclosure.page-disclosure > div { grid-column:2; grid-row:1; margin:0; }
}
@media(max-width:899px) {
  .regulations-section { padding-bottom:64px; }
  .regulations-section > h2 { font-size:var(--fs-h2); line-height:1.1; }
  .reg-clock-row { grid-template-columns:minmax(0,1fr); gap:12px; padding:20px 0; }
  .reg-clock-info time,.reg-clock-row strong { font-size:var(--fs-row); }
  .regulations-details { margin-top:48px; }
  .regulation-disclosure > .regulation-detail-list,.regulation-disclosure > div { margin:12px 0 0; }
  .reg-table-scroll table { min-width:1160px; }
  .reg-table-scroll th,.reg-table-scroll td { padding-block:14px; }
}
@media(min-width:701px) and (max-width:899px) {
  section[aria-labelledby="clock-title"] { padding-bottom:180px; }
}
/* Final check, 29 Sep: one position for every disclosure mark, the first column's right edge. */
@media(min-width:900px) {
  .faq-list > .page-disclosure > summary .page-disclosure-mark,.regulation-article.page-disclosure > summary .page-disclosure-mark,.regulation-disclosure.page-disclosure > summary .page-disclosure-mark { margin-left:auto; }
}
/* Citation titles keep a 44px tap height on touch widths. */
@media(max-width:899px) {
  .citation-title.text-link { display:inline-block; padding-block:10px; }
  .citation-sector { margin-top:4px; }
}
/* The source table stacks below 900px, so no cell is cut by the viewport. */
@media(max-width:899px) {
  .reg-table-scroll { overflow-x:visible; }
  .reg-table-scroll table { display:block; min-width:0; table-layout:auto; }
  .reg-table-scroll thead { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .reg-table-scroll tbody { display:block; }
  .reg-table-scroll tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; padding-block:20px; border-bottom:1px solid #e5ebe6; }
  .reg-table-scroll td,.reg-table-scroll td:first-child { display:block; width:auto; padding:0; border:0; overflow-wrap:break-word; }
  .reg-table-scroll td:nth-child(1) { grid-column:1; grid-row:1; color:var(--muted); }
  .reg-table-scroll td:nth-child(6) { grid-column:2; grid-row:1; color:var(--muted); text-align:right; }
  .reg-table-scroll td:nth-child(2) { grid-column:1 / -1; grid-row:2; font-size:var(--fs-small); color:var(--ink); }
  .reg-table-scroll td:nth-child(4) { grid-column:1 / -1; grid-row:3; max-width:60ch; }
  .reg-table-scroll td:nth-child(3) { grid-column:1; grid-row:4; margin-top:4px; color:var(--muted); }
  .reg-table-scroll td:nth-child(5) { grid-column:2; grid-row:4; margin-top:4px; color:var(--muted); text-align:right; }
  .reg-table-scroll td:nth-child(3)::before { content:"Re-derivable record: "; }
  .reg-table-scroll td:nth-child(2) a { display:inline-block; padding-block:12px; }
  .reg-record-duty { margin-top:0; }
}
/* v4: tablet frames clear the next heading. */
@media(min-width:701px) and (max-width:899px) {
main .trust-section { padding-bottom:192px; }
}
.faq-sections{padding-bottom:72px}
.faq-opening{margin-bottom:64px}
.faq-nowrap{white-space:nowrap}
.faq-group{padding-bottom:64px}
.faq-group h2{max-width:26ch;margin:0 0 32px;font:400 var(--fs-h2)/1.1 Plex,sans-serif;letter-spacing:-.025em;color:var(--ink)}
.faq-group .faq-list{display:grid;grid-auto-rows:1fr}
.faq-group .page-row{align-content:start}
.faq-opening .page-row{border-bottom:1px solid var(--line)}
@media(max-width:899px){.faq-sections{padding-bottom:64px}.faq-opening{margin-bottom:48px}.faq-group{padding-bottom:48px}.faq-group h2{margin-bottom:24px}}

/* An open roster: the credential sits beside the name, never behind a disclosure. */
.team-section .team-list{display:grid;grid-auto-rows:1fr}
.team-person{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;align-content:start;padding:24px 0;border-top:1px solid var(--line)}
.team-person>img{grid-column:1;grid-row:1;display:block;width:48px;height:48px;object-fit:cover;filter:grayscale(1)}
.team-person-name{grid-column:2;grid-row:1;align-self:center;min-width:0;margin:0;color:var(--ink);font:400 var(--fs-row)/1.2 Plex,sans-serif;letter-spacing:-.025em;white-space:nowrap}
.team-person .team-role{grid-column:1/-1;max-width:none;margin:10px 0 0;color:var(--muted);font:400 var(--fs-small)/1.4 Plex,sans-serif}
.team-person-proof{grid-column:1/-1;max-width:62ch;margin:12px 0 0;color:var(--ink);font:400 var(--fs-body)/1.45 Plex,sans-serif;text-wrap:balance}
.team-person>.text-link{grid-column:1/-1;justify-self:start;min-height:44px;margin-top:6px}
@media(max-width:899px){.team-person{column-gap:12px;padding-block:20px}.team-person-proof{max-width:30ch}}
@media(min-width:900px){.team-section[aria-labelledby="founders-title"]{padding-bottom:136px}}
@media(max-width:550px){.team-section>h2{margin-bottom:24px}.team-person{padding-block:16px}}
@media(max-width:550px){.team-section[aria-labelledby="founders-title"]{padding-bottom:88px}}

/* draft7: larger portraits in a two-column person row (Astra review, 7 Oct). */
.team-person{grid-template-columns:112px minmax(0,1fr);column-gap:24px;padding:28px 0}
.team-person>img{grid-row:1/5;width:112px;height:112px;align-self:start}
.team-person-name{align-self:start}
.team-person .team-role,.team-person-proof,.team-person>.text-link{grid-column:2}
.team-person .team-role{margin-top:6px}
@media(max-width:899px){.team-person{grid-template-columns:72px minmax(0,1fr);column-gap:16px}.team-person>img{width:72px;height:72px}}
