.front-learning-map #main-content { position:relative; background:#f7fbfa; color:#182d37; }
.map-heading,.learning-map { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.map-heading { padding:32px 0 24px; border-bottom:2px solid #287456; }
.map-heading h1 { font-size:32px; margin:0 0 8px; letter-spacing:0; }
.map-heading p { margin:0 0 14px; }
.learning-map { padding:24px 0 48px; }
.learning-map a,.map-heading a { color:#125870; text-decoration:underline; text-underline-offset:3px; }
.learning-map :focus-visible { outline:3px solid #985800; outline-offset:3px; }
#map-filters { display:flex; flex-wrap:wrap; gap:18px; }
#map-filters label { display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:700; min-width:0; flex:0 1 270px; }
#map-filters select { height:44px; width:100%; font:inherit; background:white; color:#182d37; border:1px solid #71818a; border-radius:4px; padding:8px; }
.map-scope,.map-unit-meta { font-size:13px; line-height:1.6; color:#41555f; margin:12px 0; }
#map-coverage { line-height:1.6; font-weight:650; margin:12px 0 6px; }
.map-tabs { display:flex; gap:8px; border-bottom:1px solid #a6babc; margin-top:24px; }
.map-tabs button { min-width:110px; min-height:44px; background:transparent; border:0; border-bottom:3px solid transparent; color:#25464f; font:inherit; font-weight:650; cursor:pointer; }
.map-tabs [aria-selected=true] { border-bottom-color:#176347; color:#13543f; background:#e1eee8; }
.map-skill-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:32px; padding-top:24px; }
#map-skill-list { align-self:start; border-top:1px solid #b3c5c9; }
#map-skill-list a { display:block; padding:16px 12px; min-height:44px; border-bottom:1px solid #b3c5c9; line-height:1.5; overflow-wrap:anywhere; }
#map-skill-list [aria-current] { border-left:4px solid #227054; background:#e4f0eb; font-weight:700; }
#map-detail { min-width:0; overflow-wrap:anywhere; }
#map-detail h2,.map-unit h2 { font-size:24px; line-height:1.35; letter-spacing:0; margin:0 0 12px; }
#map-detail h3,.map-unit h3 { font-size:18px; margin:24px 0 10px; }
#map-detail p,.map-unit p,.map-unit li { line-height:1.65; }
.map-focus { font-size:17px; font-weight:600; }
#map-detail figure { margin:20px 0; }
#map-detail figure img { display:block; width:100%; max-width:640px; height:auto; background:white; }
#map-detail figcaption { font-size:13px; line-height:1.5; color:#41555f; margin-top:8px; }
.map-foundations { border-block:1px solid #bccbca; padding:0 0 16px; margin-top:22px; }
.map-foundations a { display:block; padding:8px 0; }
.map-foundations small { display:block; color:#41555f; margin-top:4px; }
.map-resources { padding-left:22px; }
.map-resources li { margin:12px 0; line-height:1.5; }
.map-unit { padding:26px 0; border-bottom:1px solid #a6babc; overflow-wrap:anywhere; }
.map-unit>img { display:block; width:100%; max-width:500px; height:auto; aspect-ratio:16/9; object-fit:contain; background:white; margin:20px 0; }
.map-unit details { padding:8px 0 22px; }
.map-unit summary { font-weight:700; cursor:pointer; padding:8px 0; }
.map-unit h4 { font-size:16px; margin:0 0 6px; }
.map-sessions { padding-left:28px; }
.map-sessions>li { padding:15px 0 15px 8px; border-top:1px solid #ccd8d5; }
.map-sessions ul { padding-left:20px; }
.map-sessions p { margin:6px 0; }
.learning-map [hidden] { display:none!important; }
@media(max-width:760px) { .map-skill-layout { grid-template-columns:minmax(0,1fr); gap:24px; } #map-skill-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } #map-skill-list a { padding:12px; } }
@media(max-width:450px) { .map-heading,.learning-map { width:calc(100% - 28px); } .map-heading h1 { font-size:28px; } #map-filters label { flex:1 1 130px; } #map-detail h2,.map-unit h2 { font-size:22px; } #map-skill-list { grid-template-columns:minmax(0,1fr); } }
