/* Programs chooser and program detail pages. Uses brand.css tokens only. */
.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}

.prog-back{align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px}
.prog-back::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}

.prog-jump{display:flex;flex-wrap:wrap;gap:10px}
.prog-jump a{min-height:44px;display:inline-flex;align-items:center;padding:8px 16px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;transition:background .2s}
.prog-jump a:hover{background:var(--tint-teal)}

.prog-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin:6px 0 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.prog-facts div{padding:16px 18px 16px 0}
.prog-facts div+div{border-left:1px solid var(--line-2);padding-left:18px}
.prog-facts dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-bottom:4px}
.prog-facts dd{margin:0;color:var(--ink);font-weight:600;line-height:1.3}

.prog-questions{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.prog-questions li{display:flex;flex-direction:column;gap:12px;padding:22px;border-left:3px solid var(--accent);background:var(--band);border-radius:0 14px 14px 0}
.prog-questions li:nth-child(even){border-left-color:var(--peach)}
.prog-q{font-family:var(--display);font-size:20px;line-height:1.3;color:var(--ink);margin:0}
.prog-questions a{margin-top:auto;font-weight:700;min-height:44px;display:inline-flex;align-items:center}

.prog-table-wrap{border:1px solid var(--line-2);border-radius:18px;background:var(--surface);overflow:hidden}
.prog-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.45}
.prog-table thead th:nth-child(1){width:24%}
.prog-table thead th:nth-child(2){width:27%}
.prog-table thead th:nth-child(3){width:26%}
.prog-table thead th:nth-child(4){width:23%}
.prog-table th,.prog-table td{text-align:left;vertical-align:top;padding:18px 20px;border-bottom:1px solid var(--line-2)}
.prog-table thead th{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);background:var(--band)}
.prog-table tbody tr:last-child>*{border-bottom:0}
.prog-table tbody tr:nth-child(even){background:var(--band)}
.prog-table tbody th{font-family:var(--display);font-size:19px}
.prog-table td{color:var(--body)}
@media(max-width:860px){
  .prog-table-wrap{border:0;background:none;border-radius:0}
  .prog-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .prog-table,.prog-table tbody,.prog-table tr,.prog-table th,.prog-table td{display:block;width:auto}
  .prog-table tr{background:var(--surface);border:1px solid var(--line-2);border-radius:16px;margin-bottom:16px;padding:6px 4px}
  .prog-table tbody th{padding-bottom:6px}
  .prog-table td{padding:10px 16px;border-bottom:1px solid var(--line)}
  .prog-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-bottom:3px}
}

.prog-outcomes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,36px);counter-reset:outcome}
.prog-outcomes li{position:relative;padding-top:22px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}
.prog-outcomes li::before{counter-increment:outcome;content:"0" counter(outcome);position:absolute;top:-1px;left:0;width:36px;padding-top:10px;border-top:2px solid var(--accent);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--clay)}
.prog-outcomes h3{font-size:22px;margin-top:16px}
.prog-outcomes p{color:var(--body);margin:0}
@media(max-width:900px){.prog-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.prog-outcomes{grid-template-columns:1fr}}

.prog-steps{list-style:none;margin:0;padding:0 0 0 34px;display:flex;flex-direction:column;gap:26px;position:relative;max-width:820px}
.prog-steps::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:1px;background:var(--line-2)}
.prog-steps li{position:relative;display:flex;flex-direction:column;gap:6px}
.prog-steps li::before{content:"";position:absolute;left:-34px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--logo);box-shadow:0 0 0 5px var(--bg)}
.band.alt .prog-steps li::before{box-shadow:0 0 0 5px var(--band)}
.prog-steps li:last-child::before{background:var(--peach)}
#rise-sessions .prog-steps{padding-left:0}
#rise-sessions .prog-steps::before,#rise-sessions .prog-steps li::before{display:none}
.prog-steps h3{font-size:23px}
.prog-steps p{color:var(--body);margin:0}

.prog-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}

.prog-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.prog-fit>div{padding:clamp(22px,3vw,30px);border-radius:18px;display:flex;flex-direction:column;gap:14px}
.prog-fit-yes{background:var(--tint-teal)}
.prog-fit-no{background:var(--surface);border:1px solid var(--line-2)}
.prog-fit h3{font-size:22px}
.prog-fit ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:var(--ink)}

.prog-detail-link{font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.prog-compare-note{font-size:17px}
.prog-compare-note a{font-weight:700}
.dark .btn-outline.prog-on-dark{border-color:var(--on-dark);color:var(--on-dark)}
