/* HSMDOCE R13.20 - interactive academic learning layer */
.lesson-path{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.lesson-stage{border:2px solid #c9d6e7;border-radius:12px;background:#fff;padding:12px}.lesson-stage b{display:block;color:#082d61;margin-bottom:5px}.lesson-stage small{color:#4a5d75;line-height:1.45}.lesson-expectations{border:3px solid #d6ad4b;border-radius:14px;background:#fffdf6;padding:16px;margin:14px 0}.lesson-expectations h4{margin:0 0 8px;color:#082d61}.lesson-expectations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-expectations-grid div{border:2px solid #d8e1ed;border-radius:10px;padding:11px;background:#fff}.learning-visuals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.learning-visual{border:2px solid #b7c8dd;border-radius:12px;background:#f7f9fc;padding:14px}.learning-visual h4{margin:0 0 8px;color:#082d61}.visual-chip-row{display:flex;flex-wrap:wrap;gap:7px}.visual-chip{border:2px solid #c89520;background:#fff7df;border-radius:999px;padding:6px 9px;font-weight:700;color:#263a56}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.compare-grid div{border:2px solid #d8e1ed;background:#fff;border-radius:9px;padding:10px}.practice-lab{border:3px solid #123f74;border-radius:14px;background:#f8fbff;padding:16px;margin-top:16px}.practice-lab h4{margin-top:0;color:#082d61}.practice-question{border-top:2px solid #d5e0ec;padding:14px 0}.practice-question:first-of-type{border-top:0}.practice-choices{display:grid;gap:7px;margin-top:9px}.practice-choice{display:flex;gap:8px;align-items:flex-start;border:2px solid #cbd7e5;border-radius:9px;background:#fff;padding:9px}.practice-fill,.practice-short{width:100%;border:2px solid #9fb3ca;border-radius:9px;padding:10px;background:#fff}.practice-short{min-height:110px}.practice-result{margin-top:12px;border:2px solid #b7c8dd;border-radius:10px;padding:11px;background:#fff}.practice-result.good{border-color:#377a4a;background:#eef8f0}.practice-result.review{border-color:#b27c16;background:#fff8e8}.lesson-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.lesson-reading{border:2px solid #d5dfeb;border-radius:11px;background:#fff;padding:13px;margin:14px 0}.lesson-content-readable{background:#fff;color:#18283e;border:2px solid #d3deea;border-radius:12px;padding:16px;line-height:1.7}.lesson-content-readable *{color:inherit}.class-banner,.hero{isolation:isolate}.class-banner *,.hero p,.hero h1,.hero h2,.hero h3{opacity:1}.tl-content .hero .notice{background:#fff8df!important;color:#14253d!important;border:3px solid #d6ad4b!important}.tl-content .hero .notice b{color:#082d61!important}.tl-content .hero h2,.tl-content .hero h1{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.65)}
@media(max-width:900px){.lesson-path{grid-template-columns:1fr}.lesson-expectations-grid,.learning-visuals,.compare-grid{grid-template-columns:1fr}}

/* R13.20 extended student classroom experience */
.classroom-wrap{max-width:1480px!important}
.classroom-shell{display:block!important}
.classroom-nav,.classroom-tabs{display:flex!important;flex-wrap:wrap;gap:0!important;align-items:stretch;background:#142033!important;border:2px solid #142033!important;border-bottom:4px solid #c89520!important;border-radius:10px 10px 0 0!important;overflow:visible!important;margin:0 0 16px!important;position:sticky;top:0;z-index:30}
.classroom-nav a,.classroom-tabs a{display:flex!important;align-items:center;min-height:46px;padding:10px 14px!important;color:#fff!important;text-decoration:none!important;font-weight:800!important;border-right:1px solid rgba(255,255,255,.16)!important;border-left:0!important;border-bottom:3px solid transparent!important;background:transparent!important}
.classroom-nav a:hover,.classroom-tabs a:hover,.classroom-nav a.active,.classroom-tabs a.active{background:#fff!important;color:#102d53!important;border-bottom-color:#c89520!important}
.classroom-content,.classroom-main{width:100%!important;min-width:0!important}
.lesson-path{counter-reset:lessonstage}.lesson-stage{position:relative;overflow:hidden}.lesson-stage:before{counter-increment:lessonstage;content:counter(lessonstage);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0b3c78;color:#fff;font-weight:900;margin-bottom:8px}
.learning-visuals{align-items:stretch}.learning-visual{min-height:180px;overflow:hidden}.learning-visual h4{border-bottom:2px solid #c89520;padding-bottom:8px}
.visual-flow-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;align-items:stretch;gap:8px}.visual-flow-list li{position:relative;flex:1 1 145px;min-height:76px;border:2px solid #b8c8da;background:#fff;border-radius:10px;padding:12px 10px 10px 42px;display:flex;align-items:center}.visual-flow-list li span{position:absolute;left:9px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#0b3c78;color:#fff;font-weight:900}.visual-flow-list li:not(:last-child):after{content:'›';position:absolute;right:-9px;top:50%;transform:translateY(-52%);font-size:26px;color:#9b7017;z-index:2}
.visual-node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.visual-node{border:2px solid #c3d0df;border-left:5px solid #c89520;border-radius:10px;background:#fff;padding:11px;min-height:64px;display:flex;align-items:center;font-weight:800;color:#183150}
.learning-visual-theology_matrix .visual-node-grid,.learning-visual-mastery_map .visual-node-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.attached-worksheet-card{border:3px solid #c89520;background:#fffaf0;border-radius:14px;padding:15px;margin:15px 0;display:flex;justify-content:space-between;gap:18px;align-items:center}.attached-worksheet-card small{display:block;color:#76530d;font-weight:900;letter-spacing:.08em}.attached-worksheet-card h4{margin:4px 0;color:#082d61}.attached-worksheet-card p{margin:0;color:#263a56}.attached-worksheet-card .btn-alt{flex:0 0 auto}
.fill-blank-row,.written-response-row{display:grid;gap:7px}.fill-blank-row input{width:100%;border:2px solid #9fb3ca;border-radius:9px;padding:11px;background:#fff;color:#17263d}.written-response-row textarea{min-height:150px}
.faculty-photo{object-fit:cover!important;overflow:hidden}
/* Never allow branded imagery to swallow readable content. */
.edu-main .hero,.tl-content .hero{background-color:#123c72!important;color:#fff!important}
.edu-main .hero h1,.edu-main .hero h2,.edu-main .hero h3,.edu-main .hero p,.edu-main .hero span,.tl-content .hero h1,.tl-content .hero h2,.tl-content .hero h3,.tl-content .hero p,.tl-content .hero>span{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.65)!important;opacity:1!important}
.edu-main .hero .notice,.tl-content .hero .notice{background:#fff8df!important;color:#162840!important;border:3px solid #c89520!important;text-shadow:none!important}.edu-main .hero .notice *,.tl-content .hero .notice *{color:#162840!important;text-shadow:none!important}
.panel,.card,.student-module,.discussion-topic-grid article,.resource-grid article{border-width:2px!important}
@media(max-width:900px){.classroom-nav,.classroom-tabs{position:relative}.classroom-nav a,.classroom-tabs a{flex:1 1 180px}.learning-visual-theology_matrix .visual-node-grid,.learning-visual-mastery_map .visual-node-grid,.visual-node-grid{grid-template-columns:1fr 1fr}.attached-worksheet-card{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.classroom-nav a,.classroom-tabs a{flex:1 1 50%;padding:9px 8px!important;font-size:13px}.visual-node-grid{grid-template-columns:1fr}.attached-worksheet-card .btn-alt{width:100%}}
.course-due-list{display:grid;gap:10px}.course-due-list .due-row{display:grid;grid-template-columns:78px 1fr;gap:13px;align-items:center;border:2px solid #c6d2df;border-left:6px solid #0b4a87;border-radius:10px;background:#fff;padding:10px}.course-due-list .due-row.past{opacity:.72;border-left-color:#7f8a98}.due-date-tile{display:grid;place-items:center;border:2px solid #c89520;border-radius:9px;overflow:hidden;background:#fff}.due-date-tile b{width:100%;text-align:center;background:#0b3c78;color:#fff;padding:3px}.due-date-tile strong{font-size:25px;color:#0b3c78}.due-date-tile small{padding-bottom:4px;color:#53677f}.course-due-list h3{margin:4px 0;color:#102d53}.course-due-list p{margin:0;color:#42566e}
/* Guided teaching sections keep substantial curriculum readable and student-paced. */
.lesson-content-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:3px solid #c89520;padding-bottom:10px;margin-bottom:12px}.lesson-content-heading h4{margin:0 0 5px}.lesson-content-heading p{margin:0}.lesson-section-count{display:inline-flex;align-items:center;border:2px solid #a9bdd4;border-radius:999px;background:#edf4fb;color:#10345f;padding:5px 9px;font-weight:800;white-space:nowrap}.teaching-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teaching-section{border:2px solid #b8c8da;border-radius:11px;background:#fff;overflow:hidden}.teaching-section summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;padding:12px;background:#eef4fa;color:#0d315d;font-weight:900}.teaching-section summary::-webkit-details-marker{display:none}.teaching-section summary span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#0b3c78;color:#fff}.teaching-section[open] summary{border-bottom:2px solid #c89520}.teaching-section>div{padding:13px;color:#1c2d43;line-height:1.65}.teaching-section:focus-within{outline:3px solid rgba(19,77,135,.22);outline-offset:2px}
@media(max-width:760px){.lesson-content-heading{flex-direction:column}.teaching-section-grid{grid-template-columns:1fr}}
.lesson-expectations-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.lesson-expectations-title h4{margin:0}.credential-level-badge{display:inline-flex;align-items:center;border:2px solid #0b3c78;border-radius:999px;background:#eaf2fb;color:#0b315d;padding:5px 9px;font-weight:900}.credential-challenge{margin:10px 0 12px;border:2px solid #b7c9dc;border-left:6px solid #0b3c78;border-radius:9px;background:#f5f9fd;color:#18314f;padding:10px 12px;font-weight:700}.practice-level-note{border-left:5px solid #c89520;background:#fff8e8;padding:9px 10px;color:#3c301a;margin:9px 0}
@media(max-width:620px){.lesson-expectations-title{align-items:flex-start;flex-direction:column}}
