/* Shared course shell, visually aligned with the crane library. */
.course-experience{--cq-accent:#225f56;--cq-brand-navy:#142e38;--cq-canvas:#f5f5f0;--portal-navy:#142e38;background:#f5f5f0;padding-bottom:calc(100px + env(safe-area-inset-bottom))}
.course-experience .portal-header{background:#fafbf8;box-shadow:none}.course-experience .portal-header__inner{min-height:78px}.course-experience .brand-lockup{width:180px}.course-experience .header-context span{color:#1b3d43}.course-experience .hero-band{background:#142e38}.course-experience .hero-layout{padding-block:48px;gap:40px;min-height:0}.course-experience .hero-copy h1{font-size:clamp(36px,4.6vw,62px);line-height:1.03;font-weight:650}.course-experience .hero-copy h1 span{color:#a9cbbb;font-size:.65em;display:block;line-height:1.2;margin-top:10px}.course-experience .product-label{border:0;border-radius:0;padding:0;color:#acd0bd;font-size:10px;letter-spacing:.15em}.course-experience .hero-lead{font-size:16px;line-height:1.7;color:#c6d7d7}.course-experience .hero-primary{background:#f3bb55;border-color:#f3bb55;color:#142e38;border-radius:6px}.course-experience .hero-secondary{border-radius:6px}.course-experience .source-note{margin-top:20px}.course-experience .source-note strong{font-size:12px}.course-experience .source-note div>span{font-size:11px}.course-experience .machine-stage{display:flex;flex-direction:column;min-height:0;border-radius:10px;border:1px solid #55706d;box-shadow:none;background:#fff}.course-experience .machine-stage::after{display:none}.course-experience .machine-stage>img{position:static;flex:1 1 auto;width:100%;height:auto;min-height:0;object-fit:contain;max-height:360px;padding:14px 14px 6px;background:#fff}.course-experience .machine-stage figcaption{position:static;margin:0;padding:16px 18px 14px;background:#16313c}.course-experience .course-quick-links{gap:8px}.course-experience .course-quick-link{border-radius:6px;background:#203e48;border-color:#58746f}.course-experience .course-quick-links{grid-template-columns:1fr}.course-experience .course-quick-link strong{font-size:15px}.course-experience .course-quick-link small{font-size:13px;color:#cadbd6}.course-experience .course-quick-link__icon{background:#34524f;color:#d4eadf}.course-experience .visual-story{padding-block:48px}.course-experience .section-eyebrow{color:#346b5b}.course-experience .section-eyebrow--light{color:#a9cbbb}.course-experience .crane-explorer{border-radius:12px;box-shadow:none}.course-experience .voice-tutor{background:#14353f;border-radius:14px;box-shadow:none;border-color:#466f70;scroll-margin-top:100px}.course-experience #operator-path,.course-experience #manual-visuals,.course-experience #crane-explorer,.course-experience #chart-reference,.course-experience #visual-lab-title{scroll-margin-top:100px}.course-experience .voice-tutor__panel{border-radius:10px}.course-experience .manual-tile{border-radius:10px}.course-experience .review-notice{background:#f6efdd}
.course-menu{position:relative;color:#183d40;font:650 14px/1.5 system-ui}.course-menu summary{cursor:pointer;list-style:none;display:flex;gap:9px;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #becfc5;border-radius:5px}.course-menu summary::-webkit-details-marker{display:none}.course-menu nav{position:absolute;right:0;top:52px;width:235px;display:grid;padding:8px;background:#fafbf8;border:1px solid #c4d5cb;box-shadow:0 14px 35px #17332c25;border-radius:8px;z-index:40}.course-menu a{display:flex;align-items:center;min-height:46px;padding:10px 14px;color:#244e48;text-decoration:none;border-radius:4px}.course-menu a:hover{background:#e4eee5}.course-menu summary:focus-visible,.course-menu a:focus-visible,.study-dock a:focus-visible{outline:3px solid #cb8a23;outline-offset:3px}.study-dock{position:fixed;z-index:25;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;border:1px solid #496568;border-radius:12px;background:#112f39;box-shadow:0 8px 30px #0c252a38;color:#fff;max-width:calc(100% - 24px);font:650 13px/1.4 system-ui}.study-dock__model{font-size:11px;letter-spacing:.04em;padding:0 20px 0 14px;border-right:1px solid #496568;white-space:nowrap}.study-dock a{display:flex;align-items:center;justify-content:center;gap:9px;padding:13px 18px;min-height:46px;white-space:nowrap;color:#edf3e9;text-decoration:none;border-radius:7px}.study-dock a:hover{background:#2a4c52}.study-dock a>span{font-size:9px;color:#b2c9ba}.study-dock .study-dock__voice{background:#f3bb55;color:#132e39}.study-dock .study-dock__voice:hover{background:#ffd084}
@media(max-width:760px){.course-experience .portal-header__inner{gap:14px;min-height:72px}.course-experience .brand-lockup{width:145px}.course-experience .header-context{display:none}.course-experience .hero-layout{grid-template-columns:1fr;padding-block:32px;gap:28px}.course-experience .hero-copy h1{font-size:clamp(34px,10vw,42px)}.course-experience .hero-lead{font-size:15px}.course-experience .hero-actions{margin-top:24px}.course-experience .machine-stage{max-width:100%;margin:0}.course-experience .machine-stage>img{max-height:260px}.course-experience .course-quick-links{grid-template-columns:1fr}.course-experience .course-quick-link{min-height:55px}.course-experience .source-note{display:none}.course-experience .voice-tutor{scroll-margin-top:88px}}
@media(prefers-reduced-motion:reduce){.course-experience *{scroll-behavior:auto!important}}
@media print{.study-dock,.course-menu{display:none}}
html{scroll-behavior:auto}
.course-experience .voice-tutor__panel{display:flex;flex-direction:column}.course-experience .voice-tutor__controls{margin:0 0 14px}
.course-experience .manual-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:auto;align-items:start}.course-experience .manual-tile,.course-experience .manual-tile--large,.course-experience .manual-tile--wide{grid-column:span 1;grid-row:auto;aspect-ratio:3/4;min-height:0;background:#fff}.course-experience .manual-tile img{width:100%;height:100%;object-fit:contain!important;object-position:center top;padding:12px 12px 4.5rem!important;background:#fff}.course-experience .manual-tile:hover img{transform:none}@media(max-width:1100px){.course-experience .manual-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.course-experience .manual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.course-experience .manual-grid{grid-template-columns:1fr}}
.course-experience .course-quick-link{color:#eef7f2}.course-experience .course-quick-link strong{color:inherit}.course-experience .course-quick-link>span:last-child{color:#d4eadf}.course-experience .course-quick-link--voice{background:#f3bb55;border-color:#f3bb55;color:#142e38}.course-experience .course-quick-link--voice small{color:#35505b}.course-experience .course-quick-link--voice>span:last-child{color:#142e38}
/* On a phone the dock already offers lessons, the manual and voice; the hero keeps its two actions. */
@media(max-width:760px),(max-height:500px){.course-experience .course-quick-links{display:none}.study-dock{bottom:calc(10px + env(safe-area-inset-bottom));gap:2px;padding:5px;border-radius:9px;width:calc(100% - 20px);justify-content:space-between}.study-dock__model{display:none}.study-dock a{font-size:12px;padding:12px 10px;flex:1;gap:6px}.study-dock a>span{display:none}}
/* The dock steps aside only while the voice tutor is on a phone screen (course-experience.js), and returns as soon as the learner scrolls away. */
.study-dock.is-muted{display:none}
.course-experience .module-actions .cq-button{min-height:44px;font-size:15px}
/* A lesson card's page fills its frame, centred where the visual record puts the fact (see build_course_homes.module_cards). */
.course-experience .module-visual img{position:absolute;inset:0}.course-experience .module-visual img[data-frame=focus]{object-fit:cover;padding:0}
/* The lesson to open next stands out from the rest; the others are simply not started. */
.course-experience .module-card.next{border-color:#c8891d;box-shadow:inset 4px 0 0 #f3bb55}.course-experience .module-card.next .module-status{color:#7a4f00}.course-experience .module-card.next .module-status i{background:#e0a030}
/* Names a control for a screen reader without showing it, e.g. which lesson an "Open lesson" button opens. */
.cq-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.course-experience .machine-stage figcaption small a,.course-experience .source-card>a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:540px){
  .course-experience{overflow-x:hidden}
  .course-experience .module-card{grid-template-columns:5.5rem minmax(0,1fr);gap:.65rem}
  .course-experience .module-visual{min-width:0}
  .course-experience .module-content,.course-experience .module-status,.course-experience .learning-loop{min-width:0}
  .course-experience .learning-loop{flex-wrap:wrap;gap:2px 0}
  .course-experience .learning-loop b{min-width:0;overflow-wrap:anywhere}
  .course-experience .module-actions{display:grid;grid-template-columns:1fr}
  .course-experience .module-actions .cq-button{width:100%}
}
@media(max-width:360px){
  .course-experience .portal-header__inner{padding-inline:14px}
  .course-experience .brand-lockup{width:132px}
  .course-experience .course-menu summary{padding-inline:12px}
  .course-experience .module-card{grid-template-columns:4.75rem minmax(0,1fr)}
}
.study-scope{margin-block:20px;color:#465d62;font:14px/1.65 system-ui,sans-serif}
.study-scope summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:650;color:#225f56}
.study-scope summary::before{content:"+";margin-right:10px;font-size:20px}
.study-scope[open] summary::before{content:"−"}
.study-scope summary:focus-visible{outline:3px solid #cb8a23;outline-offset:3px}
.course-extra{margin-block:12px}
.course-extra>summary{width:min(100% - 2rem,76rem);margin-inline:auto;display:flex;align-items:center;min-height:44px;cursor:pointer;color:#225f56;font:650 15px/1.5 system-ui,sans-serif;list-style:none}
.course-extra>summary::-webkit-details-marker{display:none}
.course-extra>summary::before{content:"+";margin-right:10px;font-size:20px}
.course-extra[open]>summary::before{content:"−"}
.course-extra>summary:focus-visible{outline:3px solid #cb8a23;outline-offset:3px}
.study-scope p{max-width:85ch;margin:8px 0 12px}
@media(max-width:900px){.course-experience .hero-layout{grid-template-columns:1fr}}
