.private-results-page {
  min-height: 100vh;
  background: var(--ivory);
}

.private-header-link {
  color: var(--ink-soft);
  font-size: .82rem;
  font-weight: 700;
}

.private-results-main {
  max-width: 1040px;
  margin: 0 auto;
  padding: clamp(64px, 9vw, 120px) clamp(20px, 5vw, 56px) clamp(90px, 12vw, 150px);
}

.private-loading,
.private-error {
  padding: clamp(34px, 6vw, 70px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.private-loading h1,
.private-error h1 {
  max-width: 760px;
  font-size: clamp(3.2rem, 7vw, 6.5rem);
}

.private-loading > p:last-child,
.private-error > p {
  max-width: 650px;
  color: var(--ink-soft);
}

.private-error .button { margin-top: 20px; }

.private-profile {
  padding: clamp(30px, 6vw, 64px);
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.private-profile:focus,
.private-error:focus { outline: none; }

.private-profile-masthead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--line);
}

.private-profile-masthead h1 {
  max-width: 690px;
  font-size: clamp(3rem, 6.5vw, 6rem);
}

.private-profile-masthead > div:first-child > p:last-child {
  margin: 14px 0 0;
  color: var(--ink-soft);
  font-size: .82rem;
}

.private-index {
  display: flex;
  align-items: baseline;
  color: var(--blue);
}

.private-index strong {
  font-family: var(--serif);
  font-size: clamp(4.5rem, 9vw, 7.5rem);
  font-weight: 500;
  line-height: .8;
  letter-spacing: -.06em;
}

.private-index span { color: var(--ink-soft); font-size: .78rem; }

.private-summary {
  max-width: 760px;
  padding: 34px 0;
  color: var(--ink-soft);
}

.private-summary > p { margin: 12px 0 0; }
.private-context { font-size: .8rem; }

.demo-profile-banner {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
  margin-bottom: 38px;
  padding: 22px;
  border: 1px solid rgba(55,103,181,.24);
  border-radius: 14px;
  background: rgba(55,103,181,.06);
}

.demo-profile-banner strong { color: var(--blue); }
.demo-profile-banner p { max-width: 690px; margin: 5px 0 0; color: var(--ink-soft); font-size: .8rem; }
.demo-profile-banner > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0; }
.is-demo-profile [data-demo-hidden],
.is-demo-profile .action-review-form { display: none !important; }

.private-domain-section,
.private-current-focus,
.private-action-cycle,
.private-comparison,
.private-follow-up,
.private-outcomes,
.private-research,
.private-trust,
.private-actions {
  padding: 48px 0;
  border-top: 1px solid var(--line);
}

.private-domain-section h2,
.private-current-focus h2,
.private-action-cycle h2,
.private-comparison h2,
.private-follow-up h2,
.private-outcomes h2,
.private-research h2,
.private-trust h2,
.private-actions h2,
.private-constraint h2 {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.04em;
}

.private-domain-section .domain-results { margin-top: 30px; }

.current-focus-heading {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 44px;
}

.current-focus-heading > p {
  align-self: end;
  margin: 0;
  color: var(--blue);
  font-size: .82rem;
  font-weight: 750;
}

.current-focus-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 30px;
}

.current-focus-grid article {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--ivory);
}

.current-focus-grid span {
  display: block;
  color: var(--ink-soft);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.current-focus-grid strong {
  display: block;
  margin-top: 8px;
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.15;
}

.current-focus-grid p { margin: 8px 0 0; color: var(--ink-soft); font-size: .76rem; }

.profile-journey {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.profile-journey li {
  position: relative;
  display: grid;
  align-content: start;
  gap: 5px;
  min-width: 0;
  padding: 18px 14px;
  border-top: 2px solid var(--line);
}

.profile-journey li::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 14px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--line);
}

.profile-journey li[data-state="complete"] { border-color: var(--blue); }
.profile-journey li[data-state="complete"]::before { background: var(--blue); }
.profile-journey li[data-state="next"] { border-color: #d7a365; }
.profile-journey li[data-state="next"]::before { background: #d7a365; }
.profile-journey span { color: var(--ink-soft); font-size: .65rem; font-weight: 800; letter-spacing: .08em; }
.profile-journey strong { font-size: .82rem; }
.profile-journey small { color: var(--ink-soft); font-size: .68rem; line-height: 1.35; }

.private-constraint {
  padding: clamp(28px, 5vw, 44px);
  border-radius: var(--radius);
  background: var(--ink);
  color: #fff;
}

.private-constraint .eyebrow { color: #d7a365; }
.private-constraint > p:last-child { max-width: 720px; margin-bottom: 0; color: rgba(255,255,255,.66); }

.private-action-cycle-heading > p {
  align-self: end;
  margin: 0;
  color: var(--ink-soft);
  font-size: .82rem;
}

.action-cycle-empty {
  margin: 30px 0 0;
  padding: 20px;
  border-left: 3px solid var(--blue);
  background: rgba(55,103,181,.04);
  color: var(--ink-soft);
}

.action-cycle-list { display: grid; gap: 14px; margin-top: 30px; }

.action-cycle-card,
.action-cycle-form {
  padding: clamp(20px, 4vw, 32px);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.action-cycle-card-heading,
.action-cycle-form-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.action-cycle-card h3,
.action-cycle-form h3 {
  margin: 7px 0 0;
  font-family: var(--serif);
  font-size: 1.7rem;
  font-weight: 500;
}

.action-cycle-card-heading p,
.action-cycle-form-heading p { margin: 0; color: var(--ink-soft); font-size: .76rem; }

.action-state {
  display: inline-block;
  color: var(--blue);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.action-state[data-state="overdue"] { color: #a16207; }
.action-state[data-state="closed"] { color: var(--ink-soft); }
.action-cycle-card dl { margin: 5px 0 0; }
.action-cycle-card dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); }
.action-cycle-card dt { color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.action-cycle-card dd { margin: 0; font-size: .86rem; }

.action-review-form {
  display: grid;
  grid-template-columns: 180px 1fr auto;
  gap: 12px;
  align-items: end;
  margin-top: 20px;
}

.action-cycle-form { margin-top: 20px; background: var(--ivory); }
.action-cycle-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.action-cycle-wide { grid-column: 1 / -1; }
.action-cycle-form label,
.action-review-form label { color: var(--ink-soft); font-size: .75rem; font-weight: 700; }

.action-cycle-form select,
.action-cycle-form input,
.action-cycle-form textarea,
.action-review-form select,
.action-review-form textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.action-cycle-form textarea,
.action-review-form textarea { resize: vertical; }
.action-cycle-submit { display: flex; gap: 16px; align-items: center; margin-top: 20px; }
[data-action-status] { margin: 0; color: var(--ink-soft); font-size: .78rem; }

.private-comparison-heading,
.private-action-cycle-heading,
.private-follow-up,
.private-outcomes-heading,
.private-research-heading,
.private-trust,
.private-actions {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 44px;
}

.private-comparison-heading > p {
  align-self: end;
  margin: 0;
  color: var(--ink-soft);
  font-size: .78rem;
}

.comparison-overall {
  display: grid;
  grid-template-columns: 1fr auto 1fr 1.1fr;
  align-items: end;
  gap: 16px;
  margin-top: 32px;
}

.comparison-overall article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.comparison-overall span,
.comparison-overall small,
.comparison-constraint > span {
  display: block;
  color: var(--ink-soft);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.comparison-overall strong {
  font-family: var(--serif);
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
}

.comparison-delta { background: rgba(55,103,181,.06); }
.comparison-method,
.comparison-caution { color: var(--ink-soft); font-size: .8rem; }

.comparison-domains {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 24px;
}

.comparison-domains article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
}

.comparison-domains h3 { margin: 0; font-size: .86rem; }
.comparison-domains p { display: flex; gap: 9px; margin: 0; align-items: center; font-variant-numeric: tabular-nums; }
.comparison-domains i { color: var(--ink-soft); font-style: normal; }
.comparison-domains strong { min-width: 35px; color: var(--blue); text-align: right; }

.comparison-constraint {
  margin-top: 22px;
  padding: 18px;
  border-left: 3px solid var(--blue);
  background: rgba(55,103,181,.04);
}

.comparison-constraint p { margin: 5px 0 0; }

.comparison-changes {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.comparison-changes > span {
  color: var(--ink-soft);
  font-size: .7rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.comparison-changes article { margin-top: 14px; }
.comparison-changes h3 { margin: 0; font-size: .95rem; }
.comparison-changes article > p { margin: 4px 0; color: var(--ink-soft); font-size: .75rem; text-transform: capitalize; }
.comparison-changes blockquote { margin: 10px 0 0; padding-left: 14px; border-left: 2px solid var(--line); color: var(--ink-soft); font-size: .82rem; }
.private-follow-up > div:last-child > p:first-child { margin-top: 0; color: var(--ink-soft); }
.private-follow-up [data-assessment-count] { margin-bottom: 0; color: var(--ink-soft); font-size: .75rem; }

.private-outcomes-heading > p {
  align-self: end;
  margin: 0;
  color: var(--ink-soft);
  font-size: .82rem;
}

.outcome-summary,
.outcome-comparison,
.outcome-form {
  margin-top: 30px;
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid var(--line);
  border-radius: 16px;
}

.outcome-summary > div:first-child,
.outcome-comparison > div:first-child,
.outcome-form-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: baseline;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.outcome-summary h3,
.outcome-comparison h3,
.outcome-form h3 { margin: 0; font-family: var(--serif); font-size: 1.6rem; font-weight: 500; }

.outcome-summary > div:first-child p,
.outcome-comparison > div:first-child p,
.outcome-form-heading p,
.outcome-comparison > p { margin: 0; color: var(--ink-soft); font-size: .75rem; }

[data-outcome-latest] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}

[data-outcome-latest] article {
  padding: 16px;
  border-radius: 10px;
  background: var(--ivory);
}

[data-outcome-latest] article:last-child { grid-column: 1 / -1; }
[data-outcome-latest] article > div { display: flex; justify-content: space-between; gap: 14px; }
[data-outcome-latest] h4 { margin: 0; font-size: .85rem; }
[data-outcome-latest] strong { color: var(--blue); }
[data-outcome-latest] p { margin: 8px 0 0; color: var(--ink-soft); font-size: .75rem; }

[data-outcome-comparison-list] {
  display: grid;
  gap: 7px;
  margin: 18px 0;
}

[data-outcome-comparison-list] article {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

[data-outcome-comparison-list] h4 { margin: 0; font-size: .85rem; }
[data-outcome-comparison-list] p { display: flex; align-items: center; gap: 9px; margin: 0; font-variant-numeric: tabular-nums; }
[data-outcome-comparison-list] i { color: var(--ink-soft); font-style: normal; }
[data-outcome-comparison-list] strong { min-width: 30px; color: var(--blue); text-align: right; }

.outcome-form-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.outcome-form label {
  color: var(--ink-soft);
  font-size: .75rem;
  font-weight: 700;
}

.outcome-form select {
  width: 100%;
  margin-top: 7px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.outcome-measures { display: grid; gap: 10px; margin-top: 22px; }

.outcome-measures fieldset {
  display: grid;
  grid-template-columns: .7fr 1fr;
  gap: 8px 24px;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.outcome-measures legend { padding: 0; font-size: .9rem; font-weight: 800; }
.outcome-measures legend span { margin-right: 9px; color: var(--blue); font-size: .68rem; }
.outcome-measures p { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.outcome-measures label { grid-column: 2; grid-row: 1 / span 2; }

.outcome-submit {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-top: 20px;
}

[data-outcome-status] { margin: 0; color: var(--ink-soft); font-size: .78rem; }

.private-research-heading > p {
  align-self: end;
  margin: 0;
  color: var(--ink-soft);
  font-size: .8rem;
}

[data-research-invitation] > p,
.research-active > p { max-width: 780px; color: var(--ink-soft); }

.research-boundaries {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0;
}

.research-boundaries article {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--ivory);
}

.research-boundaries h3 { margin: 0; font-size: .9rem; }
.research-boundaries p { margin: 7px 0 0; color: var(--ink-soft); font-size: .78rem; }

.research-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  max-width: 850px;
  margin: 22px 0;
  font-size: .84rem;
}

.research-consent input { width: 18px; height: 18px; accent-color: var(--blue); }

.research-active dl {
  max-width: 620px;
  margin: 22px 0;
}

.research-active dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: .8rem;
}

.research-active dt { color: var(--ink-soft); }
.research-active dd { margin: 0; font-weight: 750; text-align: right; }
.research-active > div:not(.private-delete-confirmation) { display: flex; flex-wrap: wrap; gap: 9px; }
.research-active .private-delete-confirmation { margin-top: 16px; }
[data-research-status] { min-height: 24px; margin: 14px 0 0; color: var(--ink-soft); font-size: .78rem; }

.private-trust > div:last-child > p { margin-top: 0; color: var(--ink-soft); }

.private-trust dl {
  display: grid;
  gap: 9px;
  margin-top: 24px;
}

.private-trust dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  font-size: .8rem;
}

.private-trust dt { color: var(--ink-soft); }
.private-trust dd { margin: 0; font-weight: 750; text-align: right; }

.private-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.private-action-buttons .button:disabled,
.private-delete-confirmation .button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

.danger-button:not(:disabled) { border-color: rgba(185,28,28,.25); color: #991b1b; }

[data-private-status] {
  grid-column: 2;
  min-height: 24px;
  margin: 8px 0 0;
  color: var(--ink-soft);
  font-size: .78rem;
}

.private-delete-confirmation {
  grid-column: 2;
  padding: 18px;
  border-left: 3px solid #b91c1c;
  background: rgba(185,28,28,.05);
}

.private-delete-confirmation p { margin-top: 0; color: var(--ink-soft); }

@media (max-width: 760px) {
  .private-profile-masthead,
  .current-focus-heading,
  .private-action-cycle-heading,
  .private-comparison-heading,
  .private-follow-up,
  .private-outcomes-heading,
  .private-research-heading,
  .private-trust,
  .private-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  [data-private-status],
  .private-delete-confirmation { grid-column: 1; }

  .private-trust dl > div { display: grid; gap: 4px; }
  .private-trust dd { text-align: left; }
  .comparison-overall { grid-template-columns: 1fr auto 1fr; }
  .comparison-delta { grid-column: 1 / -1; }
  .comparison-domains { grid-template-columns: 1fr; }
  [data-outcome-latest],
  .outcome-form-context { grid-template-columns: 1fr; }
  [data-outcome-latest] article:last-child { grid-column: auto; }
  .outcome-measures fieldset { grid-template-columns: 1fr; }
  .outcome-measures label { grid-column: auto; grid-row: auto; }
  .outcome-submit,
  .outcome-summary > div:first-child,
  .outcome-comparison > div:first-child,
  .outcome-form-heading { align-items: stretch; flex-direction: column; }
  .research-boundaries { grid-template-columns: 1fr; }
  .demo-profile-banner { align-items: stretch; flex-direction: column; }
  .current-focus-grid { grid-template-columns: 1fr; }
  .profile-journey { grid-template-columns: 1fr; }
  .profile-journey li { padding: 12px 12px 12px 28px; border-top: 0; border-left: 2px solid var(--line); }
  .profile-journey li::before { top: 17px; left: -6px; }
  .action-cycle-fields,
  .action-review-form { grid-template-columns: 1fr; }
  .action-cycle-wide { grid-column: auto; }
  .action-cycle-card-heading,
  .action-cycle-form-heading,
  .action-cycle-submit { align-items: stretch; flex-direction: column; }
  .action-cycle-card dl > div { grid-template-columns: 1fr; gap: 5px; }
  .research-active dl > div { display: grid; gap: 4px; }
  .research-active dd { text-align: left; }
}

@media print {
  .site-header,
  .private-actions,
  .skip-link { display: none !important; }

  body,
  .private-results-page { background: #fff; }
  .private-results-main { max-width: none; padding: 0; }
  .private-profile { padding: 0; border: 0; box-shadow: none; }
  .private-constraint { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
