:root {
  color-scheme: light;
  --ink: #202327;
  --muted: #626970;
  --line: #dfe2e5;
  --surface: #ffffff;
  --wash: #f4f5f5;
  --red: #a61f2b;
  --red-dark: #811720;
  --focus: #1267a5;
  font-family: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--wash); color: var(--ink); }
body { margin: 0; min-height: 100vh; background: var(--surface); }
a { color: var(--red-dark); text-underline-offset: .2em; }
button, input, select { font: inherit; }

.site-header {
  min-height: 4rem;
  padding: .55rem clamp(1rem, 4vw, 3rem);
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); font-size: 1.02rem; font-weight: 800; text-decoration: none; letter-spacing: -.01em; }
.brand img { display: block; width: 3.125rem; height: 3.125rem; object-fit: contain; }
.brand span { color: var(--ink); }
.brand strong { color: var(--red); }
.site-nav { display: flex; align-items: center; gap: 1.25rem; font-size: .92rem; }
.site-nav form { margin: 0; }
.site-nav a, .text-button { color: var(--ink); text-decoration: none; }
.text-button { border: 0; padding: 0; background: none; white-space: nowrap; cursor: pointer; }
.site-nav a:hover, .text-button:hover { color: var(--red); }
.profile-link { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; margin: -.45rem; border-radius: 50%; }
.profile-link:hover, .profile-link[aria-current="page"] { background: var(--wash); }
.profile-link svg { width: 1.35rem; height: 1.35rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.page-shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2rem, 6vw, 4.5rem) 0; min-height: calc(100vh - 8rem); }
.page-header { margin-bottom: 2rem; }
.page-header.with-action { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.page-header h1, .narrow-page h1 { max-width: 20ch; margin: .25rem 0 0; font-size: clamp(2rem, 5vw, 3.4rem); line-height: 1.03; letter-spacing: -.035em; }
.eyebrow { margin: 0; color: var(--red); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.site-footer { padding: 1.25rem clamp(1rem, 4vw, 3rem); color: var(--muted); border-top: 1px solid var(--line); font-size: .82rem; }

.auth-shell { min-height: 65vh; display: grid; place-items: center; }
.auth-panel { width: min(100%, 390px); }
.auth-panel h1 { margin: .35rem 0 1.75rem; font-size: 2.65rem; letter-spacing: -.035em; }
.form-stack, .form-panel { display: grid; gap: 1.25rem; }
.form-panel { max-width: 640px; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); }
label { display: grid; gap: .45rem; font-weight: 700; font-size: .9rem; }
input, select { width: 100%; min-height: 2.85rem; padding: .65rem .75rem; color: var(--ink); background: #fff; border: 1px solid #aeb4b9; border-radius: .3rem; }
input:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid color-mix(in srgb, var(--focus) 35%, transparent); outline-offset: 2px; }
.password-field { position: relative; display: block; }
.password-field input { padding-right: 3rem; }
.password-toggle { position: absolute; top: 50%; right: .35rem; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; padding: 0; border: 0; border-radius: .25rem; background: transparent; color: var(--muted); cursor: pointer; transform: translateY(-50%); }
.password-toggle:hover { color: var(--ink); background: var(--wash); }
.password-toggle svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.check-label { display: flex; align-items: center; gap: .55rem; }
.check-label input { width: 1.1rem; min-height: auto; height: 1.1rem; }
.label-note { color: var(--muted); font-weight: 400; }
.form-actions { display: flex; gap: .75rem; margin-top: .5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.65rem; padding: .6rem 1rem; border: 1px solid #aeb4b9; border-radius: .3rem; background: #fff; color: var(--ink); font-weight: 700; text-decoration: none; cursor: pointer; }
.button.primary { border-color: var(--red); background: var(--red); color: #fff; }
.button.primary:hover { background: var(--red-dark); }
.alert { margin-bottom: 1.25rem; padding: .8rem 1rem; border-left: 3px solid var(--red); background: #fbefef; }
.alert.success { border-left-color: #3f6748; background: #f0f5f1; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.profile-panel { max-width: none; }
.profile-panel h2 { margin: 0; font-size: 1.35rem; }
.profile-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.profile-details dt { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.profile-details dd { margin: .3rem 0 0; overflow-wrap: anywhere; font-size: .9rem; }

.action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1rem; }
.action-link { padding: 1.25rem; border: 1px solid var(--line); border-radius: .45rem; color: var(--ink); text-decoration: none; }
.action-link:hover { border-color: var(--red); }
.action-link strong, .action-link span { display: block; }
.action-link span { margin-top: .35rem; color: var(--muted); }
.empty-state { max-width: 680px; padding: 2rem; border: 1px solid var(--line); background: var(--wash); }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state p { margin-top: .45rem; color: var(--muted); }
.home-actions { margin-bottom: 3.5rem; }
.home-actions .action-link { background: var(--red); border-color: var(--red); color: #fff; }
.home-actions .action-link span { color: #fff; }
.home-actions .action-link:hover, .home-actions .action-link:focus-visible { background: var(--red-dark); border-color: var(--red-dark); }

.report-demo-tools { margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; }
.report-demo-tools summary { cursor: pointer; font-weight: 600; }
.report-demo-tools p { color: var(--muted); max-width: 70ch; }
.demo-form { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; }
.demo-form label { flex: 1 1 12rem; min-width: 0; }
.demo-notice { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; margin-bottom: 1.5rem; background: var(--paper, #f8f8f8); border-left: 3px solid var(--red); }
.demo-notice p { margin: .25rem 0 0; }
.demo-label { font-size: .75rem; color: var(--muted); }
.section-heading { margin-bottom: 1rem; }
.section-heading h2, .split-layout h2, .subsection h2 { margin: .3rem 0 0; font-size: 1.35rem; }
.empty-line, .muted { color: var(--muted); }
.path-row { display: grid; grid-template-columns: minmax(180px, .55fr) 1fr; gap: 2rem; padding: 1.5rem 0; border-top: 1px solid var(--ink); }
.path-row h3, .path-row p { margin: 0; }
.path-row p { margin-top: .35rem; color: var(--muted); }
.path-row .path-description { margin-top: .9rem; font-size: .9rem; line-height: 1.5; max-width: 38ch; }
.module-list { margin: 0; padding: 0; list-style: none; }
.module-list li { display: grid; grid-template-columns: 2rem 1fr auto; align-items: center; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.module-list small { display: block; margin-top: .2rem; color: var(--muted); text-transform: capitalize; }
.module-list .module-lock-note { text-transform: none; }
.module-number { display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border: 1px solid var(--line); border-radius: 50%; font-size: .75rem; font-weight: 800; }

.course-shell { max-width: 1040px; margin: clamp(-2rem, -2.5vw, -1rem) auto 0; }
.course-header { max-width: 760px; padding-bottom: 2rem; }
.course-header > a { display: inline-block; margin-bottom: 2.5rem; }
.course-header h1 { max-width: 24ch; margin: .45rem 0 1rem; font-size: clamp(1.75rem, 3.5vw, 2.7rem); line-height: 1; letter-spacing: -.04em; }
.slide-status { display: grid; grid-template-columns: auto minmax(140px, 1fr); align-items: center; gap: 1rem; margin-bottom: .75rem; color: var(--muted); font-size: .78rem; font-weight: 700; }
.slide-status progress { width: 100%; height: .3rem; border: 0; border-radius: 0; accent-color: var(--red); }
.slide-status progress::-webkit-progress-bar { background: var(--line); }
.slide-status progress::-webkit-progress-value { background: var(--red); }
.slide-status progress::-moz-progress-bar { background: var(--red); }
.lesson-nav { display: flex; overflow-x: auto; border-block: 1px solid var(--line); scroll-snap-type: x proximity; scrollbar-width: thin; }
.lesson-nav a { display: flex; flex: 0 0 158px; gap: .55rem; padding: .85rem .65rem; color: var(--ink); font-size: .82rem; font-weight: 700; text-decoration: none; scroll-snap-align: start; }
.lesson-nav a span { color: var(--red); }
.lesson-nav a[aria-current="step"] { background: var(--ink); color: #fff; }
.lesson-nav a[aria-current="step"] span { color: #f19aa2; }
.lesson-content { margin-top: 1rem; }
.lesson-section { display: block; padding: clamp(2.5rem, 7vw, 5rem) 0; border-bottom: 1px solid var(--line); }
.course-shell[data-enhanced="true"] .lesson-section { min-height: 460px; padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 5vw, 3rem) clamp(2.5rem, 7vw, 4.5rem); border: 1px solid var(--line); }
.course-shell[data-enhanced="true"] .lesson-body { display: flex; flex-direction: column; align-items: stretch; }
.lesson-count { margin: 0 0 .55rem; color: var(--red); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.lesson-section h2 { margin: 0 0 1.25rem; font-size: clamp(1.75rem, 4vw, 2.7rem); letter-spacing: -.035em; }
.lesson-section p { color: #3f4449; line-height: 1.65; }
.lesson-body > p:not(.lesson-reference) { margin-block: .5em; }
.lesson-block { margin-block: 1.5rem; }
.lesson-block h3 { margin-bottom: .6rem; font-size: 1.15rem; }
.lesson-block li { margin-block: .5rem; line-height: 1.65; }
.lesson-body > .lesson-takeaway { border-left: 3px solid var(--red); padding: .75rem 1rem; background: var(--wash); margin-block: 1.5rem; }
.lesson-media { margin: 1.75rem 0 0; }
.lesson-media-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.lesson-image, .lesson-video, .lesson-gallery figure { margin: 0; }
.lesson-image { overflow: hidden; border: 1px solid var(--line); border-top: 4px solid var(--red); background: #f7f2f1; }
.lesson-image img { display: block; width: 100%; max-height: 390px; object-fit: contain; background: #fff; }
.lesson-image figcaption, .lesson-video figcaption, .lesson-gallery figcaption { color: var(--muted); font-size: .8rem; line-height: 1.4; }
.lesson-image figcaption { padding: .7rem .8rem; border-top: 1px solid var(--line); }
.video-frame { position: relative; overflow: hidden; padding-top: 56.25%; border-top: 4px solid var(--red); background: var(--ink); }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lesson-video figcaption { display: grid; gap: .2rem; padding-top: .65rem; }
.lesson-video figcaption strong { color: var(--ink); font-size: .88rem; }
.lesson-video figcaption a { width: fit-content; margin-top: .15rem; font-weight: 700; }
.lesson-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 1.75rem 0 0; }
.lesson-gallery figure { display: grid; grid-template-rows: 300px auto; overflow: hidden; border: 1px solid var(--line); border-top: 4px solid var(--red); background: var(--wash); }
.lesson-gallery figure:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - .375rem); }
.lesson-gallery figure > div { position: relative; min-width: 0; min-height: 0; height: 300px; overflow: hidden; background: #fff; }
.lesson-gallery img { position: absolute; inset: .75rem; display: block; width: calc(100% - 1.5rem); height: calc(100% - 1.5rem); object-fit: contain; }
.lesson-gallery figcaption { display: grid; gap: .15rem; padding: .65rem .75rem; border-top: 1px solid var(--line); }
.lesson-gallery figcaption strong { color: var(--ink); font-size: .86rem; }
.lesson-reference { margin-top: 1.5rem; font-size: .8rem; }
.concept-visual { margin: 1.75rem 0 0; }
.concept-visual figcaption, .service-cycle figcaption { color: var(--muted); font-size: .86rem; line-height: 1.45; }
.concept-visual figcaption strong { color: var(--ink); }

.fire-tetrahedron-visual { display: grid; grid-template-columns: minmax(0, 1fr) 14rem; align-items: center; gap: 1.5rem; padding: 1.25rem; background: var(--ink); color: #fff; }
.tetrahedron-map { position: relative; min-height: 320px; }
.tetrahedron-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.tetrahedron-map path { fill: none; stroke: #73787d; stroke-width: 2; }
.tetrahedron-node { position: absolute; z-index: 1; display: grid; justify-items: center; width: 9rem; text-align: center; transform: translate(-50%, -50%); }
.tetrahedron-node i { display: block; width: 4.4rem; height: 4.4rem; margin-bottom: .5rem; border: 2px solid #fff; border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 .45rem rgba(255, 255, 255, .06); }
.tetrahedron-node i::before { content: ''; display: block; width: 1.35rem; height: 1.35rem; margin: 1.4rem auto 0; border-radius: 50%; background: var(--red); }
.tetrahedron-node b, .tetrahedron-node small { display: block; }
.tetrahedron-node b { font-size: .95rem; }
.tetrahedron-node small { margin-top: .15rem; color: #bfc3c7; font-size: .68rem; }
.node-heat { top: 14%; left: 50%; }
.node-oxygen { top: 82%; left: 15%; }
.node-fuel { top: 82%; left: 85%; }
.node-reaction { top: 61%; left: 50%; }
.node-reaction i { width: 5rem; height: 5rem; border-color: #efb5ba; background: var(--red); }
.node-reaction i::before { width: 1.6rem; height: 1.6rem; margin-top: 1.55rem; background: #fff; }
.fire-tetrahedron-visual figcaption { color: #c9cdd0; font-size: 1rem; }
.fire-tetrahedron-visual figcaption strong { display: block; margin-bottom: .4rem; color: #fff; font-size: 1.35rem; }

.decision-visual { overflow: hidden; border: 1px solid var(--line); }
.decision-prerequisites { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--ink); color: #fff; }
.decision-prerequisites span { display: flex; align-items: center; gap: .65rem; min-height: 4.6rem; padding: .9rem; border-right: 1px solid #484d52; font-size: .86rem; font-weight: 700; }
.decision-prerequisites span:last-child { border: 0; }
.decision-prerequisites b { display: grid; flex: 0 0 1.75rem; place-items: center; width: 1.75rem; height: 1.75rem; border: 1px solid #8c9196; border-radius: 50%; color: #f1a4aa; }
.decision-outcomes { display: grid; grid-template-columns: repeat(2, 1fr); }
.decision-outcomes > div { display: grid; grid-template-columns: 3rem 1fr; grid-template-rows: auto auto; align-items: center; column-gap: .85rem; padding: 1.15rem; }
.decision-outcomes > div + div { border-left: 1px solid var(--line); }
.decision-outcomes > div > span { display: grid; grid-row: 1 / span 2; place-items: center; width: 3rem; height: 3rem; border: 2px solid currentColor; border-radius: 50%; font-size: 1.4rem; }
.decision-outcomes strong, .decision-outcomes small { grid-column: 2; }
.decision-outcomes small { margin-top: .25rem; color: var(--muted); line-height: 1.4; }
.decision-consider { color: #3f6748; background: #f0f5f1; }
.decision-evacuate { color: var(--red); background: #fbefef; }
.decision-visual figcaption { padding: .7rem 1rem; border-top: 1px solid var(--line); }

.stop-visual { display: grid; grid-template-columns: 1.2fr .8fr; overflow: hidden; background: var(--ink); color: #fff; }
.stop-triggers { display: grid; gap: .75rem; padding: 1.3rem; }
.stop-triggers p { margin: 0; color: #f1a4aa; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.stop-triggers span { display: flex; align-items: center; gap: .65rem; font-weight: 700; }
.stop-triggers i { display: block; flex: 0 0 .7rem; width: .7rem; height: .7rem; border: 2px solid #f1a4aa; border-radius: 50%; }
.exit-route { position: relative; display: grid; place-items: center; min-height: 220px; overflow: hidden; background: var(--red); }
.exit-route span { position: absolute; top: 1.1rem; padding: .3rem .75rem; border: 2px solid #fff; font-size: .8rem; font-weight: 900; letter-spacing: .14em; }
.exit-route i { position: absolute; bottom: 0; width: 6rem; height: 9rem; border: .5rem solid #fff; border-bottom: 0; }
.exit-route b { position: relative; z-index: 1; color: #fff; font-size: 5rem; line-height: 1; transform: translateX(-2.6rem); }
.stop-visual figcaption { grid-column: 1 / -1; padding: .8rem 1.25rem; color: #c9cdd0; background: var(--ink); }
.stop-visual figcaption strong { color: #fff; }
.class-list { margin: 1.75rem 0 0; border-top: 1px solid var(--ink); }
.class-list div { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.class-list dt { font-weight: 800; }
.class-list dd { margin: .18rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.35; }
.fire-class-visual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; border: 0; }
.fire-class-visual div { display: grid; grid-template-columns: 3.2rem 1fr; grid-template-rows: auto auto; align-items: center; column-gap: .85rem; row-gap: .1rem; min-height: 5.2rem; padding: .85rem; border: 1px solid var(--line); border-left: 4px solid var(--red); background: #f7f2f1; }
.fire-class-visual div:last-child { grid-column: 1 / -1; }
.fire-class-symbol { display: grid; grid-row: 1 / span 2; place-items: center; width: 3.2rem; height: 3.2rem; border: 2px solid var(--red); border-radius: 50%; color: var(--red); background: #fff; font-size: 1.2rem; font-weight: 900; }
.fire-class-visual dt, .fire-class-visual dd { grid-column: 2; }
.pass-steps { display: grid; gap: 1px; margin: 1.75rem 0 0; padding: 0; list-style: none; background: var(--line); }
.pass-steps li { display: grid; grid-template-columns: 7rem 1fr; padding: 1rem; background: var(--wash); }
.pass-steps strong, .pass-steps li > span span { display: block; }
.pass-steps strong { color: var(--red); font-size: 1.1rem; }
.pass-visual { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; background: transparent; }
.pass-visual li { position: relative; display: flex; flex-direction: column; gap: .75rem; min-height: 11rem; padding: 1.1rem .95rem; overflow: hidden; border-top: 4px solid var(--red); }
.pass-visual li::after { content: ''; position: absolute; right: -2.2rem; bottom: -3.2rem; width: 7rem; height: 7rem; border: 1.2rem solid rgba(166, 31, 43, .08); border-radius: 50%; }
.pass-letter { position: relative; z-index: 1; color: var(--red); font-size: 3.7rem; font-weight: 900; line-height: .85; }
.pass-visual strong { color: var(--ink); font-size: .95rem; }
.pass-visual li > span span { margin-top: .25rem; color: var(--muted); font-size: .82rem; line-height: 1.35; }

.mounting-visual, .gauge-visual { margin: 1.75rem 0 0; }
.mounting-visual { display: grid; grid-template-columns: minmax(270px, .85fr) 1.15fr; align-items: center; gap: 1.5rem; padding: 1.25rem; border-left: 4px solid var(--red); background: #f7f2f1; }
.mounting-wall { position: relative; height: 260px; overflow: hidden; background: repeating-linear-gradient(0deg, #e6e8e9 0 1px, transparent 1px 26px); }
.extinguisher-body { position: absolute; bottom: 61px; left: 58px; width: 72px; height: 128px; border-radius: 26px 26px 13px 13px; background: var(--red); box-shadow: inset -9px 0 rgba(0, 0, 0, .1); }
.extinguisher-handle { position: absolute; z-index: 2; bottom: 186px; left: 75px; width: 48px; height: 14px; border: 5px solid var(--ink); border-left-width: 12px; transform: skewX(-14deg); }
.extinguisher-hose { position: absolute; z-index: 2; bottom: 120px; left: 125px; width: 52px; height: 70px; border: 5px solid var(--ink); border-left: 0; border-bottom: 0; border-radius: 0 28px 0 0; }
.floor-line { position: absolute; right: 0; bottom: 22px; left: 0; border-top: 3px solid var(--ink); }
.clearance-measure { position: absolute; bottom: 23px; left: 145px; display: grid; grid-template-rows: 1fr auto 1fr; place-items: center; width: 76px; height: 38px; color: var(--ink); font-size: .65rem; line-height: 1; text-align: center; text-transform: uppercase; }
.clearance-measure i { display: block; width: 1px; height: 100%; background: var(--ink); }
.clearance-measure i:first-child::before, .clearance-measure i:last-child::after { content: ''; position: absolute; left: 35px; width: 7px; height: 7px; border: solid var(--ink); transform: rotate(45deg); }
.clearance-measure i:first-child::before { top: 0; border-width: 1px 0 0 1px; }
.clearance-measure i:last-child::after { bottom: 0; border-width: 0 1px 1px 0; }
.mounting-visual figcaption, .gauge-visual figcaption { color: var(--muted); font-size: .9rem; line-height: 1.5; }
.mounting-visual figcaption strong { display: block; margin-bottom: .3rem; color: var(--ink); font-size: 1.1rem; }
.mounting-rules { display: grid; gap: .55rem; margin-top: .8rem; }
.mounting-rules > span { display: grid; grid-template-columns: 5.2rem 1fr; align-items: center; padding: .6rem .7rem; background: #fff; border: 1px solid var(--line); }
.mounting-rules b { color: var(--red); font-size: .85rem; }
.mounting-rules em { color: var(--ink); font-size: .82rem; font-style: normal; font-weight: 700; }

.inspection-checks { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin: 1.75rem 0 0; }
.inspection-checks span { display: flex; align-items: center; gap: .55rem; min-height: 3.5rem; padding: .7rem; border: 1px solid var(--line); background: #f0f5f1; font-size: .8rem; }
.inspection-checks i { display: grid; flex: 0 0 1.8rem; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #3f6748; color: #fff; font-style: normal; }

.gauge-visual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.gauge-example { display: grid; justify-items: center; gap: .25rem; padding: 1rem; border: 1px solid var(--line); text-align: center; }
.gauge-example > span { color: var(--muted); font-size: .78rem; line-height: 1.35; }
.gauge-face { position: relative; width: 108px; height: 108px; margin-bottom: .45rem; border: 7px solid #3e4449; border-radius: 50%; background: conic-gradient(from 220deg, #dadde0 0 24%, #6c8b73 24% 47%, #dadde0 47% 100%); box-shadow: inset 0 0 0 3px #fff; }
.gauge-face::after { content: ''; position: absolute; top: 47px; left: 47px; width: 8px; height: 8px; border-radius: 50%; background: var(--ink); }
.gauge-face i { position: absolute; z-index: 1; top: 50px; left: 51px; width: 38px; height: 3px; transform: rotate(193deg); transform-origin: 0 50%; background: var(--ink); }
.gauge-ready .gauge-face i { transform: rotate(270deg); }
.gauge-ready > strong { color: #3f6748; }
.gauge-service > strong { color: var(--red-dark); }
.gauge-visual figcaption { grid-column: 1 / -1; margin-top: .25rem; }
.service-cycle { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin: 1.75rem 0 0; }
.service-cycle > i { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--ink); color: #fff; font-size: 1.3rem; font-style: normal; font-weight: 700; }
.service-step { display: grid; align-content: start; min-height: 10.5rem; padding: 1.15rem; border-top: 4px solid var(--red); background: #f7f2f1; }
.service-step span { color: var(--red); font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.service-step strong { margin-top: .6rem; font-size: 1.15rem; }
.service-step small { margin-top: .55rem; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.service-annual { background: var(--ink); color: #fff; }
.service-annual small { color: #c9cdd0; }
.service-cycle figcaption { grid-column: 1 / -1; }
.slide-actions { display: flex; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: 2.5rem; }
.slide-actions .button:only-child { margin-left: auto; }
.slide-actions button:disabled { opacity: .45; cursor: not-allowed; }
.quiz-panel { margin-top: 4rem; padding: clamp(1.25rem, 5vw, 3rem); background: #202327; color: #fff; }
.course-shell[data-enhanced="true"] .quiz-panel { min-height: 460px; margin-top: 0; }
.quiz-panel h2 { margin: .35rem 0 0; font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.04em; }
.quiz-panel > p:not(.eyebrow) { color: #c7cbce; }
.quiz-form { display: grid; gap: 2rem; margin-top: 2rem; }
.quiz-form fieldset { margin: 0; padding: 0; border: 0; }
.quiz-form legend { display: flex; gap: .75rem; width: 100%; margin-bottom: 1rem; font-weight: 800; line-height: 1.4; }
.quiz-form legend span { color: #ea8f98; }
.answer-option { display: flex; align-items: center; gap: .7rem; margin: .5rem 0; padding: .85rem 1rem; border: 1px solid #555b61; font-weight: 400; cursor: pointer; }
.answer-option:has(input:checked) { border-color: #fff; background: #30353a; }
.answer-option input { width: 1rem; min-height: auto; }
.quiz-panel .button.primary { width: fit-content; }
.quiz-actions { padding-top: .5rem; }
.dark-secondary { border-color: #697077; background: transparent; color: #fff; }
.result-shell { max-width: 860px; padding-top: 5vh; }
.result-header { max-width: 620px; }
.result-score { margin: 1.5rem 0 0; color: var(--red); font-size: clamp(5rem, 18vw, 10rem); font-weight: 800; line-height: .8; letter-spacing: -.07em; }
.result-score span { font-size: .3em; }
.result-shell h1 { margin: 1rem 0 .5rem; font-size: clamp(2rem, 6vw, 3.5rem); letter-spacing: -.04em; }
.result-header > p:last-child { color: var(--muted); }
.quiz-review { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--ink); }
.quiz-review h2 { margin: 0 0 .5rem; font-size: 1.4rem; }
.quiz-review ol { display: grid; gap: 1.25rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.quiz-review li { padding: 1.25rem; border: 1px solid var(--line); border-left: 4px solid var(--red); }
.quiz-review-number { margin: 0 0 .4rem; color: var(--red); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.quiz-review h3 { max-width: 64ch; margin: 0; font-size: 1.05rem; line-height: 1.4; }
.quiz-review dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1rem 0; background: var(--wash); }
.quiz-review dl div { padding: .85rem 1rem; }
.quiz-review dl div + div { border-left: 1px solid var(--line); }
.quiz-review dt { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.quiz-review .quiz-review-correct { box-shadow: inset 0 4px #9be64d; background: #f4faed; }
.quiz-review .quiz-review-correct dt { color: #28732f; }
.quiz-review dd { margin: .3rem 0 0; font-size: .9rem; font-weight: 700; line-height: 1.4; }
.quiz-review-explanation { max-width: 70ch; color: var(--muted); line-height: 1.55; }
.quiz-review a { font-weight: 700; }
.quiz-perfect { width: fit-content; margin: 2.5rem 0 0; padding: .8rem 1rem; border-left: 3px solid #3f6748; background: #f0f5f1; font-weight: 700; }
.result-actions { margin-top: 2rem; }

.split-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 350px); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.split-layout > * { min-width: 0; }
.side-form { padding: 1.4rem; background: var(--wash); }
.side-form h2 { margin-bottom: 1.25rem; }
.side-form h2:not(:first-child) { margin-top: 2.5rem; }
.side-form .form-note { margin: -.7rem 0 1.25rem; font-size: .86rem; line-height: 1.45; }
.import-link { width: 100%; margin-top: .75rem; }
.plain-fieldset { display: grid; gap: .65rem; margin: 0; padding: 0; border: 0; }
.plain-fieldset legend { margin-bottom: .7rem; font-size: .9rem; font-weight: 700; }
.inline-form { display: flex; gap: .5rem; }
.subsection { margin-top: 3.5rem; }
.learning-path-list { display: grid; gap: 1rem; }
.learning-path-card { border: 1px solid var(--line); border-top: 3px solid var(--ink); }
.learning-path-card > header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding: 1rem 1.1rem .85rem; }
.learning-path-card h3 { margin: 0; font-size: 1.12rem; }
.learning-path-card .row-links { flex: 0 0 auto; min-width: 0; }
.path-module-list { padding: 0 1.1rem 1rem; color: var(--muted); font-size: .84rem; }
.path-module-list span { display: block; }
.path-module-list span + span { margin-top: .25rem; }
.path-assignment-list { padding: .85rem 1.1rem; border-top: 1px solid var(--line); background: var(--wash); }
.path-assignment-list h4 { margin: 0 0 .55rem; color: var(--muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.path-assignment-list p { margin: 0; font-size: .84rem; }
.path-assignment-list ul { margin: 0; padding: 0; list-style: none; }
.path-assignment-list li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .55rem 0; border-top: 1px solid var(--line); }
.path-assignment-list li:first-child { padding-top: 0; border: 0; }
.path-assignment-list li:last-child { padding-bottom: 0; }
.path-assignment-list strong, .path-assignment-list small { display: block; }
.path-assignment-list strong { font-size: .86rem; }
.path-assignment-list small { margin-top: .12rem; color: var(--muted); font-size: .76rem; }
.import-upload-panel { max-width: 680px; }
.import-upload-panel h2 { margin: 0; }
.import-upload-panel .form-note { margin: -.5rem 0 0; color: var(--muted); }
.import-upload-panel input[type="file"] { height: auto; padding: .8rem; }
.import-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; margin-bottom: 1.5rem; border-block: 1px solid var(--ink); }
.import-summary div { padding: 1rem 1.25rem; border-right: 1px solid var(--line); }
.import-summary div:last-child { border: 0; }
.import-summary strong, .import-summary span { display: block; }
.import-summary strong { font-size: 1.65rem; }
.import-summary span { margin-top: .15rem; color: var(--muted); font-size: .78rem; }
.import-confirm { display: flex; gap: .75rem; margin-bottom: 1.5rem; }
.import-download-hint { align-self: center; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.4; }
.import-table { margin-top: .5rem; }
.import-state { font-weight: 700; }
.import-state.valid { color: #3f6748; }
.import-state.invalid { color: var(--red-dark); }
.row-links { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .75rem; }
.report-filters { margin-bottom: 2rem; padding: 1.1rem; border: 1px solid var(--line); background: var(--wash); }
.people-tools { display: flex; flex-wrap: wrap; align-items: start; gap: .75rem; margin-bottom: 1.5rem; }
.people-invite { border: 1px solid var(--line); border-radius: .3rem; }
.people-invite summary { padding: .7rem 1rem; cursor: pointer; font-weight: 700; }
.people-invite summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.people-invite[open] { flex-basis: 100%; background: var(--wash); }
.people-invite-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); align-items: end; gap: .85rem; padding: .5rem 1rem 1rem; }
.people-filters { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.people-filters label:first-child { flex: 1 1 240px; }
.people-filters label:nth-child(2) { flex: 0 1 220px; }
.people-filters > a { align-self: center; }
.people-count { font-size: .85rem; margin: 1.25rem 0 .65rem; }
.people-table td { overflow-wrap: anywhere; }
.people-table .row-links { min-width: 0; justify-content: flex-start; }
.people-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 1rem; margin-top: 1rem; font-size: .9rem; }
.report-filter-grid { display: grid; grid-template-columns: minmax(210px, 1.35fr) repeat(3, minmax(145px, 1fr)); gap: .85rem; }
.report-filter-actions { align-items: center; margin-top: 1rem; }
.report-filter-actions a { margin-left: .2rem; font-size: .9rem; font-weight: 700; }
.report-summary { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 2.5rem; border-block: 1px solid var(--ink); }
.report-summary div { padding: 1.25rem; border-right: 1px solid var(--line); }
.report-summary div:last-child { border: 0; }
.report-summary strong, .report-summary span { display: block; }
.report-summary strong { font-size: 2rem; }
.report-summary span { margin-top: .2rem; color: var(--muted); font-size: .82rem; }
.report-table { border-top-color: var(--ink); }
.report-table td { min-width: 110px; }
.report-table td:first-child { min-width: 180px; }
.report-table td:nth-child(4) { min-width: 155px; }
.report-status { display: inline-block; padding: .25rem .45rem; border: 1px solid var(--line); border-radius: 999px; background: var(--wash); font-size: .76rem; font-weight: 800; white-space: nowrap; }
.report-status.active { border-color: #bef264; background: #ecfccb; color: #365314; }
.report-status.completed { border-color: #afc5b4; background: #f0f5f1; color: #3f6748; }
.report-status.in_progress { border-color: #d9c88e; background: #faf6e9; color: #745c18; }
.report-status.invited, .report-status.not_started, .report-status.unassigned { border-color: #dfb7bb; background: #fbefef; color: var(--red-dark); }
.report-status.inactive { color: var(--muted); }
.report-dates small { margin-top: 0; white-space: nowrap; }
.report-dates small + small { margin-top: .25rem; }
.empty-table-cell { padding: 2rem .75rem; color: var(--muted); text-align: center; }
.employee-link { color: var(--ink); font-weight: 800; }
.employee-report-header > a { display: inline-block; margin-bottom: 2rem; }
.employee-report-header h1 { margin-bottom: .5rem; }
.employee-identity { margin: 0; color: var(--muted); }
.employee-summary { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 3rem; border-block: 1px solid var(--ink); }
.employee-summary div { padding: 1.15rem; border-right: 1px solid var(--line); }
.employee-summary div:last-child { border: 0; }
.employee-summary span, .employee-summary strong { display: block; }
.employee-summary span { margin-bottom: .35rem; color: var(--muted); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.employee-summary strong { font-size: 1.05rem; }
.employee-path { margin-top: 2.5rem; }
.employee-path > header { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--ink); }
.employee-path > header h2, .employee-path > header p { margin: .3rem 0 0; }
.employee-path > header > p { color: var(--muted); font-size: .88rem; }
.employee-path-status { text-align: right; }
.employee-path-status strong, .employee-path-status small { display: block; }
.employee-path-status.complete strong { color: #3f6748; }
.employee-path-status small { margin-top: .2rem; font-weight: 400; }
.employee-module-list { margin: 0; padding: 0; list-style: none; }
.employee-module-list > li { padding: 1.5rem 0 2rem; border-bottom: 1px solid var(--line); }
.employee-module-heading { display: flex; align-items: start; gap: .85rem; }
.employee-module-heading h3 { margin: 0 0 .25rem; font-size: 1.15rem; }
.status.completed, .attempt-result.passed { color: #3f6748; }
.status.in_progress { color: #745c18; }
.module-report-metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin: 1.25rem 0 0; background: var(--wash); }
.module-report-metrics div { padding: .85rem 1rem; }
.module-report-metrics dt { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.module-report-metrics dd { margin: .3rem 0 0; font-size: .86rem; line-height: 1.35; }
.attempt-history { margin: 1.5rem 0 0 2.55rem; }
.attempt-history h4 { margin: 0 0 .75rem; font-size: .88rem; }
.attempt-result { font-weight: 700; }
.attempt-result.not-passed { color: var(--red-dark); }
.earlier-attempts { margin-top: .85rem; }
.earlier-attempts summary { width: fit-content; color: var(--red-dark); font-size: .86rem; font-weight: 700; cursor: pointer; }
.earlier-attempts .table-wrap { margin-top: .85rem; }

.table-wrap { overflow-x: auto; border-top: 1px solid var(--ink); }
table { width: 100%; border-collapse: collapse; font-size: .92rem; }
th, td { padding: .9rem .75rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { color: var(--muted); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }
td small { display: block; margin-top: .2rem; color: var(--muted); }
.module-version { display: block; }
.module-version + .module-version { margin-top: .35rem; }
.row-action { text-align: right; }
.status { display: inline-block; color: var(--muted); text-transform: capitalize; }
.status.inactive { color: #7a4242; }
.narrow-page { max-width: 680px; }
.narrow-page .button { margin-top: 1.5rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

@media (max-width: 650px) {
  .site-header { align-items: flex-start; }
  .site-nav { gap: .8rem; flex-wrap: wrap; justify-content: flex-end; }
  .profile-grid { grid-template-columns: 1fr; }
  .page-header.with-action { align-items: flex-start; flex-direction: column; }
  .page-header h1, .narrow-page h1 { font-size: 2.35rem; }
  th, td { padding: .75rem .55rem; }
  .path-row, .split-layout { grid-template-columns: 1fr; gap: 1rem; }
  .course-header > a { margin-bottom: 1.5rem; }
  .course-header h1 { font-size: 1.75rem; }
  .slide-status { grid-template-columns: 1fr; gap: .4rem; }
  .lesson-nav a { min-width: 145px; scroll-snap-align: start; }
  .course-shell[data-enhanced="true"] .lesson-section { min-height: 500px; padding: 1.25rem 1rem 2rem; }
  .slide-actions { padding-top: 2rem; }
  .quiz-review dl { grid-template-columns: 1fr; }
  .quiz-review dl div + div { border-top: 1px solid var(--line); border-left: 0; }
  .result-actions { align-items: stretch; flex-direction: column; }
  .fire-class-visual { grid-template-columns: 1fr; }
  .fire-class-visual div, .fire-class-visual div:last-child { grid-column: auto; grid-template-columns: 2.7rem 1fr; column-gap: .75rem; }
  .pass-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pass-visual li { display: flex; }
  .fire-tetrahedron-visual { grid-template-columns: 1fr; padding: .85rem; }
  .tetrahedron-map { min-height: 290px; }
  .tetrahedron-node { width: 7.1rem; }
  .tetrahedron-node i { width: 3.5rem; height: 3.5rem; }
  .tetrahedron-node i::before { width: 1.1rem; height: 1.1rem; margin-top: 1.05rem; }
  .node-reaction i { width: 4.2rem; height: 4.2rem; }
  .node-reaction i::before { width: 1.35rem; height: 1.35rem; margin-top: 1.2rem; }
  .node-oxygen { left: 17%; }
  .node-fuel { left: 83%; }
  .fire-tetrahedron-visual figcaption { padding: 0 .5rem .6rem; }
  .decision-prerequisites { grid-template-columns: 1fr; }
  .decision-prerequisites span { min-height: 3.6rem; border-right: 0; border-bottom: 1px solid #484d52; }
  .decision-outcomes { grid-template-columns: 1fr; }
  .decision-outcomes > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .stop-visual { grid-template-columns: 1fr; }
  .exit-route { min-height: 190px; }
  .stop-visual figcaption { grid-column: auto; }
  .mounting-visual { grid-template-columns: 1fr; }
  .lesson-media-split { grid-template-columns: 1fr; }
  .lesson-gallery { grid-template-columns: 1fr; }
  .lesson-gallery figure, .lesson-gallery figure:last-child:nth-child(odd) { grid-column: auto; width: 100%; grid-template-rows: 240px auto; }
  .lesson-gallery figure > div { height: 240px; }
  .lesson-gallery figcaption { border-top: 1px solid var(--line); }
  .mounting-wall { height: 190px; }
  .extinguisher-body { bottom: 55px; left: 42px; width: 62px; height: 100px; }
  .extinguisher-handle { bottom: 152px; left: 56px; width: 44px; }
  .extinguisher-hose { bottom: 94px; left: 100px; width: 46px; height: 60px; }
  .floor-line { bottom: 20px; }
  .clearance-measure { bottom: 21px; left: 112px; }
  .mounting-rules > span { grid-template-columns: 4.6rem 1fr; }
  .inspection-checks { grid-template-columns: repeat(2, 1fr); }
  .service-cycle { grid-template-columns: 1fr; }
  .service-cycle > i { margin: -.3rem auto; }
  .service-cycle figcaption { grid-column: auto; }
  .gauge-face { width: 92px; height: 92px; }
  .gauge-face::after { top: 39px; left: 39px; }
  .gauge-face i { top: 42px; left: 43px; width: 31px; }
  .report-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .report-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .import-summary { grid-template-columns: repeat(3, 1fr); }
  .import-summary div { padding: .85rem .65rem; }
  .import-confirm { align-items: stretch; flex-direction: column; }
  .import-table { overflow: visible; }
  .import-table table, .import-table tbody, .import-table tr, .import-table td { display: block; width: 100%; }
  .import-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .import-table tr { padding: .75rem 0; border-bottom: 1px solid var(--line); }
  .import-table td { display: grid; grid-template-columns: 5.5rem 1fr; gap: .75rem; padding: .45rem .55rem; border: 0; }
  .import-table td::before { content: attr(data-label); color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
  .import-table td small { grid-column: 2; margin-top: -.45rem; }
  .learning-path-card > header { align-items: flex-start; flex-direction: column; }
  .learning-path-card .row-links { justify-content: flex-start; }
  .report-summary div { padding: 1rem .65rem; border-right: 1px solid var(--line); border-bottom: 0; }
  .report-summary div:last-child { border-right: 0; }
  .report-summary strong { font-size: 1.65rem; }
  .report-table { overflow: visible; }
  .report-table table, .report-table tbody, .report-table tr, .report-table td { display: block; width: 100%; }
  .report-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
  .report-table tr { padding: .85rem 0; border-bottom: 1px solid var(--line); }
  .report-table td, .report-table td:first-child, .report-table td:nth-child(4) { display: grid; grid-template-columns: 6.25rem 1fr; gap: .75rem; min-width: 0; padding: .42rem .55rem; border: 0; }
  .report-table td::before { content: attr(data-label); color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
  .report-table .report-status { justify-self: start; }
  .report-table td > small { grid-column: 2; margin-top: -.5rem; }
  .report-table .report-dates small { margin-top: 0; }
  .report-table .empty-table-cell { display: block; padding: 1.25rem .55rem; text-align: left; }
  .report-table .empty-table-cell::before { content: none; }
  .employee-summary { grid-template-columns: repeat(2, 1fr); }
  .employee-summary div:nth-child(2) { border-right: 0; }
  .employee-summary div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .employee-path > header { align-items: flex-start; flex-direction: column; }
  .employee-path-status { text-align: left; }
  .module-report-metrics { grid-template-columns: repeat(2, 1fr); }
  .attempt-history { margin-left: 0; }
  .row-links { min-width: 190px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.path-module-option { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding-block: .65rem; border-bottom: 1px solid var(--line); }
.path-module-option .check-label { flex: 1 1 230px; margin: 0; }
.path-module-order { display: flex; gap: .35rem; }
.path-module-order[hidden] { display: none; }
.path-module-order .button { padding: .4rem .6rem; font-size: .8rem; }

/* Teaching groups: response numbers, parallel facts, and incident comparisons. */
.lesson-practice { margin: 1.5rem 0; }
.lesson-practice-questions { padding-left: 1.75rem; }
.lesson-practice-questions li { padding: .75rem 0 .75rem .35rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.lesson-practice-questions li::marker { color: var(--red); font-weight: 800; }
.lesson-practice details { margin-top: 1.25rem; padding: 1rem 1.2rem; background: var(--wash); border: 1px solid var(--line); }
.lesson-practice summary { color: var(--red); font-weight: 700; cursor: pointer; }
.lesson-practice details p { margin: 1rem 0 0; }
.lesson-response-grid, .lesson-fact-grid, .lesson-case-grid, .lesson-block-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.lesson-response-grid { list-style: none; padding: 0; }
.lesson-response-grid > li { display: flex; gap: 1rem; align-items: flex-start; min-width: 0; padding: 1.4rem; background: var(--wash); border: 1px solid var(--line); }
.lesson-response-number { display: grid; place-items: center; flex: 0 0 2.5rem; height: 2.5rem; color: #fff; background: var(--red); font-size: 1.35rem; font-weight: 800; }
.lesson-response-grid h3 { margin: .25rem 0 .65rem; font-size: 1.15rem; line-height: 1.3; }
.lesson-response-grid p { margin: 0; }
.lesson-fact-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lesson-fact-grid > div { min-width: 0; padding: 1.3rem; background: var(--wash); border: 1px solid var(--line); border-top: 3px solid var(--red); }
.lesson-fact-grid dt { margin: 0 0 .8rem; color: var(--red); font-size: 1.12rem; font-weight: 800; line-height: 1.3; }
.lesson-fact-grid dd { margin: 0; color: #3f4449; line-height: 1.65; }
.lesson-case-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line); border-top: 4px solid var(--red); }
.lesson-case-card header { padding: 1.4rem 1.4rem 0; }
.lesson-case-card h3 { margin: .65rem 0 1rem; font-size: 1.4rem; line-height: 1.25; }
.lesson-case-card .lesson-case-location { margin: 0; color: var(--muted); font-size: .83rem; font-weight: 700; }
.lesson-case-card .lesson-case-metric { display: flex; align-items: baseline; gap: .45rem; margin: 0; color: var(--red); }
.lesson-case-metric strong { font-size: 2.6rem; line-height: 1.1; }
.lesson-case-metric span { font-weight: 700; }
.lesson-case-description { padding: .5rem 1.4rem 1rem; flex: 1; }
.lesson-case-description p { margin-bottom: 0; }
.lesson-case-point { padding: 1.1rem 1.4rem; background: var(--wash); border-top: 1px solid var(--line); }
.lesson-case-point h4 { margin: 0 0 .5rem; color: var(--red); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.lesson-case-point p { margin: 0; }
@media (max-width: 760px) {
  .lesson-response-grid, .lesson-fact-grid, .lesson-case-grid, .lesson-block-grid { grid-template-columns: minmax(0, 1fr); }
  .lesson-response-grid > li, .lesson-fact-grid > div { padding: 1.1rem; }
}

.lesson-block-grid > .lesson-block { min-width: 0; margin: 0; padding: 1.3rem; background: var(--wash); border: 1px solid var(--line); border-top: 3px solid var(--red); }
.lesson-block-grid h3 { margin-top: 0; color: var(--red); line-height: 1.3; }
.lesson-block-grid ul { padding-left: 1.2rem; margin-bottom: 0; }
.lesson-block-grid h3, .lesson-fact-grid dt, .lesson-fact-grid dd { overflow-wrap: anywhere; }

.lesson-role-icon { display: block; width: 3rem; height: 3rem; object-fit: contain; margin: 0 0 1rem; }
.lesson-block-group { margin: 2rem 0; }
.lesson-block-group > h3 { font-size: 1.15rem; }
.lesson-block-group .lesson-block-grid { margin-top: 1rem; }
.lesson-block-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lesson-block-grid h4 { margin: 0 0 .9rem; color: var(--red); font-size: 1.05rem; line-height: 1.35; overflow-wrap: anywhere; }
.lesson-command { margin: 1.5rem 0; }
.lesson-command figcaption { margin-bottom: 1rem; color: var(--muted); font-size: .9rem; }
.lesson-command-lead { display: grid; gap: .5rem; background: var(--ink); color: #fff; padding: 1.5rem; text-align: center; }
.lesson-command-lead strong { font-size: 1.25rem; }
.lesson-command-branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding-top: 1.5rem; }
.lesson-command-branch { min-width: 0; position: relative; border: 1px solid var(--line); border-top: 3px solid var(--red); padding: 1.3rem; background: var(--wash); }
.lesson-command-branch::before { content: ''; position: absolute; top: calc(-1.5rem - 3px); left: 50%; height: 1.5rem; border-left: 2px solid var(--red); }
.lesson-command-branch h3 { margin: 0 0 1rem; font-size: 1.1rem; color: var(--red); }
.lesson-command-branch ul { display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.lesson-command-branch li { display: grid; gap: .25rem; }
.lesson-command-branch li span { color: var(--muted); }
.lesson-command-flow { margin: 1rem 0 0; padding: 1rem; border-left: 3px solid var(--red); background: var(--wash); }
@media (max-width: 760px) {
  .lesson-block-grid--three, .lesson-command-branches { grid-template-columns: minmax(0, 1fr); }
  .lesson-command-branches { gap: 1.5rem; }
  .lesson-command-branch:not(:first-child)::before { display: none; }
}

/* Route concepts and short practice scenarios share the lesson card palette. */
.lesson-journey { margin: 1.5rem 0; padding: 1.5rem; border: 1px solid var(--line); background: var(--wash); }
.lesson-journey > .eyebrow { margin: 0 0 1.4rem; color: var(--red); }
.lesson-journey ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; padding: 0; margin: 0; }
.lesson-journey li { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: .55rem; }
.lesson-journey li:not(:last-child)::after { content: '→'; position: absolute; top: .05rem; right: -1.65rem; color: var(--red); font-size: 1.5rem; }
.lesson-journey-marker { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; background: var(--red); color: white; border-radius: 50%; font-weight: 800; }
.lesson-journey strong { font-size: 1.12rem; line-height: 1.35; }
.lesson-journey li > span:last-child { color: var(--muted); line-height: 1.5; }
.lesson-journey figcaption { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .88rem; color: var(--muted); }
.lesson-scenario-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.lesson-scenario-grid--single { grid-template-columns: minmax(0, 1fr); }
.lesson-scenario { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-top: 4px solid var(--red); }
.lesson-scenario header { padding: 1.4rem 1.4rem 0; }
.lesson-scenario header .eyebrow { margin: 0 0 .7rem; color: var(--red); }
.lesson-scenario h3 { margin: 0; font-size: 1.4rem; line-height: 1.3; }
.lesson-scenario > p { margin: 1rem 1.4rem 0; }
.lesson-scenario > .lesson-scenario-question { font-weight: 700; margin-bottom: 1.4rem; }
.lesson-scenario details { margin-top: auto; border-top: 1px solid var(--line); background: var(--wash); }
.lesson-scenario summary { padding: 1rem 1.4rem; cursor: pointer; font-weight: 700; color: var(--red); }
.lesson-scenario summary:focus-visible { outline: 3px solid var(--red); outline-offset: -3px; }
.lesson-scenario .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.lesson-scenario details > div { padding: 0 1.4rem 1.4rem; }
.lesson-scenario h4 { color: var(--red); margin: 1rem 0 .35rem; font-size: .85rem; }
.lesson-scenario details p { margin: 0; }
@media (max-width: 760px) {
  .lesson-scenario-grid { grid-template-columns: minmax(0, 1fr); }
  .lesson-journey { padding: 1.1rem; }
  .lesson-journey ol { grid-template-columns: minmax(0, 1fr); }
  .lesson-journey li:not(:last-child)::after { content: '↓'; top: auto; bottom: -1.8rem; right: auto; left: .7rem; }
}

.company-groups { margin: 0 0 2rem; padding: 1rem 1.1rem; border: 1px solid var(--line); border-radius: .35rem; background: var(--wash); }
.company-groups h2 { font-size: 1rem; margin: 0 0 .65rem; }
.company-group-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.company-group-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 1.25rem; padding: .85rem .75rem; border-bottom: 1px solid var(--line); }
.company-group-name { min-width: 0; font-size: .95rem; font-weight: 600; overflow-wrap: anywhere; }
.company-group-actions { display: flex; align-items: center; gap: 1.25rem; }
.company-group-actions .text-button { font-size: .85rem; line-height: 1.5; }
.company-group-actions .group-rename-toggle { color: var(--ink); }
.company-group-actions .group-delete-button { color: var(--red-dark); }
.group-rename-dialog { width: min(440px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; padding: 1.5rem; border: 1px solid var(--line); border-radius: .5rem; color: var(--ink); background: white; box-shadow: 0 16px 48px rgb(0 0 0 / .15); }
.group-rename-dialog::backdrop { background: rgb(15 23 32 / .4); }
.group-rename-form { display: grid; gap: 1.25rem; }
.company-groups .group-rename-form h2 { margin: 0; font-size: 1.2rem; }
.group-rename-form label { min-width: 0; font-size: .85rem; }
.group-rename-form input { width: 100%; }
.group-rename-actions { display: flex; justify-content: flex-end; align-items: center; gap: .65rem; padding-top: .25rem; }
.group-rename-actions .button { font-size: .9rem; }
@media (max-width: 520px) {
  .company-group-row { padding-inline: .5rem; gap: 0 .75rem; }
  .company-group-actions { gap: .85rem; }
  .group-rename-dialog { padding: 1.25rem; }
}

.people-directory > h2 { margin: 0 0 1.1rem; padding-left: .75rem; border-left: 3px solid var(--red); font-size: 1.2rem; line-height: 1.4; }
.people-directory .people-table thead { background: var(--wash); }
@media (max-width: 520px) {
  .company-groups { padding: .85rem .75rem; }
}

/* Source-led PowerPoint lessons: original palette, images and content groupings. */
.course-shell[data-enhanced="true"] .lesson-section--source { padding: 0; }
.source-lesson { --source-ink: #1b2430; --source-muted: #5b6675; --source-accent: #e8a317; --source-panel: #f4f6f9; color: var(--source-ink); background: #fff; font-family: Arial, sans-serif; }
.source-lesson--medical { --source-ink: #fff; --source-muted: #d7cfcd; --source-accent: #e04b51; --source-panel: #1f252b; background: #14181c; }
.source-main { min-width: 0; padding: clamp(1.3rem, 4vw, 3.2rem); }
.source-heading { margin-bottom: 1.7rem; border-bottom: 2px solid var(--source-accent); padding-bottom: 1.1rem; }
.source-heading h2 { color: var(--source-ink); font-size: clamp(1.4rem, 2.7vw, 2.15rem); line-height: 1.15; letter-spacing: -.025em; margin: 0; overflow-wrap: break-word; }
.source-lesson--medical h2, .source-lesson--medical h3 { font-weight: 900; }
.source-lesson p { color: var(--source-muted); line-height: 1.5; }
.source-lesson .source-eyebrow { margin: 0 0 .65rem; color: var(--source-accent); font-size: .75rem; font-weight: 700; letter-spacing: .11em; white-space: pre-line; }
.source-intro { margin: 0 0 1.5rem; font-size: 1.05rem; }
.source-photo-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: start; }
.source-photo { margin: 0; }
.source-photo img { display: block; width: 100%; height: auto; border-radius: .2rem; }
.source-bullets { margin: 1.5rem 0 0; padding-left: 1.2rem; }
.source-bullets li, .source-aside li, .source-briefing li { margin-bottom: 1rem; line-height: 1.5; }
.source-bullets li::marker { color: var(--source-accent); }
.source-numbered { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 2.8rem; list-style: none; padding: 0; margin: 0; }
.source-numbered li { display: flex; gap: 1rem; align-items: flex-start; min-width: 0; }
.source-numbered-left { grid-column: 1; }.source-numbered-right { grid-column: 2; }
.source-row-1 { grid-row: 1; }.source-row-2 { grid-row: 2; }.source-row-3 { grid-row: 3; }.source-row-4 { grid-row: 4; }
.source-number { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; flex: 0 0 1.9rem; color: #fff; background: #c1272d; font-size: .85rem; font-weight: 700; border-radius: 50%; }
.source-numbered h3 { margin: 0 0 .45rem; font-size: .92rem; line-height: 1.35; color: var(--source-ink); }
.source-numbered p { margin: 0; font-size: .93rem; }
.source-cards { display: grid; gap: 1rem; margin: 1.6rem 0 0; }
.source-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }.source-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.source-card { padding: 1.2rem; background: var(--source-panel); border-top: 3px solid var(--source-accent); }
.source-card h3 { display: flex; gap: .6rem; align-items: center; font-size: 1rem; line-height: 1.3; margin: 0 0 .8rem; color: var(--source-ink); }
.source-card p { font-size: .94rem; margin: 0; }
.source-lesson--warden .source-number { background: #12284b; color: #fff; }
.source-icon { display: block; width: 2.7rem; height: 2.7rem; object-fit: contain; margin-bottom: 1.3rem; }
.source-role-layout { display: grid; grid-template-columns: .85fr 1.45fr; gap: 2rem; align-items: stretch; }
.source-aside { padding: 1.6rem; background: #12284b; color: #fff; border-top: 4px solid #e8a317; }
.source-aside h3 { font-size: 1.35rem; margin: 0 0 1rem; }
.source-aside p { color: #fff; white-space: pre-line; }.source-aside ul { padding-left: 1rem; }
.source-role-list { margin: 0; }.source-role-list > div { padding: .6rem 0 .8rem; border-bottom: 1px solid #d8dee7; }
.source-role-list dt { font-weight: 700; color: #12284b; }.source-role-list dd { margin: .3rem 0 0; color: #5b6675; line-height: 1.4; }
.source-lesson--command .source-role-layout { grid-template-columns: 1.25fr 1fr; }.source-lesson--command .source-role-list > div { padding: 1rem; margin-bottom: .7rem; border: 0; background: #f4f6f9; border-left: 3px solid #e8a317; }
.source-briefing { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }.source-briefing > div:first-child { padding: 1.4rem; background: #1f252b; border-left: 3px solid #c1272d; }.source-briefing h3 { font-size: 1rem; }.source-briefing ul { padding-left: 1.1rem; color: #d7cfcd; }
.source-footer { margin: 1.8rem 0 0; padding-top: 1rem; border-top: 1px solid var(--source-accent); font-size: .9rem; }
.source-note { margin: 1.8rem 0 0; font-size: .7rem; }
.lesson-section--source .slide-actions { padding: 1.5rem; }
.source-lesson--cover { position: relative; min-height: 440px; display: grid; grid-template-columns: .55fr 1fr; align-items: stretch; overflow: hidden; }
.source-cover-side { padding: 3rem 2rem; background: #12284b; color: #fff; border-top: 5px solid #e8a317; display: flex; flex-direction: column; justify-content: center; }.source-cover-side p { color: #d5deeb; font-size: .75rem; letter-spacing: .1em; }.source-cover-side strong { font-size: 1.35rem; white-space: pre-line; line-height: 1.3; }
.source-lesson--cover .source-main { align-self: center; }.source-lesson--cover .source-heading { border: 0; padding-bottom: 0; }.source-lesson--cover .source-intro { margin: 0; }
.source-lesson--medical.source-lesson--cover { display: block; }.source-cover-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.source-lesson--medical.source-lesson--cover .source-main { position: relative; z-index: 1; min-height: 440px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(90deg, rgba(20,24,28,.97), rgba(20,24,28,.80) 55%, rgba(20,24,28,.08)); }.source-lesson--medical.source-lesson--cover .source-heading, .source-lesson--medical.source-lesson--cover .source-intro { max-width: 65%; }.source-lesson--medical.source-lesson--cover h2 { font-size: clamp(1.8rem, 3.6vw, 2.9rem); }.source-lesson--medical.source-lesson--cover .source-footer { max-width: 65%; }
.source-lesson--divider .source-photo-layout { display: block; }.source-lesson--divider .source-copy { display: none; }.source-lesson--divider .source-main { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; align-items: center; }.source-lesson--divider .source-heading { margin: 0; border: 0; }
@media (max-width: 700px) {
  .source-photo-layout, .source-role-layout, .source-lesson--command .source-role-layout, .source-briefing, .source-lesson--divider .source-main, .source-lesson--cover { grid-template-columns: 1fr; }
  .source-numbered { display: flex; flex-direction: column; gap: 1.4rem; }
  .source-cards--3, .source-cards--4 { grid-template-columns: 1fr; }
  .source-photo { max-width: 480px; }.source-cover-side { padding: 1.4rem; }.source-cover-side strong { font-size: 1.1rem; }
  .source-lesson--medical.source-lesson--cover .source-heading, .source-lesson--medical.source-lesson--cover .source-intro, .source-lesson--medical.source-lesson--cover .source-footer { max-width: 100%; }
  .source-lesson--medical.source-lesson--cover .source-main { background: rgba(20,24,28,.78); }
  .source-briefing { gap: 1rem; }.source-numbered h3 { overflow-wrap: anywhere; }
}

.source-lesson--warden .source-heading .source-eyebrow { color: #865700; }

/* Non-fire deck: retain the source navy header, orange rule and white canvas. */
.source-lesson--non-fire { --source-ink: #0b2545; --source-accent: #a64e0a; --source-muted: #344358; }
.source-lesson--non-fire .source-main { padding: 0 0 2rem; }
.source-lesson--non-fire .source-heading { margin: 0 0 2rem; padding: 1.5rem clamp(1.3rem, 4vw, 3rem); background: #0b2545; border-bottom: 4px solid #e88934; }
.source-lesson--non-fire .source-heading h2 { color: #fff; }
.source-lesson--non-fire .source-heading .source-eyebrow { color: #ffc184; }
.source-lesson--non-fire .source-main > .source-intro,
.source-lesson--non-fire .source-main > .source-cards,
.source-lesson--non-fire .source-main > .source-footer,
.source-lesson--non-fire .source-main > .source-note,
.source-lesson--non-fire .source-illustrated { margin-left: clamp(1.3rem, 4vw, 3rem); margin-right: clamp(1.3rem, 4vw, 3rem); }
.source-lesson--non-fire .source-card .source-number { background: #0b2545; }
.source-lesson--non-fire .source-cards { gap: .85rem; }
.source-illustrated { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: start; }
.source-illustrated-copy, .source-illustrations { min-width: 0; }
.source-illustrated--left { grid-template-columns: 1fr 1.2fr; }
.source-illustrated--left .source-illustrations { grid-column: 1; grid-row: 1; }
.source-illustrated--left .source-illustrated-copy { grid-column: 2; grid-row: 1; }
.source-illustrated--below { display: block; }
.source-illustrated-group { margin: 0 0 1.4rem; }
.source-illustrated-group:last-child { margin-bottom: 0; }
.source-illustrated-group h3, .source-subheading { margin: 0 0 .45rem; color: var(--source-ink); font-size: 1.05rem; line-height: 1.35; }
.source-illustrated-group p { margin: 0; }
/* Match the deck's grouped teaching points, including its red left edge. */
.source-lesson--non-fire .source-illustrated-group,
.source-lesson--non-fire .source-illustrated-copy .source-bullets > li {
  margin: 0 0 .85rem;
  padding: .85rem 1rem;
  background: #f2f5f9;
  border: 1px solid #d7dee8;
  border-left: 6px solid #c8102e;
}
.source-lesson--non-fire .source-illustrated-group:last-child,
.source-lesson--non-fire .source-illustrated-copy .source-bullets > li:last-child { margin-bottom: 0; }
.source-lesson--non-fire .source-illustrated-copy .source-bullets { list-style: none; padding: 0; margin: 1rem 0 0; }
.source-lesson--non-fire .source-illustrated-copy .source-bullets:first-child { margin-top: 0; }
.source-illustrations figure { margin: 0; }
.source-illustrations a { display: block; }
.source-illustrations img { display: block; max-width: 100%; width: 100%; height: auto; }
.source-image-crop { position: relative; overflow: hidden; width: 100%; }
.source-image-crop img { position: absolute; max-width: none; display: block; }
.source-image-crop.source-cover-crop { position: absolute; inset: 0; aspect-ratio: auto; }
.source-illustrations figcaption { margin-top: .7rem; color: var(--source-muted); font-size: .85rem; line-height: 1.5; white-space: pre-line; }
.source-illustrations--gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.source-illustrations--gallery img { height: 130px; object-fit: contain; }
.source-lesson--non-fire.source-lesson--cover { display: block; }
.source-lesson--non-fire.source-lesson--cover .source-main { position: relative; min-height: 440px; padding: clamp(1.5rem, 4vw, 3rem); display: flex; flex-direction: column; justify-content: center; background: linear-gradient(90deg, rgba(11,37,69,.95), rgba(11,37,69,.8) 55%, rgba(11,37,69,.25)); }
.source-lesson--non-fire.source-lesson--cover .source-heading { background: transparent; padding: 0; border: 0; }
.source-lesson--non-fire.source-lesson--cover .source-intro { color: #fff; margin: 0; max-width: 75%; }
.quiz-topic-heading { margin: 2rem 0 .5rem; color: #0b2545; }
@media (max-width: 900px) {
  .source-lesson--non-fire .source-cards--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .source-illustrated, .source-illustrated--left { display: flex; flex-direction: column; }
  .source-illustrations { width: 100%; }
  .source-illustrations--gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .source-lesson--non-fire .source-cards--4 { grid-template-columns: 1fr; }
  .source-lesson--non-fire.source-lesson--cover .source-intro { max-width: 100%; }
}

/* Psychological safety: readable groups and practical conversation examples. */
.lesson-section--psychological-safety h2,
.lesson-section--psychological-safety .lesson-block h3,
.lesson-section--psychological-safety .lesson-fact-grid dt { color: #153e4d; }
.lesson-section--psychological-safety .lesson-block-grid > .lesson-block {
  border: 1px solid #d9e3e6;
  border-left: 5px solid #245a67;
  background: #f3f7f8;
}
.lesson-section--psychological-safety .lesson-block-grid h3 { font-size: 1.1rem; }
.lesson-section--psychological-safety .lesson-block li { margin-bottom: .7rem; line-height: 1.55; }
.lesson-section--psychological-safety .lesson-block li:last-child { margin-bottom: 0; }
.lesson-section--psychological-safety .lesson-fact-grid > div,
.lesson-section--psychological-safety .lesson-scenario { border-top-color: #245a67; }
.lesson-section--psychological-safety .lesson-response-number,
.lesson-section--psychological-safety .lesson-journey-marker { background: #245a67; }
.lesson-section--psychological-safety .lesson-response-grid h3 { color: #153e4d; }
.lesson-section--psychological-safety .lesson-body > .lesson-takeaway { border-left-color: #245a67; background: #f3f7f8; }
.lesson-section--psychological-safety .lesson-journey strong { color: #153e4d; }
.lesson-section--psychological-safety .lesson-journey li:not(:last-child)::after { color: #245a67; }
.lesson-section--psychological-safety .lesson-scenario summary,
.lesson-section--psychological-safety .lesson-scenario h4 { color: #245a67; }
