/* Course pages explain a business decision beside a concrete scene. */
.course-page { --course-line:#dbe3d5; --course-tint:#f0f4eb; --course-muted:#6d7e64; color:var(--ink); }
.course-page .container { max-width:1220px; }
.course-page h1,.course-page h2,.course-page h3,.course-page h4 { font-weight:550; letter-spacing:-.025em; text-wrap:balance; }
.course-page h1 { color:var(--green); font-size:clamp(32px,3.25vw,46px); line-height:1.5; }
.course-page h2 { color:#254d3b; font-size:clamp(27px,2.6vw,35px); line-height:1.55; }
.course-page h3 { font-size:20px; line-height:1.6; }
.course-page p { line-height:1.95; }
.course-page .eyebrow { color:#778664; font-size:12px; letter-spacing:.08em; margin-bottom:18px; }
.course-page .text-link { font-size:14px; gap:9px; line-height:1.7; }
.course-page .text-link .icon { flex-shrink:0; width:17px; height:17px; }
.course-page .button { min-height:48px; font-size:15px; padding:11px 20px; gap:12px; }
.course-page .button .icon { width:18px; height:18px; }
.course-page [id] { scroll-margin-top:16px; }
.course-preserve-lines { white-space:pre-line; }
.course-anchor { position:absolute; top:0; }
.course-hero-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); align-items:center; gap:70px; padding-block:66px 72px; }
.course-overview-hero { padding-block:62px 70px; }
.course-name { font-size:16px; color:#52734b; margin-bottom:14px; letter-spacing:.06em; }
.course-overview-hero h1 { font-size:clamp(31px,3vw,42px); }
.course-hero-description { max-width:610px; font-size:16px; margin-top:22px; }
.course-hero-introduction { font-size:15px; margin-top:15px; }
.course-hero-copy .button-row { margin-top:28px; gap:22px; }
.course-page .course-hero-note { font-size:12px; color:#7a886d; margin-top:22px; }
.course-hero-guide-link { margin-top:25px; }
.course-story-section { border-top:1px solid #e3e8dd; padding-block:64px; }
.course-story-section.is-reversed { background:#f8faf4; }
.course-story-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:80px; }
.course-story-copy { min-width:0; }
.course-story-copy h2 { margin-bottom:22px; }
.course-story-copy>p { font-size:15px; max-width:550px; }
.course-story-copy>p+p { margin-top:16px; }
.course-story-links { display:flex; align-items:flex-start; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.course-page .course-story-note { color:#718065; font-size:12px; margin-top:18px; }
.course-story-section.is-reversed .course-story-copy { order:2; }
.course-story-section.is-reversed .course-scene { order:1; }
/* Shared scenery surface; the content within it follows the business scene. */
.course-scene { min-width:0; position:relative; padding:29px; background:#eef3e8; border:1px solid #d9e2d0; border-radius:16px; }
.scene-heading { display:flex; gap:9px; align-items:center; color:#5b7555; font-size:12px; line-height:1.75; margin-bottom:24px; }
.scene-status-dot { width:6px; height:6px; border-radius:50%; background:#8ca57a; flex-shrink:0; }
.course-scene h3 { font-size:17px; line-height:1.6; }
.course-scene .scene-note { color:#7c886f; font-size:10px; margin-top:21px; line-height:1.6; }
.scene-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:5px; border:1px solid #d7e0cb; background:#e5edda; border-radius:9px; margin-bottom:21px; }
.scene-tabs a { flex:1; min-width:0; padding:8px 7px; text-align:center; font-size:12px; color:#57754b; border-radius:6px; line-height:1.65; }
.scene-tabs a:hover { background:#f8fbf1; }
.scene-tabs a[aria-selected="true"] { background:#fff; color:#174d39; box-shadow:0 2px 5px #253e1810; }
.scene-tabs a:focus-visible { outline:2px solid #6e8f58; outline-offset:3px; }
.scene-panel+.scene-panel { margin-top:26px; border-top:1px solid #cbd9bf; padding-top:26px; }
.scene-switcher.is-enhanced .scene-panel { margin:0; padding:0; border:0; }
.scene-switcher.is-enhanced .scene-panel[hidden] { display:none; }
.scene-situation>span { color:#8c794c; font-size:10px; }
.scene-situation h3 { color:#2a593f; margin-top:5px; }
.scene-situation>p { color:#6c7d61; font-size:12px; margin-top:7px; }
.scene-chat { padding-block:20px 17px; display:flex; flex-direction:column; gap:15px; }
.scene-chat-line { display:flex; align-items:flex-start; gap:10px; }
.scene-chat-line>p { max-width:82%; color:#43583c; background:white; border:1px solid #dce5d3; border-radius:3px 12px 12px 12px; padding:13px 15px; font-size:14px; line-height:1.75; }
.scene-chat-line.is-business { justify-content:flex-end; }
.scene-chat-line.is-business>p { background:#dbe8cd; border-color:#c9dcbc; border-radius:12px 3px 12px 12px; }
.scene-person { display:flex; align-items:center; justify-content:center; width:30px; height:30px; flex-shrink:0; border-radius:9px; color:#688157; background:#dce6cf; font-size:12px; margin-top:2px; }
.is-business .scene-person { background:#2c6046; color:#e9f0e0; }
.scene-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; border-top:1px solid #d1dec5; padding-top:17px; }
.scene-facts dt { font-size:10px; color:#839270; }
.scene-facts dd { margin:5px 0 0; font-size:12px; line-height:1.75; color:#446739; }
.scene-consideration-message { display:flex; align-items:flex-start; gap:12px; margin-bottom:22px; }
.scene-consideration-message>p { background:#fff; border:1px solid #d6e0cb; border-radius:3px 12px 12px 12px; color:#42643c; padding:16px 20px; font-size:16px; }
.scene-consideration-paper { border:1px solid #d2dec5; background:#fafcf5; border-radius:9px; padding:23px; }
.scene-consideration-paper>span { font-size:10px; color:#8d8055; }
.scene-consideration-paper ol { list-style:none; padding:0; margin:17px 0; }
.scene-consideration-paper li { display:flex; align-items:baseline; gap:15px; padding-block:13px; border-bottom:1px solid #e0e8d6; }
.scene-consideration-paper li>span { font-size:10px; color:#8e9c7c; min-width:35px; }
.scene-consideration-paper li>strong { font-size:14px; color:#4a6840; font-weight:400; line-height:1.85; }
.scene-consideration-paper>div { font-size:11px; color:#7f8e70; line-height:1.8; }
.scene-service-slip { position:relative; background:#fff; border:1px solid #d7e2cc; padding:18px 23px; display:flex; gap:17px; align-items:center; border-radius:7px; box-shadow:0 5px 0 #e3ebdb; }
.scene-service-slip>span:first-child { font-size:12px; color:#6f8064; }
.scene-service-slip>strong { font-size:17px; font-weight:500; color:#345d40; }
.scene-slip-check { margin-left:auto; display:flex; color:#698b50; }
.scene-slip-check .icon { width:22px; height:22px; }
.scene-contact-record { border:1px dashed #b8cbaa; background:#f8fbf2; border-radius:7px; padding:17px 21px; }
.scene-contact-record>span { font-size:10px; color:#8a774f; }
.scene-contact-record strong { display:block; font-size:15px; color:#416339; font-weight:500; margin-top:4px; }
.scene-contact-record p { color:#738269; font-size:11px; margin-top:8px; }
.scene-relationship { background:#174e40; color:#f0f1e7; border-color:#3e6e51; border-radius:4px 25px 4px 4px; box-shadow:10px 10px 0 #dce5d5; }
.scene-relationship .scene-heading { color:#c1d0b7; border-bottom:1px solid #cbd8b733; padding-bottom:21px; }
.scene-relationship .scene-status-dot { background:#d8c287; }
.scene-relationship-flow { display:flex; flex-direction:column; gap:28px; }
.scene-relationship-stop { display:flex; align-items:center; gap:20px; position:relative; }
.scene-relationship-stop:not(:last-child)::after { content:''; position:absolute; left:24px; top:50px; width:1px; height:28px; background:#789b70; }
.scene-round-label { width:50px; height:50px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:1px solid #a9be8466; border-radius:50%; color:#e3cf99; font-size:13px; }
.scene-relationship-stop strong { font-size:17px; font-weight:500; line-height:1.65; }
.scene-relationship-stop p { color:#bdcfb3; font-size:12px; margin-top:5px; }
.scene-relationship-end { margin-top:27px; border-top:1px solid #cbd8b733; padding-top:20px; }
.scene-relationship-end span { display:block; font-size:10px; color:#bed0b0; margin-bottom:7px; }
.scene-relationship-end strong { font-weight:400; font-size:14px; line-height:1.9; color:#e2cf9e; }
.scene-relationship .scene-note { color:#9bb78d; }
.scene-feed-window { border:1px solid #d9e1d2; background:#fff; box-shadow:0 10px 25px #3653210a; border-radius:12px; overflow:hidden; }
.scene-feed-header { display:flex; align-items:center; gap:14px; background:#f5f7f0; border-bottom:1px solid #e5eade; padding:20px; }
.scene-profile-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; color:#4d7250; background:#e3ebd9; border-radius:10px; }
.scene-profile-icon .icon { width:23px; height:23px; }
.scene-feed-header strong { display:block; font-size:13px; font-weight:500; color:#3d613a; }
.scene-feed-header>div>span { display:block; font-size:10px; color:#8c957e; margin-top:6px; }
.scene-feed-item { display:flex; align-items:center; gap:14px; padding:20px; position:relative; }
.scene-feed-item+.scene-feed-item { border-top:1px solid #e7eddf; }
.scene-feed-index { align-self:flex-start; flex-shrink:0; background:#eef3e7; color:#7b8356; font-size:10px; line-height:1.5; padding:5px 6px; border-radius:3px; }
.scene-feed-item h3 { color:#345a35; font-size:14px; }
.scene-feed-item p { font-size:11px; color:#7e8a71; margin-top:6px; }
.scene-feed-arrow { margin-left:auto; font-size:21px; color:#8a9d76; }
.scene-feed-foot { padding:13px 20px; border-top:1px solid #e7eddf; font-size:10px; color:#8d967d; }
.scene-identity-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; }
.scene-identity-front { background:white; border:1px solid #d7e2ca; border-radius:10px; padding:20px 15px; text-align:center; }
.scene-card-kicker { display:block; font-size:10px; letter-spacing:.05em; color:#89764d; }
.scene-identity-avatar { display:flex; align-items:center; justify-content:center; background:#e8f0de; color:#547841; width:58px; height:58px; border-radius:14px; margin:23px auto 17px; }
.scene-identity-avatar .icon { width:29px; height:29px; }
.scene-identity-front strong { font-size:14px; font-weight:500; line-height:1.8; color:#355b3b; }
.scene-identity-front p { font-size:11px; color:#7c8970; margin-top:9px; }
.scene-identity-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:20px; }
.scene-identity-tags span { font-size:10px; color:#6d8456; background:#f0f4e9; padding:4px 7px; border-radius:4px; }
.scene-identity-back { background:#f7f9f0; border:1px solid #cfddbf; border-radius:10px; padding:20px 16px; margin-top:30px; }
.scene-identity-back dl { margin-top:17px; }
.scene-identity-back dl>div { padding-block:11px; border-bottom:1px solid #dce6d0; }
.scene-identity-back dt { font-size:10px; color:#8c957c; }
.scene-identity-back dd { font-size:12px; color:#48623e; margin:6px 0 0; line-height:1.8; }
.scene-identity-back p { font-size:10px; color:#7a8a66; margin-top:14px; }
.scene-identity-summary { text-align:center; font-size:12px; letter-spacing:.13em; color:#637f50; margin-top:23px; }
.scene-welcome-path>div { display:flex; gap:18px; align-items:flex-start; position:relative; }
.scene-welcome-path>div+div { margin-top:22px; }
.scene-welcome-path>div:not(:last-child)::after { content:''; position:absolute; left:17px; top:36px; bottom:-22px; border-left:1px solid #b8cfa7; }
.scene-route-dot { display:flex; align-items:center; justify-content:center; width:35px; height:35px; border:1px solid #c4d5b6; border-radius:50%; font-size:10px; color:#7d8c57; flex-shrink:0; }
.scene-welcome-path article { background:#fff; border:1px solid #dbe4d0; border-radius:9px; padding:17px 19px; flex:1; }
.scene-welcome-path article>span { color:#8c7a50; font-size:10px; }
.scene-welcome-path h3 { font-size:15px; color:#3a603d; margin-top:5px; }
.scene-welcome-path p { font-size:12px; color:#7c8a6d; margin-top:7px; }
.scene-proof-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:17px; gap:15px; }
.scene-proof-label span { color:#768661; font-size:11px; }
.scene-proof-label strong { color:#355e3a; font-weight:500; font-size:22px; }
.scene-photo-note { position:relative; background:#dfe9d2; border:1px solid #c6d7b4; border-radius:9px; padding:30px 26px; text-align:center; }
.scene-photo-note>.icon { display:block; width:31px; height:31px; color:#6b8957; margin:0 auto 13px; }
.scene-photo-note>span { display:block; font-size:10px; color:#7d905f; }
.scene-photo-note p { font-size:16px; font-weight:500; line-height:1.75; color:#40623c; margin-top:10px; }
.scene-caption-draft { background:white; border:1px solid #d8e3ce; border-radius:8px; padding:17px 20px; margin-top:14px; }
.scene-caption-draft span { font-size:10px; color:#8c7b55; }
.scene-caption-draft p { font-size:13px; color:#45603f; margin-top:7px; }
.scene-proof-explain { font-size:12px; color:#7a866d; margin-top:17px; }
.scene-calendar-inputs { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.scene-calendar-inputs>div { padding:20px 17px; border:1px solid #d4dfc6; border-radius:9px; background:#fff; }
.scene-calendar-inputs>div+div { background:#f8f6ed; border-color:#e0dbbf; }
.scene-calendar-inputs>div>span { font-size:10px; color:#8a7b4b; }
.scene-calendar-inputs h3 { font-size:15px; color:#405f3c; margin-top:8px; }
.scene-calendar-inputs p { font-size:11px; color:#7d8b6d; margin-top:8px; }
.scene-calendar-merge { text-align:center; font-size:27px; letter-spacing:.8em; color:#91a579; margin-block:10px; padding-left:.8em; }
.scene-week { border:1px solid #c7d8b9; background:#fbfdf7; border-radius:10px; padding:20px 22px; text-align:center; }
.scene-week>strong { font-size:15px; color:#49663b; font-weight:500; }
.scene-week-days { display:grid; grid-template-columns:repeat(7,1fr); gap:7px; margin-block:17px 12px; }
.scene-week-days span { padding:9px 3px; border:1px solid #e1e8d8; border-radius:5px; font-size:11px; color:#9da58f; }
.scene-week-days .has-content { background:#dce8cc; color:#617b4f; border-color:#c2d6ab; }
.scene-week p { font-size:11px; color:#849173; }
.scene-calendar-event { border-top:1px solid #d0dfc2; padding-top:17px; margin-top:21px; }
.scene-calendar-event>span { font-size:10px; color:#8a7b52; }
.scene-calendar-event p { font-size:12px; color:#6e805e; margin-top:7px; }
.scene-calendar-event i { font-style:normal; color:#a4b491; padding-inline:10px; }
.scene-question-stack { display:flex; flex-wrap:wrap; gap:9px; justify-content:center; padding:2px 0 25px; }
.scene-question-stack span { background:white; border:1px solid #d7e0cb; border-radius:10px 10px 10px 2px; font-size:12px; padding:9px 15px; color:#647c56; }
.scene-question-stack span:nth-child(2) { transform:translateY(-7px); }
.scene-handoff-columns { display:grid; grid-template-columns:1fr 1fr; gap:17px; }
.scene-handoff-columns>div { min-width:0; padding:23px 18px; border:1px solid #cddcbe; border-radius:10px; background:#fbfdf6; }
.scene-handoff-columns>div+div { background:#f8f6ed; border-color:#ded6b9; }
.scene-handoff-icon { display:flex; width:38px; height:38px; background:#e5edda; color:#65834d; align-items:center; justify-content:center; border-radius:9px; margin-bottom:17px; }
.scene-handoff-columns>div+div .scene-handoff-icon { background:#eae4d2; color:#9d8a5e; }
.scene-handoff-icon .icon { width:20px; height:20px; }
.scene-handoff-columns>div>span:not(.scene-handoff-icon) { display:block; font-size:10px; color:#8e936f; }
.scene-handoff-columns h3 { font-size:16px; color:#385d37; margin-top:7px; line-height:1.8; }
.scene-handoff-columns p { color:#7d876c; font-size:12px; margin-top:12px; }
.scene-handoff-end { text-align:center; color:#718663; font-size:12px; border-top:1px solid #cfddc0; margin-top:23px; padding-top:19px; }
.scene-hall-question { text-align:center; margin-bottom:20px; }
.scene-hall-question span { color:#82916f; font-size:11px; }
.scene-hall-question p { font-size:19px; color:#375e3b; font-weight:500; margin-top:8px; line-height:1.7; }
.scene-mini-page { margin-inline:auto; max-width:360px; border:1px solid #c5d5b5; border-radius:14px; background:#fff; overflow:hidden; box-shadow:0 8px 18px #4c703211; }
.scene-mini-page-top { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e3e9d9; padding:15px 20px; }
.scene-mini-page-top strong { font-size:14px; color:#43653c; font-weight:500; }
.scene-mini-page-top>span { color:#8c987f; font-size:11px; border:1px solid #e0e6d7; border-radius:13px; padding:2px 6px; }
.scene-mini-page-content { padding:18px 20px 22px; }
.scene-mini-page-content>p { font-size:12px; color:#6d805f; }
.scene-mini-page-content ol { padding:0; list-style:none; margin-block:18px; }
.scene-mini-page-content li { display:flex; align-items:center; gap:12px; border:1px solid #e3e9da; padding:11px 12px; color:#5b764c; font-size:12px; background:#f8faf5; border-radius:5px; }
.scene-mini-page-content li+li { margin-top:8px; }
.scene-mini-page-content li>span { font-size:9px; color:#a49b74; }
.scene-mini-action { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 15px; background:#e7f0db; border:1px solid #d3e2c1; color:#547347; font-size:11px; border-radius:6px; }
.scene-mini-action .icon { width:15px; height:15px; flex-shrink:0; }
.scene-next-post { padding:23px; background:white; border:1px solid #d4dfc9; border-radius:11px; max-width:365px; margin-right:auto; }
.scene-next-post>span,.scene-next-page>span { color:#927e51; font-size:10px; }
.scene-next-post h3,.scene-next-page h3 { color:#3e643e; font-size:17px; margin-top:8px; }
.scene-next-post p { font-size:11px; color:#8a957c; }
.scene-post-lines { display:flex; flex-direction:column; gap:6px; margin-block:17px; }
.scene-post-lines i { display:block; height:6px; background:#eef2e8; border-radius:3px; }
.scene-post-lines i:nth-child(2) { width:86%; } .scene-post-lines i:nth-child(3) { width:63%; }
.scene-next-arrow { font-size:26px; color:#99ad83; margin:10px 55px; }
.scene-next-page { margin-left:40px; padding:22px; background:#fbfdf6; border:1px solid #bfd1ac; border-radius:10px; }
.scene-next-page p { font-size:12px; color:#80926e; margin-top:8px; }
.scene-next-page>div { display:flex; justify-content:space-between; gap:8px; border-top:1px solid #dae4cf; padding-top:13px; margin-top:16px; font-size:11px; color:#65824e; }
.scene-next-page>div>span { display:flex; gap:6px; align-items:center; }
.scene-next-page .icon { width:14px; height:14px; }
.scene-variable-chat { background:white; border:1px solid #d4e0c6; border-radius:12px 12px 12px 2px; padding:17px 22px; color:#6c805a; font-size:14px; max-width:300px; margin-bottom:27px; }
.scene-variable-card { position:relative; background:#20573f; color:#eef1df; text-align:center; padding:25px 20px; border:1px solid #487353; border-radius:9px; }
.scene-variable-card::before { content:'↓'; position:absolute; top:-26px; left:50%; color:#8a9f77; font-size:20px; }
.scene-variable-card>span { color:#c6c396; font-size:10px; }
.scene-variable-card strong { display:block; font-size:24px; font-weight:500; margin-top:7px; }
.scene-variable-card p { color:#b2c5a1; font-size:11px; margin-top:9px; }
.scene-variable-outputs { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; padding-top:25px; position:relative; }
.scene-variable-outputs::before { content:''; position:absolute; height:25px; top:0; left:50%; border-left:1px solid #bfd0ae; }
.scene-variable-outputs>span { background:#fafcf5; border:1px solid #d3dfc5; color:#72875e; font-size:12px; padding:12px 13px; border-radius:6px; }
.scene-workbench-papers { display:flex; flex-direction:column; gap:14px; }
.scene-workbench-paper { padding:19px 22px; background:white; border:1px solid #d7e1ca; border-radius:7px; box-shadow:3px 3px 0 #e3ebd8; }
.scene-workbench-paper:nth-child(2) { margin-left:25px; }
.scene-workbench-paper:nth-child(3) { margin-left:45px; }
.scene-workbench-paper>span { font-size:10px; color:#9c895a; }
.scene-workbench-paper h3 { font-size:16px; color:#41633c; margin-top:6px; }
.scene-workbench-paper p { font-size:12px; color:#7d8c6b; margin-top:7px; }
.scene-paper-lines { display:flex; gap:6px; margin-top:11px; }
.scene-paper-lines i { display:block; width:60%; height:3px; border-radius:2px; background:#edf1e6; }
.scene-paper-lines i+i { width:25%; }
.scene-choice-scale { background:#e1ebd4; border:1px solid #c5d8b1; text-align:center; border-radius:8px; padding:19px; color:#5d7b48; font-size:13px; }
.scene-choice-options { display:grid; grid-template-columns:1fr 1fr; gap:17px; margin-top:23px; }
.scene-choice-options>div { position:relative; border:1px solid #d1dfc2; background:white; padding:22px 18px; border-radius:8px; }
.scene-choice-options>div>span { color:#b0a271; font-size:10px; }
.scene-choice-options p { color:#869372; font-size:11px; margin-top:13px; }
.scene-choice-options h3 { color:#3c633a; font-size:17px; margin-top:9px; }
.scene-choice-options small { display:block; color:#8a967a; font-size:11px; line-height:1.85; margin-top:12px; }
.scene-priority-route>div { display:flex; gap:18px; align-items:flex-start; background:#fff; border:1px solid #d5e1c8; border-radius:10px; padding:18px 21px; }
.scene-priority-route>div+div { margin-top:14px; }
.scene-priority-route>div>span { color:#a99765; font-size:11px; padding-top:2px; }
.scene-priority-route small { font-size:10px; color:#8c987b; }
.scene-priority-route h3 { font-size:16px; color:#41663d; margin-top:5px; }
.scene-priority-route p { font-size:12px; color:#7e8c6e; margin-top:7px; }
.scene-output { padding:19px; background:#eef3e8; }
.scene-output-link { display:block; background:white; border:1px solid #d8e1cd; border-radius:8px; overflow:hidden; }
.scene-output-heading { padding:20px 21px; }
.scene-output-heading>span { display:block; color:#8d977b; font-size:10px; }
.scene-output-heading strong { display:block; color:#3b613a; font-size:18px; margin-top:8px; font-weight:500; }
.scene-output img { display:block; width:100%; height:auto; }
.scene-output-action { display:flex; justify-content:space-between; align-items:center; padding:19px 21px; font-size:12px; color:#65824e; }
.scene-output-action .icon { width:17px; height:17px; }
.scene-output-link:hover { border-color:#9fb58a; }
/* Compact physical outputs and directories follow the explanation. */
.course-proof-section { padding-block:42px 50px; }
.course-proof-heading { display:flex; justify-content:space-between; align-items:baseline; gap:30px; margin-bottom:25px; }
.course-proof-heading h2 { font-size:23px; }
.course-proof-heading p { font-size:12px; color:#80906e; }
.course-proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.course-proof-grid a { display:block; min-width:0; border:1px solid #d8e2ce; border-radius:8px; overflow:hidden; background:white; }
.course-proof-grid a>div { aspect-ratio:2; background:#eff3e9; padding:8px; }
.course-proof-grid img { width:100%; height:100%; object-fit:contain; display:block; }
.course-proof-grid a>span { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 18px; font-size:13px; color:#486b3b; }
.course-proof-grid .icon { width:16px; height:16px; }
.course-proof-grid a:hover { border-color:#9bb38a; }
.course-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:55px; margin-bottom:30px; }
.course-section-heading>div { flex:1; min-width:0; }
.course-section-heading>p { max-width:410px; font-size:14px; }
.course-curriculum { border-top:1px solid var(--course-line); padding-block:43px 0; }
.course-curriculum .course-section-heading h2 { font-size:27px; }
.course-chapter-list { border-top:1px solid #c4d3b9; }
.course-chapter-row { position:relative; display:grid; grid-template-columns:40px minmax(0,1fr) 185px 95px; align-items:center; gap:23px; padding-block:20px; border-bottom:1px solid #e0e7d7; }
.course-chapter-number { color:#9bab8b; font-size:20px; }
.course-chapter-row h3 { color:#3d6436; font-size:19px; }
.course-chapter-format { color:#899575; font-size:11px; }
.course-chapter-row .text-link { font-size:12px; }
.course-closing { display:flex; justify-content:space-between; align-items:center; gap:40px; padding-block:30px 52px; }
.course-closing h2 { font-size:23px; }
.course-closing p { font-size:14px; margin-top:9px; }
.course-closing .button { flex-shrink:0; }
.course-lesson-section { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; border-top:1px solid var(--course-line); padding-block:43px; }
.course-lesson-section h2 { font-size:25px; }
.course-lesson-related { display:flex; flex-direction:column; align-items:flex-start; gap:13px; margin-top:24px; }
.course-lesson-related .text-link { font-size:12px; }
.course-lesson-list { list-style:none; counter-reset:course-lessons; margin:0; padding:0; border-top:1px solid #c5d4bb; }
.course-lesson-list li { counter-increment:course-lessons; display:flex; align-items:baseline; gap:18px; font-size:14px; line-height:1.9; padding-block:12px; border-bottom:1px solid #e0e7d6; }
.course-lesson-list li::before { content:counter(course-lessons,decimal-leading-zero); font-size:10px; color:#91a17e; flex-shrink:0; }
.course-page-turn { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:25px; border-top:1px solid var(--course-line); padding-block:26px 38px; }
.course-turn-link>span { display:block; color:#77876b; font-size:11px; margin-bottom:5px; }
.course-turn-link strong { font-size:14px; font-weight:500; color:#38644b; }
.course-turn-link .icon { width:16px; height:16px; margin-left:6px; }
.course-turn-next { text-align:right; }
.course-return { display:flex; align-items:center; gap:7px; color:#6e835f; font-size:12px; }
.course-return .icon { width:14px; height:14px; }
/* Chapter four: introduction and compact video, then the three guide entries. */
.course-delivery-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,560px); align-items:center; gap:58px; padding-block:55px 58px; }
.course-delivery-hero h1 { font-size:clamp(31px,3vw,40px); }
.course-detail-introduction { font-size:15px; margin-top:20px; }
.course-detail-introduction+.course-detail-introduction { margin-top:14px; }
.course-video-section { width:100%; max-width:560px; min-width:0; justify-self:end; }
.course-video-frame { border-radius:8px; overflow:hidden; background:#163c34; }
.course-video-frame video { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#183d35; }
.course-video-caption { font-size:13px; margin-top:13px; color:#5e7458; }
.course-video-demo { font-size:12px; margin-top:5px; color:#788467; }
.course-video-status { font-size:14px; margin-top:14px; }
.course-video-status a { color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.course-video-status button { margin-left:12px; border:1px solid #c8d8ca; background:#fff; color:var(--green); border-radius:5px; padding:7px 12px; font-size:13px; }
.course-guides-section { position:relative; padding-block:44px; background:#fdfef9; border-block:1px solid #dfe7d7; }
.course-guides-section h2 { font-size:30px; }
.course-guide-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.course-guide-card { min-width:0; display:flex; flex-direction:column; border:1px solid #b9cdb2; border-radius:9px; padding:26px; background:#eef5e8; }
.course-guide-card.is-pending { border-color:#dfe5d7; background:#fff; }
.course-guide-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.course-outcome-icon { display:inline-flex; width:37px; height:37px; align-items:center; justify-content:center; background:#e1ecda; color:var(--green); border-radius:7px; }
.course-outcome-icon .icon { width:20px; height:20px; }
.course-guide-number { color:#809270; font-size:12px; }
.course-guide-card h3 { color:var(--green); font-size:20px; margin-bottom:12px; }
.course-guide-card p { font-size:14px; }
.course-guide-action { margin-top:auto; padding-top:22px; }
.course-pending-label { display:inline-block; padding:3px 11px; border-radius:20px; font-size:12px; color:#6d7d5f; background:#f0f3eb; }
.course-recommended-order { display:flex; align-items:baseline; gap:18px; padding-block:23px; border-bottom:1px solid var(--course-line); font-size:13px; }
.course-recommended-order strong { flex-shrink:0; font-size:12px; font-weight:500; color:var(--green); }
.course-guide-footer { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; margin-top:19px; }
.course-page .course-delivery-note { max-width:650px; font-size:12px; color:#738467; }
.course-inline-links { display:flex; flex-direction:column; align-items:flex-start; gap:11px; flex-shrink:0; }
.course-inline-links .text-link { font-size:12px; }
@media (max-width:1100px) {
 .course-hero-layout { gap:45px; } .course-story-layout { gap:45px; }
 .course-scene { padding:23px; }
 .course-overview-hero h1 { font-size:35px; }
 .course-page h1 { font-size:37px; }
 .course-page h2 { font-size:30px; }
 .scene-identity-pair { gap:10px; } .scene-identity-front { padding-inline:12px; } .scene-identity-back { padding-inline:13px; }
 .scene-handoff-columns { gap:12px; } .scene-handoff-columns>div { padding:20px 16px; }
 .course-section-heading { gap:35px; }
 .course-delivery-hero { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:35px; }
 .course-delivery-hero h1 { font-size:33px; }
 .course-guide-card { padding:22px; } .course-guide-card h3 { font-size:18px; }
}
@media (max-width:899px) {
 .course-hero-layout { grid-template-columns:1fr; padding-block:40px 45px; gap:32px; }
 .course-hero-layout>.course-scene { width:100%; max-width:620px; justify-self:center; }
 .course-hero-description { max-width:none; }
 .course-story-layout { grid-template-columns:1fr; gap:30px; }
 .course-story-section { padding-block:44px; }
 .course-story-section.is-reversed .course-story-copy,.course-story-section.is-reversed .course-scene { order:initial; }
 .course-story-copy>p { max-width:none; }
 .course-story-layout>.course-scene { width:100%; max-width:620px; justify-self:center; }
 .course-story-copy h2 { margin-bottom:18px; }
 .course-delivery-hero { grid-template-columns:1fr; gap:28px; padding-block:40px 44px; }
 .course-video-section { justify-self:start; }
 .course-lesson-section { gap:40px; }
 .course-proof-heading { display:block; } .course-proof-heading p { margin-top:9px; }
}
@media (max-width:760px) {
 .course-page .container { width:calc(100% - 40px); }
 .course-page h1,.course-overview-hero h1,.course-delivery-hero h1 { font-size:31px; }
 .course-page h2 { font-size:27px; }
 .course-page .eyebrow { font-size:11px; margin-bottom:15px; }
 .course-page .text-link { font-size:13px; }
 .course-page .button { min-height:45px; padding:10px 17px; font-size:14px; }
 .course-hero-layout { padding-block:31px 36px; gap:28px; }
 .course-name { font-size:14px; margin-bottom:12px; }
 .course-hero-description { font-size:15px; margin-top:19px; }
 .course-hero-introduction { font-size:14px; margin-top:13px; }
 .course-hero-copy .button-row { gap:15px; margin-top:23px; }
 .course-hero-guide-link { margin-top:20px; }
 .course-page .course-hero-note { font-size:11px; margin-top:17px; }
 .course-story-section { padding-block:35px; }
 .course-story-layout { gap:25px; }
 .course-story-copy>p { font-size:14px; }
 .course-story-copy>p+p { margin-top:14px; }
 .course-story-links { gap:10px 18px; margin-top:19px; }
 .course-story-links .text-link { font-size:12px; }
 .course-page .course-story-note { font-size:11px; }
 .course-scene { padding:20px; border-radius:12px; }
 .scene-heading { font-size:11px; margin-bottom:20px; gap:7px; }
 .course-scene .scene-note { font-size:10px; margin-top:18px; }
 .scene-relationship { box-shadow:6px 6px 0 #dce5d5; border-radius:3px 18px 3px 3px; }
 .scene-relationship-flow { gap:24px; }
 .scene-relationship-stop { gap:16px; }
 .scene-round-label { width:43px; height:43px; font-size:12px; }
 .scene-relationship-stop:not(:last-child)::after { left:21px; top:44px; height:24px; }
 .scene-relationship-stop strong { font-size:15px; }
 .scene-relationship-stop p { font-size:11px; }
 .scene-relationship-end { margin-top:23px; padding-top:17px; }
 .scene-relationship-end strong { font-size:13px; }
 .scene-service-slip { padding:15px 17px; }
 .scene-chat { padding-block:18px 15px; gap:12px; }
 .scene-person { width:27px; height:27px; font-size:11px; }
 .scene-chat-line { gap:8px; }
 .scene-chat-line>p { padding:11px 13px; font-size:13px; }
 .scene-contact-record { padding:15px 17px; }
 .scene-contact-record p { font-size:10px; }
 .scene-tabs { gap:3px; padding:4px; }
 .scene-tabs a { font-size:11px; padding:7px 5px; }
 .scene-situation h3 { font-size:17px; }
 .scene-situation>p { font-size:12px; }
 .scene-facts { gap:12px; }
 .scene-facts dd { font-size:11px; }
 .scene-feed-header { padding:17px; gap:11px; }
 .scene-profile-icon { width:38px; height:38px; }
 .scene-feed-header strong { font-size:12px; }
 .scene-feed-header>div>span { font-size:9px; }
 .scene-feed-item { padding:17px; gap:10px; }
 .scene-feed-index { font-size:9px; padding:4px 5px; }
 .scene-feed-item h3 { font-size:13px; }
 .scene-feed-item p { font-size:10px; }
 .scene-feed-foot { font-size:9px; padding:12px 17px; }
 .scene-identity-pair { gap:10px; }
 .scene-identity-front { padding:17px 10px; }
 .scene-identity-avatar { width:46px; height:46px; margin-block:19px 14px; }
 .scene-identity-front strong { font-size:12px; }
 .scene-identity-front p { font-size:10px; }
 .scene-identity-tags { gap:4px; margin-top:15px; }
 .scene-identity-tags span { font-size:9px; padding:3px 5px; }
 .scene-identity-back { padding:17px 12px; margin-top:26px; }
 .scene-identity-back dd { font-size:11px; }
 .scene-identity-back dt,.scene-identity-back p { font-size:9px; }
 .scene-identity-summary { font-size:11px; margin-top:19px; }
 .scene-welcome-path>div { gap:12px; }
 .scene-route-dot { width:29px; height:29px; font-size:9px; }
 .scene-welcome-path>div:not(:last-child)::after { left:14px; top:30px; }
 .scene-welcome-path article { padding:15px; }
 .scene-welcome-path h3 { font-size:14px; }
 .scene-welcome-path p { font-size:11px; }
 .scene-proof-label strong { font-size:20px; }
 .scene-photo-note { padding:25px 20px; }
 .scene-photo-note p { font-size:15px; }
 .scene-caption-draft { padding:16px; }
 .scene-caption-draft p { font-size:12px; }
 .scene-proof-explain { font-size:11px; }
 .scene-calendar-inputs { gap:11px; }
 .scene-calendar-inputs>div { padding:16px 13px; }
 .scene-calendar-inputs h3 { font-size:14px; }
 .scene-calendar-inputs p { font-size:10px; }
 .scene-week { padding:18px 16px; }
 .scene-week-days { gap:5px; }
 .scene-week-days span { font-size:10px; }
 .scene-calendar-event p { font-size:11px; }
 .scene-calendar-event i { padding-inline:6px; }
 .scene-question-stack { gap:8px; padding-bottom:21px; }
 .scene-question-stack span { font-size:11px; padding:8px 10px; }
 .scene-handoff-columns { gap:11px; }
 .scene-handoff-columns>div { padding:18px 13px; }
 .scene-handoff-columns h3 { font-size:14px; }
 .scene-handoff-columns p { font-size:11px; }
 .scene-handoff-columns>div>span:not(.scene-handoff-icon) { font-size:9px; }
 .scene-handoff-end { font-size:11px; margin-top:18px; padding-top:17px; }
 .scene-hall-question p { font-size:17px; }
 .scene-hall-question span { font-size:10px; }
 .scene-mini-page-content { padding:17px 16px 20px; }
 .scene-mini-page-content li { font-size:11px; gap:9px; }
 .scene-mini-action { font-size:10px; }
 .scene-next-post { padding:19px; }
 .scene-next-post h3,.scene-next-page h3 { font-size:16px; }
 .scene-next-page { margin-left:25px; padding:19px; }
 .scene-next-page p { font-size:11px; }
 .scene-variable-chat { font-size:13px; padding:15px 18px; }
 .scene-variable-card strong { font-size:23px; }
 .scene-variable-card p { font-size:10px; }
 .scene-variable-outputs { gap:7px; }
 .scene-variable-outputs>span { font-size:11px; padding:10px; }
 .scene-workbench-paper { padding:17px; }
 .scene-workbench-paper:nth-child(2) { margin-left:15px; }
 .scene-workbench-paper:nth-child(3) { margin-left:28px; }
 .scene-workbench-paper h3 { font-size:15px; }
 .scene-workbench-paper p { font-size:11px; }
 .scene-choice-scale { font-size:12px; padding:16px; }
 .scene-choice-options { gap:11px; margin-top:18px; }
 .scene-choice-options>div { padding:17px 13px; }
 .scene-choice-options h3 { font-size:15px; }
 .scene-choice-options p,.scene-choice-options small { font-size:10px; }
 .scene-priority-route>div { padding:16px 17px; gap:14px; }
 .scene-priority-route h3 { font-size:15px; }
 .scene-priority-route p { font-size:11px; }
 .scene-output { padding:15px; }
 .scene-output-heading { padding:17px 18px; }
 .scene-output-heading strong { font-size:17px; }
 .scene-output-action { padding:16px 18px; font-size:11px; }
 .course-proof-section { padding-block:31px 36px; }
 .course-proof-heading h2 { font-size:23px; }
 .course-proof-heading p { font-size:11px; }
 .course-proof-grid { grid-template-columns:1fr; gap:16px; }
 .course-proof-grid a { display:grid; grid-template-columns:42% minmax(0,1fr); align-items:center; }
 .course-proof-grid a>div { aspect-ratio:1.7; padding:5px; }
 .course-proof-grid a>span { font-size:12px; padding:15px; }
 .course-section-heading { display:block; margin-bottom:24px; }
 .course-section-heading>p { margin-top:13px; font-size:13px; max-width:none; }
 .course-curriculum { padding-top:32px; }
 .course-curriculum .course-section-heading h2 { font-size:25px; }
 .course-chapter-row { grid-template-columns:28px minmax(0,1fr) auto; gap:8px 11px; padding-block:18px; }
 .course-chapter-number { font-size:18px; }
 .course-chapter-row h3 { grid-column:2/4; font-size:19px; }
 .course-chapter-format { grid-column:2; font-size:10px; }
 .course-chapter-row .text-link { font-size:11px; }
 .course-closing { display:block; padding-block:27px 37px; }
 .course-closing h2 { font-size:23px; }
 .course-closing p { font-size:13px; }
 .course-closing .button { margin-top:20px; }
 .course-lesson-section { grid-template-columns:1fr; gap:24px; padding-block:33px; }
 .course-lesson-section h2 { font-size:23px; }
 .course-lesson-related { gap:10px; margin-top:18px; }
 .course-lesson-related .text-link { font-size:12px; }
 .course-lesson-list li { font-size:13px; gap:14px; }
 .course-page-turn { grid-template-columns:1fr 1fr; gap:20px; padding-block:23px 31px; }
 .course-turn-link strong { font-size:12px; } .course-turn-link>span { font-size:11px; } .course-return { display:none; }
 .course-delivery-hero { padding-block:31px 36px; gap:26px; }
 .course-detail-introduction { font-size:14px; margin-top:17px; }
 .course-video-frame { border-radius:6px; }
 .course-video-caption { font-size:12px; margin-top:11px; }
 .course-video-demo { font-size:11px; } .course-video-status { font-size:13px; }
 .course-guides-section { padding-block:33px; } .course-guides-section h2 { font-size:27px; }
 .course-guide-cards { grid-template-columns:1fr; gap:15px; }
 .course-guide-card { padding:22px; } .course-guide-top { margin-bottom:16px; }
 .course-guide-card h3 { font-size:20px; } .course-guide-card p { font-size:14px; }
 .course-guide-action { padding-top:17px; }
 .course-recommended-order { display:block; font-size:12px; padding-block:21px; }
 .course-recommended-order strong { display:block; margin-bottom:7px; }
 .course-guide-footer { display:block; margin-top:17px; }
 .course-page .course-delivery-note { font-size:12px; }
 .course-inline-links { margin-top:17px; gap:10px; }
 .course-inline-links .text-link { font-size:12px; }
}
@media (max-width:360px) {
 .course-page .container { width:calc(100% - 32px); }
 .course-page h1,.course-overview-hero h1,.course-delivery-hero h1 { font-size:28px; }
 .course-page h2 { font-size:25px; }
 .course-scene { padding:16px; }
 .scene-feed-item { padding:14px; gap:8px; }
 .scene-feed-item h3 { font-size:12px; }
 .scene-identity-pair { grid-template-columns:1fr; }
 .scene-identity-back { margin-top:0; }
 .scene-identity-front p br { display:none; }
 .scene-identity-avatar { margin-block:14px 12px; }
 .scene-calendar-inputs h3 { font-size:13px; }
 .scene-handoff-columns h3 { font-size:13px; }
 .scene-choice-options { gap:8px; } .scene-choice-options>div { padding:16px 11px; }
}
@media (prefers-reduced-motion:reduce) { .course-page a { transition:none; } }
@media print { .scene-switcher.is-enhanced .scene-panel[hidden] { display:block; } .scene-panel+.scene-panel { margin-top:20px; } }

@media (max-width:760px) { .scene-consideration-message>p { font-size:14px; padding:14px 17px; } .scene-consideration-paper { padding:19px; } .scene-consideration-paper li { gap:10px; padding-block:11px; } .scene-consideration-paper li>strong { font-size:12px; } }

/* Let narrow headings rebalance as a whole; keep the scenes readable at phone size. */
@media (max-width:760px) {
 .course-preserve-lines { white-space:normal; }
 .scene-tabs a { font-size:12px; }
 .scene-relationship-stop p,.scene-contact-record p,.scene-situation>p,
 .scene-facts dd,.scene-feed-item p,.scene-feed-foot,.scene-identity-front p,
 .scene-identity-back dd,.scene-welcome-path p,.scene-proof-explain,
 .scene-calendar-inputs p,.scene-week p,.scene-calendar-event p,
 .scene-handoff-columns p,.scene-handoff-end,.scene-mini-page-content>p,
 .scene-mini-page-content li,.scene-mini-action,.scene-next-post p,
 .scene-next-page p,.scene-next-page>div,.scene-variable-card p,
 .scene-variable-outputs>span,.scene-workbench-paper p,.scene-choice-options p,
 .scene-choice-options small,.scene-priority-route p { font-size:13px; }
}
