/* Neta DAO Academy: page layouts (generated by sitebuild/pages_css.py from the design system's page drafts). */
.pg-fitbox { container-type: inline-size; min-width: 0; }
.pg-fit { display: block; margin: 0; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; color: var(--ink);
  font-size: calc(100cqi / var(--nda-fit, 6)); line-height: .8; white-space: nowrap;
  letter-spacing: var(--nda-display-tracking); word-spacing: var(--nda-display-words); }
.pg-kicker { margin: 0; font: 400 12px/1.6 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.pg-lede { margin: 0; max-width: var(--measure, 640px); font: 400 21px/1.5 var(--font-body); color: var(--ink); }
.pg-body { margin: 0; max-width: var(--measure, 640px); font: 400 17px/1.7 var(--font-body); color: var(--ink); }
.pg-body + .pg-body { margin-top: 1em; }
.pg-head-row { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: var(--space-6, 24px); }
.pg-meta { font: 400 11px/1.45 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-dim); }
/* facts: label over value, in hairline columns */
.pg-facts { --nda-columns: repeat(4, minmax(0, 1fr)); }
.pg-facts > div { padding: 0 var(--space-4, 16px); }
.pg-facts dt { font: 400 12px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-dim); }
.pg-facts dd { margin: 8px 0 0; font: 400 17px/1.5 var(--font-body); color: var(--ink); }
.pg-facts a { color: inherit; }
/* numbered steps */
.pg-steps { --nda-columns: repeat(3, minmax(0, 1fr)); counter-reset: step; }
.pg-steps > div { padding: 0 var(--space-4, 16px); }
.pg-steps h3 { margin: 18px 0 8px; font: 700 28px/1.1 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; }
.pg-steps p { margin: 0; max-width: 34ch; font: 400 17px/1.6 var(--font-body); }
.pg-steps .nda-button { margin-top: 20px; }
@media (max-width: 759px) { .pg-facts, .pg-steps { --nda-columns: 1fr; } .pg-facts > div, .pg-steps > div { padding: 12px 0; } }

/* The cover, after Coining Reason's frontispiece: the copy on the left, the artwork filling the right of the cover
   and fading out (a horizontal mask) as it reaches the text. On phones the artwork sits under the copy, fading upward. */
.pg-cover { position: relative; overflow: hidden; min-height: 640px; padding: var(--space-9, 56px) var(--nda-gutter) var(--space-9, 56px); border-bottom: 1px solid var(--rule); }
.pg-cover__art {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(62%, 980px); margin: 0; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / .25) 15%, #000 47%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / .25) 15%, #000 47%, #000 100%);
}
.pg-cover__art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.pg-cover__copy { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--space-5, 20px); width: 48%; max-width: 660px; }
.pg-cover__meta { display: flex; align-items: center; gap: 18px; margin: 0; font: 400 12px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.pg-cover__title { margin: var(--space-2, 8px) 0 0; }
.pg-cover__copy .pg-body { color: var(--ink-mid); }
.pg-cover__copy .pg-body + .pg-body { margin-top: calc(-1 * var(--space-2, 8px)); }
.pg-cover__actions { display: flex; align-items: center; gap: var(--space-7, 32px); margin: var(--space-3, 12px) 0 0; }
@media (max-width: 1080px) { .pg-cover__copy { width: 62%; } .pg-cover__art { width: 66%; } }
@media (max-width: 759px) {
  .pg-cover { min-height: 0; padding-bottom: 300px; }
  .pg-cover__copy { width: auto; }
  .pg-cover__art { top: auto; left: 0; width: 100%; height: 300px;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 40%, #000 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 40%, #000 100%); }
  .pg-cover__actions { flex-wrap: wrap; gap: 16px 24px; }
}

/* Coining Reason: a series of units. The cover is the seminar cover; then a switcher between the current unit,
   the archive and the roadmap; the unit's sessions as SessionRows; the roadmap as ten tiles on hairlines. */
.pg-cover--cr .pg-cover__art img { object-position: 70% 40%; transform: scale(1.04); }   /* the scan has thin black bars top and bottom */
/* the next session, as Sex, and/or Love shows its own Up next, but neutral: the unit is on hiatus, and pink is for now */
.pg-upnext { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: var(--space-7, 32px); align-items: baseline; border-top: var(--stroke-heavy, 3px) solid var(--ink); }
.pg-upnext__kicker { margin: 0; font: 500 11px/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mid); }
.pg-upnext__title { margin: 0 0 8px; font: 700 32px/1 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; word-spacing: .06em; }
.pg-upnext__title a { color: inherit; text-decoration: none; }
.pg-units-bar { padding-block: 0; border-bottom: 0; }
.pg-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-bottom: var(--stroke-hairline, 1px) solid var(--rule); }
.pg-switch li + li { border-left: var(--stroke-hairline, 1px) solid var(--rule-thin); }
.pg-switch a, .pg-switch button { display: block; margin-bottom: -1px; padding: 20px 24px 16px; border-bottom: var(--stroke-heavy, 3px) solid transparent; color: var(--ink-mid); text-decoration: none;
  font: 700 26px/1 var(--font-display); text-transform: uppercase; letter-spacing: -.005em; }
.pg-switch li:first-child a, .pg-switch li:first-child button { padding-left: 0; }
.pg-switch a span, .pg-switch button span { display: block; margin-bottom: 8px; font: 400 11px/1.4 var(--font-mono); letter-spacing: .1em; color: var(--ink-dim); }
.pg-switch a:hover, .pg-switch button:hover { color: var(--ink); }
.pg-switch a[aria-current], .pg-switch button[aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.pg-unit-sec { padding-top: var(--space-7, 32px); }
.pg-note { margin: 0 0 var(--space-8, 40px); padding-bottom: 16px; border-bottom: var(--stroke-hairline, 1px) solid var(--rule-thin); font: 400 15px/1.6 var(--font-body); color: var(--ink-mid); }
.pg-unit-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8, 40px); align-items: end; margin-bottom: var(--space-7, 32px); }
.pg-unit-title { margin: 10px 0 0; font: 700 clamp(64px, 7vw, 104px)/.82 var(--font-display); text-transform: uppercase; letter-spacing: var(--nda-display-tracking); }
.pg-unit-head .pg-body { color: var(--ink-mid); }
.pg-optional { color: var(--ink-mid); font-style: italic; }
.pg-listen { margin: 14px 0 0; font: 400 15px/1.5 var(--font-body); }
.pg-listen .nda-text-link { padding-block: 0; }
.pg-hiatus-note { margin: var(--space-8, 40px) 0 0; padding: 14px 0; border-top: var(--stroke-hairline, 1px) solid var(--rule-strong);
  font: 400 11px/1.45 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mid); }
.pg-hiatus > summary .nda-session__title { color: var(--ink); }
/* roadmap: ten tiles, five to a row, on hairlines; the open one is underlined in ink and opens below the grid */
.pg-roadmap { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: var(--stroke-hairline, 1px) solid var(--rule); }
.pg-roadmap li { border-bottom: var(--stroke-hairline, 1px) solid var(--rule-thin); }
.pg-roadmap li:not(:nth-child(5n + 1)) { border-left: var(--stroke-hairline, 1px) solid var(--rule-thin); }
.pg-unit { position: relative; display: flex; flex-direction: column; gap: 10px; width: 100%; min-height: 150px; padding: 16px 20px 18px; border: 0; background: none; color: var(--ink); text-align: left; cursor: pointer; }
.pg-roadmap li:nth-child(5n + 1) .pg-unit { padding-left: 0; }
.pg-unit::after { content: "+"; position: absolute; top: 14px; right: 16px; font: 400 16px/1 var(--font-mono); color: var(--ink-dim); }
.pg-unit[aria-expanded="true"]::after { content: "\2212"; color: var(--ink); }
.pg-unit[aria-expanded="true"] { box-shadow: inset 0 calc(-1 * var(--stroke-heavy, 3px)) 0 var(--ink); }
.pg-unit:hover { background: var(--paper-hover); }
.pg-unit__num { font: 400 11px/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-dim); }
.pg-unit__title { font: 700 30px/.92 var(--font-display); text-transform: uppercase; letter-spacing: -.005em; }
.pg-unit__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: auto; }
.pg-unit__n { font: 400 11px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-mid); }
.pg-unit-detail { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8, 40px); padding: var(--space-7, 32px) 0 var(--space-4, 16px); border-bottom: var(--stroke-hairline, 1px) solid var(--rule-thin); }
.pg-unit-detail__title { margin: 10px 0 16px; font: 700 48px/.86 var(--font-display); text-transform: uppercase; }
.pg-unit-detail .pg-body { color: var(--ink-mid); }
.pg-topics { columns: 2; column-gap: var(--space-8, 40px); margin: 0; padding: 0; list-style: none; }
.pg-topics li { break-inside: avoid; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 8px; padding: 10px 0; border-top: var(--stroke-hairline, 1px) solid var(--rule-thin); font: 400 16px/1.4 var(--font-body); }
.pg-topics li span { font: 400 12px/1.6 var(--font-mono); color: var(--ink-dim); }
@media (max-width: 899px) {
  .pg-switch { grid-template-columns: 1fr; }
  .pg-switch li + li { border-left: 0; border-top: var(--stroke-hairline, 1px) solid var(--rule-thin); }
  .pg-switch a, .pg-switch button { padding: 14px 0 12px; font-size: 22px; }
  .pg-unit-head, .pg-unit-detail { grid-template-columns: 1fr; gap: 16px; }
  .pg-roadmap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pg-roadmap li:nth-child(n) { border-left: 0; }
  .pg-roadmap li:nth-child(2n) { border-left: var(--stroke-hairline, 1px) solid var(--rule-thin); }
  .pg-roadmap li:nth-child(n) .pg-unit { padding-left: 16px; }
  .pg-roadmap li:nth-child(2n + 1) .pg-unit { padding-left: 0; }
  .pg-unit { min-height: 120px; }
  .pg-unit__title { font-size: 24px; }
  .pg-topics { columns: 1; }
}

/* ---------- Seminars index ---------- */
.pg-intro { padding-block: var(--space-8, 40px); }
.pg-intro__cols { --nda-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
.pg-intro__cols > * + * { border-left: 0; padding-left: var(--space-8, 40px); }
.pg-intro h1 { margin: 0; }
.pg-sem__cols { --nda-columns: minmax(0, 2.2fr) minmax(0, 6fr) minmax(0, 3.8fr); }
.pg-sem__cols > * { padding-inline: var(--space-6, 24px); }
.pg-sem__cols > :first-child { padding-left: 0; }
.pg-sem__cols > :last-child { padding-right: 0; }
.pg-sem__meta { display: flex; flex-direction: column; gap: 12px; }
.pg-sem__text { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; container-type: inline-size; }
.pg-sem__title { margin: 0; font-size: clamp(48px, calc(100cqi / var(--nda-fit, 5.4)), 104px); }
.pg-sem__art { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(1) contrast(1.04); transition: filter var(--dur-wash, 450ms) var(--ease-out); }
.pg-sem:hover .pg-sem__art, .pg-sem:focus-within .pg-sem__art { filter: none; }
.pg-sem .nda-program__link::after { inset: 0; }
.pg-sem { position: relative; }
@media (max-width: 759px) { .pg-pol { grid-template-columns: 1fr; } .pg-intro__cols > * + * { padding-left: 0; margin-top: 20px; } }

/* ---------- Account pages ---------- */
/* the account pages: one working column of forms and a narrow column of help, in hairline columns */
.pg-ac-head { padding-block: var(--space-8, 40px) 0; border-bottom: 0; }
.pg-ac-kicker { margin: 0 0 12px; font: 400 12px/1.4 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); }
.pg-ac-title { margin: 0; font: 700 clamp(56px, 7.2vw, 104px)/.84 var(--font-display); text-transform: uppercase; letter-spacing: var(--nda-display-tracking); word-spacing: var(--nda-display-words); }
.pg-ac-lede { margin: 18px 0 0; max-width: 40ch; font: 400 19px/1.5 var(--font-body); color: var(--ink); }
.pg-ac-cols { --nda-columns: minmax(0, 7fr) minmax(0, 4fr); }
.pg-ac-main { padding-right: var(--space-8, 40px); }
.pg-ac-side { display: flex; flex-direction: column; gap: var(--space-6, 24px); padding-left: var(--space-7, 32px); }
/* the two ways in, as tabs: mono words over the row's rule, the current one underlined in ink */
.pg-tabs { display: flex; flex-wrap: wrap; gap: 0 var(--space-7, 32px); margin: 0; padding: 0; border-bottom: var(--stroke-hairline, 1px) solid var(--rule); list-style: none; }
.pg-tabs a, .pg-tabs button { display: inline-block; margin: 0 0 -1px; padding: 12px 0 11px; border: 0; border-bottom: 3px solid transparent; background: none;
  font: 400 12px/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); text-decoration: none; cursor: pointer; }
.pg-tabs a:hover, .pg-tabs button:hover { color: var(--ink); }
.pg-tabs [aria-current="page"], .pg-tabs [aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.pg-tabs .pg-tabs__count { margin-left: 8px; color: var(--ink-dim); }
.pg-form { display: flex; flex-direction: column; gap: var(--space-5, 20px); max-width: 480px; margin: 0; }
.pg-form__title { margin: 0; font: 700 32px/.95 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; }
.pg-form__sub { margin: -8px 0 0; font: 400 16px/1.6 var(--font-body); color: var(--ink-mid); }
.pg-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin: 4px 0 0; }
.pg-actions .nda-button--ghost { padding-inline: 0; }
.pg-status { margin: 0; font: 400 13px/1.5 var(--font-mono); letter-spacing: .02em; color: var(--ink-mid); }
.pg-wide { width: 100%; }
.pg-g { width: 18px; height: 18px; fill: currentColor; }
.pg-or { display: flex; align-items: center; gap: 14px; margin: 0; font: 400 11px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-dim); }
.pg-or::before, .pg-or::after { content: ""; flex: 1; height: var(--stroke-hairline, 1px); background: var(--rule-thin); }
.pg-pass { position: relative; display: block; }
.pg-pass .nda-field__input { padding-right: 72px; }
.pg-pass__show { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); padding: 6px 8px; border: 0; background: none; cursor: pointer;
  font: 500 11px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.pg-help { margin: 0; padding-top: 14px; border-top: var(--stroke-hairline, 1px) solid var(--rule-thin); }
.pg-help h3 { margin: 0 0 8px; font: 700 13px/1.4 var(--font-body); letter-spacing: .04em; text-transform: uppercase; }
.pg-help p { margin: 0; font: 400 15px/1.6 var(--font-body); color: var(--ink-mid); }
.pg-help p + p { margin-top: 8px; }
.pg-help a { color: var(--ink); }
.pg-context { margin: 0; padding: 12px 0 12px 16px; border-left: var(--stroke-heavy, 3px) solid var(--pink-mark); font: 400 16px/1.5 var(--font-body); }
.pg-mono { font-family: var(--font-mono); font-size: 13px; letter-spacing: .02em; }
.pg-hint { margin: 0; font: 400 14px/1.6 var(--font-body); color: var(--ink-mid); }
.pg-hint a { color: var(--ink); }
@media (max-width: 759px) {
  .pg-ac-main { padding-right: 0; }
  .pg-ac-side { padding-left: 0; margin-top: 28px; }
}

/* ---------- Participate ---------- */
.pg-ways { --nda-columns: repeat(3, minmax(0, 1fr)); }
.pg-ways > section { display: flex; flex-direction: column; gap: 14px; padding: 0 var(--space-6, 24px) var(--space-4, 16px); }
.pg-ways > section:first-child { padding-left: 0; }
.pg-ways > section:last-child { padding-right: 0; }
.pg-ways h2 { margin: 18px 0 0; font: 700 clamp(36px, 3.4vw, 52px)/.88 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; }
.pg-ways p { margin: 0; max-width: 36ch; font: 400 17px/1.6 var(--font-body); color: var(--ink); }
.pg-ways .pg-actions { margin-top: auto; padding-top: 16px; }
@media (max-width: 899px) { .pg-ways { --nda-columns: 1fr; } .pg-ways > section:nth-child(n) { padding: 0 0 28px; } }

/* ---------- Profile ---------- */
.pg-pf-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px; padding-block: var(--space-8, 40px) var(--space-6, 24px); border-bottom: 0; }
.pg-pf-name { display: flex; align-items: baseline; gap: 18px; flex-wrap: wrap; }
.pg-pf-meta { margin: 14px 0 0; font: 400 13px/1.5 var(--font-mono); letter-spacing: .04em; color: var(--ink-mid); }
.pg-pf-meta span + span::before { content: "·"; margin: 0 10px; color: var(--ink-dim); }
.pg-pf-tabs { padding-block: 0; border-bottom: 0; }
.pg-pf-section { padding-block: var(--space-7, 32px); }
.pg-pf-section > .pg-head-row { margin-bottom: 0; }
.pg-records { margin: 0; padding: 0; list-style: none; }
.pg-record { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 0 var(--space-8, 40px); padding: var(--space-6, 24px) 0; border-top: var(--stroke-hairline, 1px) solid var(--rule-thin); }
.pg-record:first-child { border-top: 0; }
.pg-record__title { margin: 0 0 12px; font: 700 34px/.9 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; }
.pg-record__body { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6, 24px); align-content: start; }
.pg-record__body--one { grid-template-columns: minmax(0, 1fr); }
.pg-record dt { font: 400 11px/1.45 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); }
.pg-record dd { margin: 6px 0 0; font: 400 16px/1.55 var(--font-body); color: var(--ink); }
.pg-record dd .nda-text-link { padding-block: 0; }
.pg-attend summary { margin-top: 6px; font: 400 12px/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.pg-events { margin: 12px 0 0; padding: 0; list-style: none; }
.pg-events li { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; border-top: var(--stroke-hairline, 1px) solid var(--rule-thin); font: 400 14px/1.45 var(--font-body); }
.pg-events li span:last-child { font: 400 11px/1.6 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mid); white-space: nowrap; }
.pg-events li.is-absent span:last-child { color: var(--ink-dim); }
@media (max-width: 899px) { .pg-record { grid-template-columns: 1fr; row-gap: 18px; } .pg-record__body { grid-template-columns: 1fr 1fr; } .pg-pf-head { grid-template-columns: 1fr; } }
@media (max-width: 899px) { .pg-record__body--one { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .pg-record__body { grid-template-columns: 1fr; gap: 18px; } }

/* ---------- The live site's pieces on seminar pages ---------- */
.hidden { display: none !important; }
.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; }
.pg-cover__copy .pg-body a, .pg-note a, .pg-hint a, .pg-facts dd a:not(.nda-text-link) { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pg-note:empty, .pg-msg:empty { display: none; }

/* Seminar policies: one list on /seminars.html, opened in place from any page (site.js clones .policy-disclosure-body) */
.pg-pol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6, 24px) var(--space-8, 40px); margin: 0; }
.pg-pol .policy-label { display: block; font: 700 15px/1.2 var(--font-body); text-transform: uppercase; letter-spacing: .01em; color: var(--ink); }
.pg-pol .policy-text { margin: 8px 0 0; font: 400 15px/1.6 var(--font-body); color: var(--ink-mid); }
.pg-pol .policy-text a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pg-pol-intro { max-width: var(--measure, 640px); margin: 0 0 var(--space-7, 32px); font: 400 17px/1.6 var(--font-body); color: var(--ink); }
.policy-version { margin: 0 0 var(--space-4, 16px); font: 400 11px/1.45 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-dim); }
.academy-policy-dialog-body .pg-pol { grid-template-columns: minmax(0, 1fr); gap: var(--space-5, 20px); }
.academy-policy-dialog-body .pg-pol-intro { margin-bottom: var(--space-6, 24px); font-size: 16px; }
@media (max-width: 899px) { .pg-pol { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .pg-pol { grid-template-columns: minmax(0, 1fr); } }

/* Access: the badge beside Sessions and the note under it */
.pg-access { color: var(--ink-dim); }
.pg-access.is-enrolled { color: var(--blue); }
.pg-access.is-enrolled::before { background: currentColor; }
.pg-access.is-registered { color: var(--ink-mid); }
.pg-note--access { margin-bottom: var(--space-6, 24px); }
.pg-msg { margin: var(--space-4, 16px) 0 0; font: 400 13px/1.55 var(--font-body); color: var(--ink-mid); }

/* Up next, for enrolled participants (participant-panel.js) */
.participant-panel { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: var(--space-7, 32px); align-items: baseline;
  border-top: var(--stroke-heavy, 3px) solid var(--pink-mark); }
.participant-kicker { margin: 0; font: 500 11px/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--pink); }
.participant-detail h2 { margin: 0; font: 700 32px/1 var(--font-display); text-transform: uppercase; letter-spacing: -.01em; word-spacing: .06em; color: var(--ink); }
.participant-detail h2 a { color: inherit; text-decoration: none; }
.participant-detail h2 a:hover { color: var(--pink); }
.participant-date { margin: var(--space-2, 8px) 0 0; font: 400 12px/1.5 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-dim); }
@media (max-width: 759px) { .participant-panel { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-3, 12px); } }
/* Coining Reason's next session, on hiatus: the same panel, neutral (pink is for what's happening now) */
.participant-panel.pg-upnext--hiatus { border-top-color: var(--ink); }
.pg-upnext--hiatus .participant-kicker { color: var(--ink-mid); }

/* Sessions: the live schedule (session-schedule.js, screening-schedule.js) marks rows; titles stay hidden until a screening starts */
.nda-session.session-hiatus > summary .nda-session__title { color: var(--ink); }
.nda-screenings > li.screening-current { border-left-color: var(--pink-mark); }
.nda-screenings > li.screening-past .nda-screenings__title { color: var(--ink-dim); }
.nda-screenings > li:not(.screening-past) > .nda-screenings__screened { display: none; }
.nda-screenings__title.film-locked:empty::before { content: "Title revealed when the screening begins"; color: var(--ink-dim); }
.nda-screenings > li.screening-past .nda-screenings__title.film-locked:empty::before { content: "Title shown to enrolled participants"; }
.nda-screenings__film { flex-basis: 100%; font-size: 13px; line-height: 1.5; color: var(--ink-mid); }
.nda-screenings__film:empty { display: none; }
p.nda-screenings__link { margin: 0; }
.nda-screenings__link a { color: inherit; }
.nda-readings__optional { color: var(--ink-mid); }
.nda-readings__note { margin: var(--space-3, 12px) 0 0; font-size: 13px; line-height: 1.65; color: var(--ink-dim); }
.nda-readings__note strong { font-weight: 500; color: var(--ink-mid); }

/* How to enroll, with the account form opening in place */
.pg-steps .pg-step-form { margin-top: 20px; }
.pg-step-form > summary { list-style: none; }
.pg-step-form > summary::-webkit-details-marker { display: none; }
.pg-step-form[open] > summary { margin-bottom: var(--space-5, 20px); }
.pg-enroll-form { display: grid; gap: var(--space-4, 16px); max-width: 520px; }
.pg-enroll-form .nda-field__input { width: 100%; box-sizing: border-box; }
.pg-enroll-form .nda-button { justify-self: start; }
.pg-form-status { margin: 0; font: 400 13px/1.55 var(--font-body); color: var(--ink); }
.pg-form-status:empty { display: none; }
.pg-result { margin: var(--space-4, 16px) 0 0; padding: var(--space-3, 12px) var(--space-4, 16px); border-left: var(--stroke-heavy, 3px) solid var(--blue); font: 400 15px/1.55 var(--font-body); }
.pg-result.is-error { border-left-color: var(--ink); }
@media (max-width: 599px) { .pg-head-row { flex-direction: column; align-items: flex-start; gap: var(--space-2, 8px); } }

/* Coining Reason: the unit tabs are buttons; the roadmap's open unit shows its topics and their readings */
.pg-switch button { width: 100%; border-top: 0; border-left: 0; border-right: 0; background: none; text-align: left; cursor: pointer; }
.pg-unit-meta { margin-top: 14px; }
.pg-access-context { margin: calc(-1 * var(--space-2, 8px)) 0 var(--space-7, 32px); color: var(--ink-mid); }
.roadmap-expand:not(.open) { display: none; }
.pg-unit-detail__close { margin: var(--space-5, 20px) 0 0; }
.pg-topics li > div { min-width: 0; }
.pg-topics__readings { margin: 4px 0 0; font: 400 13px/1.5 var(--font-body); color: var(--ink-dim); }

/* Account pages: the working column stacks its states; only the visible ones take room */
.pg-ac-main, .pg-ac-guest { display: flex; flex-direction: column; gap: var(--space-7, 32px); }
.pg-ac-main .pg-context { margin: 0; }
.pg-tabs [aria-current] { color: var(--ink); border-bottom-color: var(--ink); }
.pg-google { display: flex; flex-direction: column; gap: var(--space-5, 20px); }
.pg-status:empty { display: none; }
.pg-form__title--sm { font-size: 26px; }
.pg-badge { margin: 0; }
.pg-form .pg-hint, .pg-form .pg-status { max-width: 52ch; }
.pg-actions--quiet { font-size: 14px; }
.pg-ac-main noscript p { margin: 0; }

/* Profile: the name is the title (unset, it is the button that sets it); records hold the live data */
.pg-pf-namebtn { padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; text-align: left; cursor: pointer; }
.pg-pf-namebtn:disabled { cursor: default; }
.pg-pf-namebtn.is-unset { color: var(--ink-dim); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .12em; }
.pg-pf-namebtn.is-unset:hover { color: var(--ink); }
.pg-pf-headlink { margin: 0; }
.pg-pf-note { margin: 0; padding: 0 var(--nda-gutter); }
.pg-tabs li:has(> [hidden]) { display: none; }
.pg-tabs .active { color: var(--ink); border-bottom-color: var(--ink); }
.pg-records:empty { display: none; }
.pg-record__state { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; }
.pg-record__role { font: 400 11px/1.45 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-mid); }
.pg-record dd p { margin: 0; }
.pg-record dd p + p, .pg-record dd p + form, .pg-record dd form + p, .pg-record dd p + button { margin-top: 8px; }
.pg-record .pg-eval-state { font: 400 11px/1.45 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mid); }
.pg-record .feedback { white-space: pre-wrap; overflow-wrap: anywhere; }
.pg-record dd .nda-button--ghost { padding-inline: 0; }
.pg-inline-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; margin: 0; }
.pg-inline-form .nda-field__input { min-width: 0; }
.pg-inline-form.hidden { display: none !important; }
.pg-pf-name .pg-inline-form { align-self: center; }
.pg-pf-name .pg-inline-form .nda-field__input { width: min(280px, 70vw); }
/* the account tab: label/value rows on hairlines */
.pg-acct__row { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 8px var(--space-6, 24px); align-items: baseline; padding: var(--space-4, 16px) 0; border-top: var(--stroke-hairline, 1px) solid var(--rule-thin); font: 400 16px/1.5 var(--font-body); }
.pg-acct__row:first-child { border-top: 0; }
.pg-acct__label { font: 400 11px/1.45 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-dim); }
.pg-acct__row .pg-inline-form { margin-top: 12px; }
@media (max-width: 599px) { .pg-acct__row { grid-template-columns: 1fr; } }
