.mlpub{--ink:#1F1D1A;--paper:#FFFFFF;--muted:#4A453E;--line:#E6E3DC;--slot:#F6F9F4;--or:#2F7D07;--gr:#2F7D07;}.mlpub-loaf{max-width:1200px;width:100%;margin:0 auto;padding:0 24px;box-sizing:border-box}article.mlpub{max-width:none;width:100%;margin:0;padding:0;box-sizing:border-box;font:16px/1.5 system-ui,sans-serif;color:var(--ink,#111);background:var(--paper,#fff)}.mlpub-title{font-size:1.75rem;margin:0 0 .5rem}.mlpub-rule{margin:0 0 1.25rem;color:var(--muted)}.mlpub-p{margin:0 0 .75rem}.mlpub-ask{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;letter-spacing:0;text-transform:none}.mlpub-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--muted)}.mlpub-caption{margin:.5rem 0 0;font-size:.875rem;color:var(--muted)}@media screen and (max-width:782px){.mlpub-loaf{padding:0 16px}}body.single-mlpub_item,body.single-mlpub_item #wrapper,body.single-mlpub_item .site{background:#fff}body.single-mlpub_item .content-bg{background:transparent}body:has(.mlhf-header-inner) .mlpub-loaf{max-width:1200px;padding-left:0;padding-right:0}@media screen and (max-width:782px){body:has(.mlhf-header-inner) .mlpub-loaf{max-width:none;padding-left:8px;padding-right:8px}}.mlpub-sources{margin:1.5rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line,#ddd)}.mlpub-sources-h{margin:0 0 .5rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#333)}.mlpub-sources ul{list-style:none;margin:0;padding:0}.mlpub-sources li{margin:0 0 .35rem}.mlpub-sources a{color:inherit}/* EHI look for ML Publisher (2026-10-08).
   1. Publisher 1.0.54's look frame re-declares the base tokens after this look's tokens,
      so the EHI colours are set again here, where they come last. */
article.mlpub,.mlpub{--ink:#1F1D1A;--paper:#FFFFFF;--muted:#4A453E;--line:#E6E3DC;--slot:#F6F9F4;--or:#2F7D07;--gr:#2F7D07}
.mlpub .mlpub-crumbs a{color:#2F7D07}
.mlpub ::selection{background:#E6F5DC;color:#1F1D1A}
/* 2. A step with no picture prints its heading in the question slot, which sits last.
      Put that slot first, under the step number, on desktop (grid) and phone (flex). */
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play{grid-template-areas:"num" "ask" "copy" "remember"}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-num{order:-2}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-ask{order:-1}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-ask > .mlpub-ask{font-size:1.25rem;margin:0}
/* 3. Course and module pages (course map). Brand colours on the kind pills instead of the
      shelf default orange and slate, and room to breathe. */
article.mlpub .mlpub-outline-item .mlpub-outline-kind{background:#2F7D07;color:#FFFFFF;min-width:84px;padding:6px 10px;border-radius:6px}
article.mlpub .mlpub-outline-item--topic .mlpub-outline-kind{background:#15300A}
article.mlpub .mlpub-outline-item--quiz .mlpub-outline-kind{background:#256306}
article.mlpub .mlpub-outline-item--certificate .mlpub-outline-kind{background:#B04A00}
article.mlpub .mlpub-outline-item a{gap:14px;min-height:56px;padding:10px 16px}
article.mlpub .mlpub-outline-item a:hover{border-color:#2F7D07}
article.mlpub .mlpub-outline-item--topic:not(:first-child){margin-top:18px}
article.mlpub .mlpub-outline-item--topic .mlpub-outline-title{font-weight:700;font-size:1.05rem}
article.mlpub .mlpub-head{gap:24px;margin:0 0 28px}
article.mlpub .mlpub-head-text .mlpub-title{line-height:1.25;overflow-wrap:break-word;text-wrap:balance}
article.mlpub .mlpub-head-text .mlpub-rule{line-height:1.45}
/* 4. On a phone the picture and the title stack, so a long title never runs off the edge,
      whatever text size the phone is set to. */
@media screen and (max-width:640px){
  article.mlpub .mlpub-head{flex-direction:column;align-items:stretch;gap:16px}
  article.mlpub .mlpub-thumb img,article.mlpub img.mlpub-thumb{width:100%;max-width:100%}
  article.mlpub .mlpub-head-text .mlpub-title{font-size:1.6rem}
  article.mlpub .mlpub-outline-item a{padding:10px 12px}
}
/* 5. Space between the site header and the first line of every course page. */
article.mlpub{padding-top:20px}
/* 6. Every lesson step: the number and the title sit on one line.
      Picture steps (desktop): picture left; number + title, then the words, on the right. */
article.mlpub.mlpub--beat-card .mlpub-card:not(.mlpub-card--play){grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:14px;
  grid-template-areas:"pic num head" "pic copy copy" "remember ask ask"}
article.mlpub.mlpub--beat-card .mlpub-card:not(.mlpub-card--play) .mlpub-media{margin-right:16px}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play{grid-template-columns:auto minmax(0,1fr);column-gap:14px;
  grid-template-areas:"num ask" "copy copy" "remember remember"}
article.mlpub.mlpub--beat-card .mlpub-card .mlpub-card-num{margin:0;align-self:center}
article.mlpub.mlpub--beat-card .mlpub-card .mlpub-beat-head{margin:0;align-self:center}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-ask{align-self:start}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-ask > .mlpub-ask{margin:0 0 .75rem;line-height:28px}
@media screen and (max-width:782px){
  article.mlpub.mlpub--beat-card .mlpub-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:16px}
  article.mlpub.mlpub--beat-card .mlpub-card:not(.mlpub-card--play){grid-template-columns:auto minmax(0,1fr);column-gap:12px;grid-template-areas:"num head" "pic pic" "copy copy" "remember remember" "ask ask"}
  article.mlpub.mlpub--beat-card .mlpub-card:not(.mlpub-card--play) .mlpub-media{margin:0}
  article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play{grid-template-areas:"num ask" "copy copy" "remember remember"}
  article.mlpub.mlpub--beat-card .mlpub-card .mlpub-card-num{grid-area:num}
  article.mlpub.mlpub--beat-card .mlpub-card .mlpub-beat-head{grid-area:head}
  article.mlpub.mlpub--beat-card .mlpub-card .mlpub-media{grid-area:pic;margin:0}
  article.mlpub.mlpub--beat-card .mlpub-card .mlpub-card-copy{grid-area:copy}
  article.mlpub.mlpub--beat-card .mlpub-card .mlpub-remember{grid-area:remember}
  article.mlpub.mlpub--beat-card .mlpub-card .mlpub-card-ask{grid-area:ask}
}
/* 7. Course and module index pages (layouts ehi-course-intro and ehi-module). */
article.mlpub.ehi-index{padding-top:28px}
article.mlpub.ehi-index .ehi-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:center;margin:0 0 44px}
article.mlpub.ehi-index .ehi-hero-pic{margin:0}
article.mlpub.ehi-index .ehi-hero-pic img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
article.mlpub.ehi-index .ehi-kicker{margin:0 0 14px;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2F7D07}
article.mlpub.ehi-index .ehi-hero h1{margin:0 0 14px;font-size:clamp(2rem,4.2vw,3rem);line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
article.mlpub.ehi-index .ehi-sub{margin:0;font-size:1.2rem;line-height:1.5;color:#4A453E;text-wrap:pretty}
article.mlpub.ehi-index .ehi-lead{margin:0 0 48px}
article.mlpub.ehi-index .ehi-lead p{margin:0 0 18px;font-size:1.1rem;line-height:1.7;color:#2C2925;max-width:760px;text-wrap:pretty}
article.mlpub.ehi-index .ehi-cta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:30px 0 0}
article.mlpub.ehi-index .ehi-btn{display:inline-block;padding:15px 26px;border-radius:8px;background:#2F7D07;color:#FFFFFF;font-weight:600;text-decoration:none}
article.mlpub.ehi-index .ehi-btn:hover{background:#256306;color:#FFFFFF}
article.mlpub.ehi-index .ehi-facts{color:#4A453E;font-size:.98rem}
article.mlpub.ehi-index .ehi-band{background:#F6F9F4;border-radius:20px;padding:40px 36px 44px;margin:0 0 40px}
article.mlpub.ehi-index .ehi-sec-h{margin:0 0 24px;font-size:1.6rem;line-height:1.25;text-wrap:balance}
article.mlpub.ehi-index .ehi-mods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0;padding:0;list-style:none}
article.mlpub.ehi-index .ehi-mod{display:flex;flex-direction:column;height:100%;background:#FFFFFF;border:1px solid #E6E3DC;border-radius:16px;overflow:hidden;color:#1F1D1A;text-decoration:none;transition:border-color .15s}
article.mlpub.ehi-index .ehi-mod:hover{border-color:#2F7D07}
article.mlpub.ehi-index .ehi-mod img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
article.mlpub.ehi-index .ehi-mod-body{display:flex;flex-direction:column;flex:1 1 auto;padding:20px 22px 22px}
article.mlpub.ehi-index .ehi-mod-n{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2F7D07;margin:0 0 6px}
article.mlpub.ehi-index .ehi-mod-t{font-size:1.2rem;font-weight:700;line-height:1.3;margin:0 0 10px;text-wrap:balance}
article.mlpub.ehi-index .ehi-mod-d{font-size:.96rem;line-height:1.6;color:#4A453E;margin:0 0 18px;flex:1 1 auto;text-wrap:pretty}
article.mlpub.ehi-index .ehi-mod-c{margin-top:auto;font-size:.92rem;font-weight:600;color:#2F7D07}
article.mlpub.ehi-index .ehi-lessons{display:grid;gap:14px;margin:0;padding:0;list-style:none}
article.mlpub.ehi-index .ehi-les{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:center;padding:12px;background:#FFFFFF;border:1px solid #E6E3DC;border-radius:14px;color:#1F1D1A;text-decoration:none;transition:border-color .15s}
article.mlpub.ehi-index .ehi-les:hover{border-color:#2F7D07}
article.mlpub.ehi-index .ehi-les img{display:block;width:150px;height:100px;object-fit:cover;border-radius:10px}
article.mlpub.ehi-index .ehi-les-top{display:flex;align-items:center;gap:12px;margin:0 0 6px}
article.mlpub.ehi-index .ehi-les-n{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2F7D07;color:#FFFFFF;font-size:.85rem;font-weight:700}
article.mlpub.ehi-index .ehi-les-t{font-size:1.12rem;font-weight:700;line-height:1.3}
article.mlpub.ehi-index .ehi-les-d{margin:0;font-size:.95rem;line-height:1.5;color:#4A453E;text-wrap:pretty}
article.mlpub.ehi-index .ehi-les-m{margin:6px 0 0;font-size:.85rem;font-weight:600;color:#2F7D07}
article.mlpub.ehi-index .ehi-next{display:block;margin:40px 0 0;padding:22px 26px;border:1px solid #E6E3DC;border-radius:14px;color:#1F1D1A;text-decoration:none}
article.mlpub.ehi-index .ehi-next:hover{border-color:#2F7D07}
article.mlpub.ehi-index .ehi-next span{display:block;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2F7D07;margin:0 0 6px}
article.mlpub.ehi-index .ehi-next b{font-size:1.15rem}
@media screen and (max-width:960px){ article.mlpub.ehi-index .ehi-mods{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media screen and (max-width:700px){
  article.mlpub.ehi-index .ehi-hero{grid-template-columns:minmax(0,1fr);gap:24px;margin:0 0 32px}
  article.mlpub.ehi-index .ehi-mods{grid-template-columns:minmax(0,1fr)}
  article.mlpub.ehi-index .ehi-band{padding:28px 18px 30px;border-radius:16px}
  article.mlpub.ehi-index .ehi-les{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:10px}
  article.mlpub.ehi-index .ehi-les img{width:96px;height:72px}
  article.mlpub.ehi-index .ehi-les-t{font-size:1.02rem}
}
/* 8. Steps with no picture (reading steps and quick checks): the number sits at the start of
      the heading line and the answers below use the card's full width. */
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play{position:relative;grid-template-columns:minmax(0,1fr);grid-template-areas:"ask" "copy" "remember"}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-num{position:absolute;top:22px;left:28px;margin:0}
article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-ask > .mlpub-ask{padding-left:42px;min-height:28px}
@media screen and (max-width:782px){
  article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play{grid-template-columns:minmax(0,1fr);grid-template-areas:"ask" "copy" "remember"}
  article.mlpub.mlpub--beat-card .mlpub-card.mlpub-card--play .mlpub-card-num{top:16px;left:16px}
}
/* 9. Course front page, outline option: the opening on the left, a vertical course menu on the
      right (one row per module, opening to its lessons). Stacks on a phone, menu under the opening. */
article.mlpub.ehi-index .ehi-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:48px;align-items:start}
article.mlpub.ehi-index .ehi-split .ehi-lead{margin:0}
article.mlpub.ehi-index .ehi-outline{position:sticky;top:120px;border:1px solid #E6E3DC;border-radius:16px;background:#FFFFFF;padding:22px 20px 14px}
article.mlpub.ehi-index .ehi-outline-h{margin:0 0 14px;font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#2F7D07}
article.mlpub.ehi-index .ehi-om{border-top:1px solid #E6E3DC}
article.mlpub.ehi-index .ehi-om summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 2px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}
article.mlpub.ehi-index .ehi-om summary::-webkit-details-marker{display:none}
article.mlpub.ehi-index .ehi-om summary:focus{outline:none}
article.mlpub.ehi-index .ehi-om summary:focus-visible{outline:2px solid #2F7D07;outline-offset:2px}
article.mlpub.ehi-index .ehi-om-n{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#2F7D07;color:#FFFFFF;font-size:.85rem;font-weight:700}
article.mlpub.ehi-index .ehi-om-t{flex:1 1 auto;min-width:0;font-weight:700;line-height:1.3;color:#1F1D1A}
article.mlpub.ehi-index .ehi-om-c{flex:0 0 auto;font-size:.82rem;color:#4A453E}
article.mlpub.ehi-index .ehi-om summary::after{content:"";flex:0 0 auto;width:8px;height:8px;margin:0 4px 4px 2px;border-right:2px solid #4A453E;border-bottom:2px solid #4A453E;transform:rotate(45deg);transition:transform .15s}
article.mlpub.ehi-index .ehi-om[open] summary::after{transform:rotate(-135deg);margin-bottom:-4px}
article.mlpub.ehi-index .ehi-om summary:hover .ehi-om-t{color:#2F7D07}
article.mlpub.ehi-index .ehi-ol{list-style:none;margin:0 0 12px;padding:0 0 0 42px}
article.mlpub.ehi-index .ehi-ol a{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 0;color:#2C2925;text-decoration:none;font-size:.95rem;line-height:1.35}
article.mlpub.ehi-index .ehi-ol a:hover{color:#2F7D07}
article.mlpub.ehi-index .ehi-ol img{flex:0 0 auto;width:44px;height:32px;object-fit:cover;border-radius:6px}
article.mlpub.ehi-index .ehi-ol-all{display:block;margin:0 0 14px 42px;font-size:.88rem;font-weight:600;color:#2F7D07;text-decoration:none}
@media screen and (max-width:900px){
  article.mlpub.ehi-index .ehi-split{grid-template-columns:minmax(0,1fr);gap:32px}
  article.mlpub.ehi-index .ehi-outline{position:static}
}
/* 10. Course outline panel: a light brand tint so it stands apart from the page, with real padding. */
article.mlpub.ehi-index .ehi-outline{background:#F3F8EE;border-color:#DCE8D1;padding:26px 26px 18px}
article.mlpub.ehi-index .ehi-om{border-top-color:#DCE8D1}
article.mlpub.ehi-index .ehi-ol img{box-shadow:none}
@media screen and (max-width:900px){ article.mlpub.ehi-index .ehi-outline{padding:22px 18px 14px} }
/* 11. Every course page uses the header's full 1200px width (the lesson player stopped at 1100),
       and the course and module pages end with room above the site footer. */
article.mlpub.mlpub--beat-card{max-width:none}
article.mlpub.ehi-index{padding-bottom:64px}