/* Refine the selected vertical layout without changing the comparison designs. */
#program .program-panel{border:1px solid #e7e1d3;border-top:0}
#program .program-theme-intro{padding-bottom:38px}
#program .theme-label{color:#6f7d61}
#program .program-stage-heading h3{color:#4d5c40;font-weight:550}
#program .program-stage+.program-stage{margin-top:32px;padding-top:32px}
#program .week-meta{color:#647254}
#program .week-question{color:#46533c;line-height:1.65}
#program .week-action{color:#707c62}
#program .week-index{color:#566645;border-color:#b8c6a7;font-size:12px}
#program .week-mode{background:#e3e9d9;color:#4e603d;font-weight:500}
#program .week-book{filter:drop-shadow(2px 4px 5px #30372926)}
#program .program-tabs>button{transition:color .18s ease,background-color .18s ease}
@media(max-width:700px){
 #program .program-panel{padding:32px 16px 19px}
 #program .program-theme-intro{padding-bottom:32px}
 #program .program-theme-intro h3{font-size:clamp(25px,6.6vw,28px);line-height:1.65}
 #program .program-week{grid-template-columns:29px minmax(0,1fr) 60px;gap:11px;padding:27px 0}
 #program .program-week:not(:last-child):before{bottom:-28px}
 #program .week-index{font-size:10px}
 #program .week-question{font-size:18px;line-height:1.75;letter-spacing:-.05em}
 #program .week-meta{font-size:11px}
 #program .week-book{width:60px;max-height:95px}
 #program .week-mode{font-size:10px;padding:3px 6px}
 #program .week-action{font-size:12px;line-height:1.9;margin-top:12px}
 #program .program-stage+.program-stage{margin-top:24px;padding-top:28px}
}
@media(prefers-reduced-motion:reduce){#program .program-tabs>button{transition:none}}

/* Keep the original three-book row. */
#program .is-reading>.program-week-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
#program .is-reading .program-week.has-book{display:flex;flex-direction:column;gap:0;padding:19px 0 22px}
#program .is-reading .program-week:before,#program .is-practice .program-week:before{display:none}
#program .is-reading .has-book .week-index{order:0;display:block;width:auto;height:auto;border:0;border-radius:0;background:none;font-size:12px;margin-bottom:15px}
#program .is-reading .has-book .week-book{order:1;width:100%;height:208px;max-height:none;padding:18px;background:#eee9dd;object-fit:contain;object-position:center;filter:none}
#program .is-reading .has-book .week-content{order:2;padding-top:18px;width:100%}
#program .is-reading .has-book .week-meta{min-height:28px;font-size:14px;font-weight:500;color:#586747}
#program .is-reading .has-book .week-question{font-size:18px;line-height:1.75;margin-top:7px}
#program .is-reading .program-week:not(.has-book){grid-column:1/-1;border-top:1px solid #ccd3bf;padding-top:28px;margin-top:6px}
#program .is-practice>.program-week-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px}
#program .is-practice .program-week{grid-template-columns:33px minmax(0,1fr);gap:12px;border-bottom:1px solid #d7dcca}
#program .is-practice .week-content{grid-column:2}
#program .is-practice .week-question{font-size:20px}
@media(max-width:700px){
 #program .program-panel{padding:30px 14px 18px}
 #program .is-reading>.program-week-list{gap:12px}
 #program .is-reading .program-week.has-book{padding-top:18px;padding-bottom:13px}
 #program .is-reading .has-book .week-index{font-size:10px;margin-bottom:10px}
 #program .is-reading .has-book .week-book{height:132px;padding:11px 9px}
 #program .is-reading .has-book .week-content{padding-top:13px}
 #program .is-reading .has-book .week-meta{font-size:11px;line-height:1.6;min-height:36px}
 #program .is-reading .has-book .week-question{font-size:14px;line-height:1.75;letter-spacing:-.045em;margin-top:5px;word-break:keep-all;overflow-wrap:normal}
 #program .is-reading .program-week:not(.has-book){margin-top:10px;padding-top:25px}
 #program .is-practice>.program-week-list{grid-template-columns:1fr;gap:0}
 #program .is-practice .week-question{font-size:18px;line-height:1.75}
 #program .is-practice .program-week{padding:25px 0}
 #program .is-practice .program-week:last-child{border-bottom:0}
}

/* Four selectable steps connect the activity flow to each weekly question. */
#program .practice-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0 25px}
#program .practice-flow button{position:relative;border:1px solid #bdc7b1;padding:18px 6px;background:#f9f6ef;color:#6b775f;text-align:center;min-width:0}
#program .flow-week{display:block;margin:0 auto 13px;font:500 12px/1.5 var(--sans)}
#program .practice-flow button:not(:last-child):after{content:'→';position:absolute;top:calc(50% - 10px);left:calc(100% + 1px);width:24px;font-size:17px;line-height:20px;color:#8b997b}
#program .flow-label{font:400 14px/1.65 var(--sans);letter-spacing:-.035em}
#program .flow-chevron{display:block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:12px auto 3px;opacity:.8}
#program .practice-flow button{cursor:pointer;transition:background .18s,border-color .18s}
#program .practice-flow button:hover{border-color:#566647}
#program .practice-flow [aria-selected=true]{background:#566647;border-color:#566647;color:#faf7ed}
#program .practice-flow [aria-selected=true] .flow-label{font-weight:500;color:#faf7ed}
#program .practice-flow button:focus-visible{outline:2px solid #566647;outline-offset:3px;border-radius:3px}
#program .is-practice>.program-week-list{display:block;border-top:1px solid #d2d8c8}
#program .is-practice .program-week{display:block;min-height:192px;padding:26px 0 9px;border:0}
#program .is-practice .program-week[hidden]{display:none}
#program .is-practice .week-question{font-size:24px;line-height:1.7;margin-top:18px}
#program .is-practice .week-action{margin-top:14px}
@media(max-width:700px){
 #program .practice-flow{gap:14px;margin:25px 0 24px}
 #program .practice-flow button{padding:14px 3px}
 #program .flow-label{font-size:12px;line-height:1.65}
 #program .flow-week{font-size:11px;margin-bottom:10px}
 #program .practice-flow button:not(:last-child):after{width:14px;font-size:12px}
 #program .is-practice .program-week{min-height:220px;padding:23px 0 9px}
 #program .is-practice .week-question{font-size:20px;line-height:1.75;margin-top:16px}
 #program .is-practice .week-action{font-size:12px}
}
