.feature-page { min-width: 0; }
.feature-public { max-width: 1000px; margin: 0 auto; }
.feature-columns { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 28px; align-items: start; }
.feature-columns > * { min-width: 0; }
.feature-columns .stack > .panel + .panel { margin-top: 0; }
.feature-school { font-size: 21px; font-weight: 600; line-height: 1.25; margin-bottom: 6px; overflow-wrap: anywhere; }
.feature-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.feature-person { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.feature-person img { object-fit: cover; }
.feature-note { margin: 14px 0; }
.feature-empty p { max-width: 62ch; }
.feature-shared-by { margin-bottom: 8px; }
.feature-message { margin: 8px 0 0; padding: 12px 14px; background: var(--sunk); border-radius: var(--r-m); font-size: 14px; overflow-wrap: anywhere; }
.feature-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.feature-role, .feature-faq { overflow: hidden; }
.feature-role > summary, .feature-faq > summary { padding: 18px 20px; cursor: pointer; list-style-position: inside; font-weight: 600; }
.feature-role > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.feature-role > summary::after { content: '+'; font-size: 22px; flex-shrink: 0; }
.feature-role[open] > summary::after { content: '−'; }
.feature-role > summary::-webkit-details-marker { display: none; }
.feature-role > summary > span:first-child { flex: 1; min-width: 0; }
.feature-role > summary strong, .feature-role > summary .small { display: block; }
.feature-role > summary .small { margin-top: 4px; font-weight: 400; }
.feature-role-count { font-size: 12px; font-weight: 500; color: var(--muted); }
.feature-role-body, .feature-faq > div { padding: 0 20px 20px; }
.feature-role-body > .muted { margin-bottom: 16px; }
.feature-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 16px 0; }
.feature-requirements { grid-template-columns: 1fr 1fr; margin: 16px 0; padding: 16px; background: var(--sunk); border-radius: var(--r-m); }
.feature-courses { margin-top: 20px; }
.feature-course { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; text-align: left; padding: 12px 0; }
.feature-course strong, .feature-course .small { display: block; }
.feature-course:hover strong { text-decoration: underline; }
.feature-help { max-width: 900px; }
.feature-help-category { margin-top: 28px; }
.feature-faq summary { line-height: 1.4; }
.feature-faq p { max-width: 70ch; }
.feature-role summary:hover, .feature-faq summary:hover { background: var(--sunk); }
.feature-role summary:focus-visible, .feature-faq summary:focus-visible { outline: 3px solid var(--navy); outline-offset: -3px; }
@media (max-width: 860px) {
  .feature-columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .feature-role > summary { flex-wrap: wrap; gap: 8px; padding: 16px; }
  .feature-role > summary > span:first-child { flex-basis: calc(100% - 32px); }
  .feature-role-count { order: 2; flex-basis: 100%; }
  .feature-role-body, .feature-faq > div { padding: 0 16px 16px; }
  .feature-evidence, .feature-requirements { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .feature-tabs .btn { flex-grow: 1; }
}
