/* Shared catalogue, assessment and page navigation. */
.mw-desktop-nav { display:flex; align-items:center; gap:clamp(1rem,2vw,2rem); margin-left:auto; font-size:.9rem; }
.mw-nav-actions { display:flex; align-items:center; gap:1.5rem; }
.mw-desktop-nav a[aria-current='page'] { color:var(--wp--preset--color--blue); }
.mw-design .mw-nav-cta, .mw-design .mw-primary-button { display:inline-flex; align-items:center; justify-content:center; gap:1.5rem; background:var(--wp--preset--color--blue); color:white; padding:1rem 1.4rem; min-height:48px; border:1px solid var(--wp--preset--color--blue); font-size:1rem; font-weight:500; text-decoration:none; cursor:pointer; }
.mw-design .mw-nav-cta { min-height:44px; padding:.65rem 1rem; font-size:.85rem; }
.mw-design .mw-nav-cta:hover, .mw-design .mw-primary-button:hover { background:#1055B9; color:white; }
.mw-page-heading { padding-block:clamp(3rem,6vw,6rem) 2rem; }
.mw-page-heading h1 { font-size:clamp(3rem,7vw,7rem); letter-spacing:-.05em; line-height:1; }
.mw-page-lede { padding-inline:var(--wp--custom--gutter); padding-bottom:3rem; max-width:55rem; }
.mw-catalog { padding-block:clamp(4rem,7vw,7rem); }
.mw-commerce-head { max-width:60rem; margin-bottom:3rem; }
.mw-commerce-head :where(h1,h2) { font-size:clamp(2.75rem,5.5vw,5.5rem); line-height:1.02; letter-spacing:-.045em; margin-top:1.5rem; }
.mw-commerce-head > p { max-width:52ch; margin-top:1.5rem; color:#485057; }
.mw-category-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:2.5rem; }
.mw-category { display:flex; align-items:center; gap:1rem; padding:1.2rem; border:1px solid #DFE6EF; min-height:90px; }
.mw-category > span:last-child { margin-left:auto; }
.mw-category-icon { flex:none; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#EAF3FF; color:#1769E0; font-size:.85rem; }
.mw-category-power .mw-category-icon { background:#FFF0CD; color:#855400; }
.mw-category-food .mw-category-icon, .mw-category-first-aid .mw-category-icon { background:#E3F2ED; color:#176452; }
.mw-category-communication .mw-category-icon { background:#EEE8FA; color:#614395; }
.mw-category-home .mw-category-icon { background:#E1F2F5; color:#226670; }
.mw-category:hover { border-color:var(--wp--preset--color--blue); background:#F8FBFF; }
.mw-kit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.mw-kit-card { border:1px solid #E2E7EC; background:white; min-width:0; }
.mw-kit-link { height:100%; display:flex; flex-direction:column; }
.mw-kit-card figure { position:relative; aspect-ratio:3/2; overflow:hidden; background:#F8FAF9; }
.mw-kit-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.mw-kit-card a:hover img { transform:scale(1.025); }
.mw-kit-card-body { padding:1.25rem; flex:1; display:flex; flex-direction:column; }
.mw-demo-badge { align-self:flex-start; font-size:.7rem; color:#465A71; background:#EAF3FF; padding:.25rem .5rem; margin-bottom:1rem; }
.mw-kit-card h3 { font-size:clamp(1.25rem,1.8vw,1.8rem); line-height:1.1; letter-spacing:-.025em; }
.mw-kit-card p { color:#485057; font-size:.9rem; line-height:1.45; margin-top:1rem; margin-bottom:1.5rem; }
.mw-kit-card-foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; margin-top:auto; padding-top:1rem; border-top:1px solid #DFE6EF; color:var(--wp--preset--color--blue); font-size:.9rem; font-weight:500; }
.mw-assessment-cta { display:flex; align-items:center; justify-content:space-between; gap:3rem; background:var(--wp--preset--color--blue-light); padding:clamp(2rem,4vw,4rem); margin-top:4rem; }
.mw-assessment-cta h2 { font-size:clamp(2rem,3.3vw,3.5rem); line-height:1.1; letter-spacing:-.04em; margin-top:1rem; }
.mw-assessment-cta p { margin-top:1rem; }
.mw-assessment-cta .mw-primary-button { flex-shrink:0; }
.mw-assessment { padding-bottom:5rem; }
.mw-assessment-intro { margin-block:1rem 3rem; margin-inline:auto; }
.mw-assessment-intro h2 { font-size:clamp(1.8rem,3vw,3rem); line-height:1.1; margin-block:1.5rem 1rem; }
.mw-assessment-intro .mw-assessment-note { color:#56616E; font-size:.85rem; margin-top:1.5rem; max-width:65ch; }
.mw-assessment form, .mw-assessment-results { margin-inline:auto; }
/* Readiness check: one area per step once assessment.js adds .is-stepped (all six areas show without JavaScript), with
   large answer cards that stay native radios. Never set outer margins on the section itself. */
.mw-step-progress { padding-top:1rem; }
.mw-assessment-form.is-stepped { scroll-margin-top:.5rem; }
.mw-step-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.5rem; }
.mw-step-dot { display:flex; align-items:center; gap:.5rem; width:100%; min-height:44px; padding:.25rem 0; border:0; background:none; color:var(--pi-muted,#5c695d); font:inherit; font-size:.8rem; line-height:1.2; text-align:left; cursor:pointer; }
.mw-step-dot:disabled { cursor:default; }
.mw-step-dot-mark { flex:none; width:.8rem; height:.8rem; border-radius:50%; border:2px solid currentColor; box-sizing:border-box; }
.mw-step-dot:is([data-state="done"],[data-state="current"]) { color:var(--pi-forest,#193b32); }
.mw-step-dot[data-state="done"] .mw-step-dot-mark { background:currentColor; }
.mw-step-dot[data-state="current"] { font-weight:700; }
.mw-step-dot[data-state="current"] .mw-step-dot-mark { background:var(--pi-yellow,#e1c74d); border-color:var(--pi-forest,#193b32); }
.mw-step-dot:not(:disabled):not([aria-current]):hover .mw-step-dot-label { text-decoration:underline; text-underline-offset:3px; }
.mw-step-dot:focus-visible, .mw-step-nav button:focus-visible, .mw-question-why summary:focus-visible { outline:2px solid var(--pi-forest,#193b32); outline-offset:3px; }
.mw-step-bar { height:4px; margin-top:.5rem; background:var(--pi-rule,#ccd4cf); }
.mw-step-bar > span, .mw-step-nav-bar > span { display:block; width:4%; height:100%; background:var(--pi-forest,#193b32); transition:width .3s ease; }
.mw-assessment-form.is-stepped .mw-question-group { margin-block:2rem 0; }
.mw-question-group [data-step-heading]:focus:not(:focus-visible) { outline:none; }
.mw-step-count { font-size:1rem; font-weight:400; letter-spacing:0; color:var(--pi-muted,#5c695d); white-space:nowrap; }
.mw-question { border:0; border-bottom:1px solid #DFE6EF; margin:0; padding:1.75rem 0 1.25rem; min-width:0; }
.mw-question:last-child { border-bottom:0; }
.mw-question legend { float:left; width:100%; padding:0; }
.mw-question-text { display:block; max-width:34ch; font-size:clamp(1.2rem,1.7vw,1.5rem); font-weight:600; line-height:1.25; }
.mw-answer-options { clear:both; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; max-width:48rem; padding-top:1rem; }
.mw-answer-options label { position:relative; display:block; cursor:pointer; }
.mw-answer-options input { position:absolute; top:50%; left:1rem; opacity:0; width:1px; height:1px; margin:0; }
.mw-design .mw-answer-options .mw-answer-card { display:grid; grid-template-columns:auto minmax(0,1fr); align-content:center; column-gap:.75rem; row-gap:.15rem; height:100%; min-height:4.5rem; padding:.9rem 1rem; border:1px solid #849282; background:#fff; color:var(--pi-forest,#193b32); text-align:left; transition:border-color .15s,background-color .15s,color .15s; }
.mw-answer-card::before { content:""; grid-row:1 / span 2; align-self:center; width:1.25rem; height:1.25rem; border:2px solid currentColor; border-radius:50%; box-sizing:border-box; }
.mw-answer-card strong { font-size:1rem; font-weight:700; line-height:1.2; }
.mw-answer-card small { grid-column:2; font-size:.85rem; line-height:1.3; color:var(--pi-muted,#5c695d); }
.mw-design .mw-answer-options label:hover .mw-answer-card { border-color:var(--pi-forest,#193b32); box-shadow:inset 0 0 0 1px var(--pi-forest,#193b32); }
.mw-design .mw-answer-options input:checked + .mw-answer-card { background:var(--pi-forest,#193b32); border-color:var(--pi-forest,#193b32); color:var(--pi-paper,#fafbfa); }
.mw-design .mw-answer-options input:checked + .mw-answer-card small { color:#dce6df; }
.mw-answer-options input:checked + .mw-answer-card::before { border-color:var(--pi-paper,#fafbfa); background:var(--pi-yellow,#e1c74d); box-shadow:inset 0 0 0 3px var(--pi-forest,#193b32); }
.mw-design .mw-answer-options input:focus-visible + .mw-answer-card { outline:3px solid var(--pi-forest,#193b32); outline-offset:3px; }
.mw-question-why { margin-top:.5rem; font-size:.85rem; }
.mw-question-why summary { display:inline-flex; align-items:center; min-height:44px; color:var(--pi-forest,#193b32); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.mw-question-why p { max-width:60ch; margin:0 0 .5rem; color:#3f4b42; }
.mw-step-message { margin:1rem 0 0; color:var(--pi-alert,#9b2c20); font-weight:600; }
.mw-step-message:empty { display:none; }
.mw-step-nav { display:flex; align-items:center; gap:1rem; padding-top:1.5rem; border-top:1px solid #DFE6EF; margin-top:.5rem; }
.mw-design .mw-step-nav .mw-secondary-button { gap:.5rem; }
.mw-step-nav button svg { width:1rem; height:1rem; flex:none; }
.mw-step-nav .mw-step-next { margin-left:auto; }
.mw-step-nav [aria-disabled="true"] { opacity:.55; }
.mw-step-nav-status { display:none; margin:0; font-size:.8rem; color:var(--pi-muted,#5c695d); }
.mw-step-nav-bar { display:block; height:3px; margin-top:.35rem; background:var(--pi-rule,#ccd4cf); }
@media(prefers-reduced-motion:reduce) { .mw-step-bar > span, .mw-step-nav-bar > span, .mw-design .mw-answer-options .mw-answer-card { transition:none; } }
/* Phones: dots only at the top, stacked answer rows and a compact Back / progress / Next bar that sticks to the bottom of
   the screen while the check is in view. Scroll padding keeps focused answers clear of the bar. */
@media(max-width:699px) {
 html:has(.mw-assessment-form.is-stepped:not([hidden])) { scroll-padding-bottom:6rem; }
 .mw-step-list { gap:.25rem; }
 .mw-step-dot { justify-content:center; }
 .mw-step-dot-mark { width:.9rem; height:.9rem; }
 .mw-step-dot-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .mw-assessment-form.is-stepped .mw-question-group { margin-top:1.25rem; }
 .mw-assessment-form .mw-question-group > :is(h2,h3) { font-size:1.5rem; padding-bottom:.75rem; }
 .mw-question { padding:1.25rem 0 1rem; }
 .mw-answer-options { grid-template-columns:1fr; gap:.5rem; }
 .mw-design .mw-answer-options .mw-answer-card { min-height:3.5rem; padding:.7rem .9rem; }
 .mw-assessment-form.is-stepped .mw-step-nav { position:sticky; bottom:0; z-index:5; gap:.5rem; padding:.6rem 0 calc(.6rem + env(safe-area-inset-bottom,0px)); border-top:0; background:#fff; box-shadow:0 -1px 0 var(--pi-rule,#ccd4cf),0 0 0 100vmax #fff; clip-path:inset(-1px -100vmax 0); }
 .mw-design .mw-step-nav :is(.mw-primary-button,.mw-secondary-button) { min-height:48px; padding:.7rem .9rem; gap:.5rem; }
 .mw-step-nav-status { display:block; flex:1; min-width:0; text-align:center; }
 .mw-step-nav .mw-step-next { margin-left:0; }
}
@media(max-width:359px) { .mw-step-back .mw-step-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; } .mw-design .mw-step-nav .mw-step-back { padding-inline:.8rem; } }
.mw-assessment-results { border-top:1px solid #DFE6EF; margin-top:4rem; padding-top:3rem; scroll-margin-top:3rem; }
.mw-score-head { display:grid; grid-template-columns:240px 1fr; align-items:center; gap:3rem; background:var(--wp--preset--color--blue-light); padding:2rem; margin-bottom:3rem; }
.mw-score { display:flex; align-items:baseline; gap:.5rem; color:var(--wp--preset--color--blue); }
.mw-score > span { font-size:clamp(4.5rem,8vw,7rem); line-height:1; letter-spacing:-.06em; }
.mw-score small { font-size:1rem; }
.mw-score-head h2 { font-size:clamp(2rem,3vw,3rem); line-height:1.1; margin-block:1rem; }
.mw-assessment-results h3 { font-size:1.5rem; margin-block:2rem 1rem; }
.mw-next-steps { display:grid; grid-template-columns:1fr 1fr; gap:1rem 3rem; margin-block:2rem!important; }
.mw-next-steps li { padding:1rem 0; border-bottom:1px solid #DFE6EF; }
.mw-next-steps strong, .mw-next-steps span { display:block; }
.mw-next-steps span { margin-top:.5rem; color:#485057; }
.mw-assessment-results .mw-kit-grid { margin-top:2rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.mw-results-actions { display:flex; align-items:center; gap:2rem; margin-top:3rem; }
.mw-demo-price { display:block; font-size:.8rem; color:#536270; margin-block:.5rem; }
.mw-demo-notice { background:#EAF3FF; color:#233950; padding:1rem; font-size:.9rem; }
@media(max-width:1100px) { .mw-desktop-nav { display:none; } .mw-nav-actions { margin-left:auto; } .mw-kit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:699px) { .mw-nav-cta { display:none!important; } .mw-category-grid { grid-template-columns:1fr 1fr; gap:.65rem; } .mw-category { padding:.8rem; gap:.65rem; font-size:.85rem; } .mw-category-icon { width:32px; height:32px; } .mw-category > span:last-child { display:none; } .mw-assessment-cta { align-items:flex-start; flex-direction:column; gap:1.5rem; } .mw-score-head { grid-template-columns:1fr; gap:1rem; padding:1.5rem; } .mw-next-steps { grid-template-columns:1fr; } .mw-assessment-results .mw-kit-grid { grid-template-columns:1fr; } .mw-results-actions { align-items:flex-start; flex-direction:column; gap:1rem; } }
@media(max-width:459px) { .mw-kit-grid { grid-template-columns:1fr; } }

.mw-back-shop { margin-bottom:2rem!important; }

/* Readiness report: text labels accompany every status colour. */
.mw-report-heading { margin-bottom:2rem; max-width:75ch; }
.mw-report-heading h2 { font-size:clamp(2rem,3vw,3rem); margin-block:.75rem; }
.mw-report-heading [data-report-date] { font-size:.85rem; color:#48564d; }
.mw-report-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-block:2rem; }
.mw-report-stat { border-top:4px solid; padding:1.25rem; }
.mw-report-stat strong { display:block; font-size:2.5rem; line-height:1.1; }
.mw-report-stat span { display:block; margin-top:.5rem; font-weight:600; }
.mw-report-priority,.mw-report-maintain,.mw-report-export { background:#f0f2e9; padding:1.5rem; border-left:4px solid #173b32; margin-block:2rem; }
.mw-assessment-results .mw-report-priority h3,.mw-assessment-results .mw-report-maintain h3,.mw-assessment-results .mw-report-export h3 { margin-top:0; }
.mw-report-areas { list-style:none; padding:0!important; gap:1.5rem; }
.mw-assessment-results .mw-report-areas li { padding:1.5rem; border:1px solid #cdd3ca; border-top:4px solid; min-width:0; }
.mw-report-area-head { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.mw-report-area-head h4 { font-size:1.25rem; margin:0; }
.mw-report-areas .mw-report-status { display:inline-block; margin:0; padding:.25rem .65rem; font-size:.8rem; font-weight:600; }
.mw-report-areas p { margin-block:.85rem; }
.mw-report-areas h5 { font-size:1rem; margin-block:1.25rem .25rem; }
.mw-report-answer { font-size:.85rem; color:#48564d; }
.mw-report-answer strong { display:inline; }
.mw-report-shopping { border-top:1px solid #cdd3ca; margin-top:1.25rem; padding-top:.25rem; font-size:.9rem; }
.mw-report-links { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; }
.mw-report-links a { font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.mw-report-links a:focus-visible { outline:3px solid #173b32; outline-offset:4px; }
.mw-report-stat[data-level="0"],.mw-report-areas [data-level="0"] .mw-report-status { background:#fff0ec; color:#822c24; border-color:#943b32; }
.mw-report-stat[data-level="1"],.mw-report-areas [data-level="1"] .mw-report-status { background:#fff5d6; color:#684b00; border-color:#856100; }
.mw-report-stat[data-level="2"],.mw-report-areas [data-level="2"] .mw-report-status { background:#eaf4ec; color:#205238; border-color:#266347; }
.mw-assessment-results .mw-report-areas > li { border-color:#cdd3ca; background:#fff; }
.mw-report-priority[data-level="0"] { border-left-color:#943b32; background:#fff5f2; }
.mw-report-priority[data-level="1"] { border-left-color:#856100; }
@media(max-width:699px) { .mw-report-summary { gap:.5rem; }.mw-report-stat { padding:.75rem; font-size:.8rem; }.mw-report-stat strong { font-size:2rem; }.mw-report-areas { grid-template-columns:1fr; }.mw-report-links { flex-direction:column; align-items:flex-start; } }

/* Six chapters, with a finding for each of the three answers. */
.mw-question-group { margin-block:2.5rem; }
.mw-question-group > :is(h2,h3) { font-size:1.75rem; line-height:1.2; padding-bottom:1rem; border-bottom:3px solid #173b32; }
.mw-question-group > :is(h2,h3) .mw-label { margin-right:.75rem; }
.mw-report-areas { grid-template-columns:1fr; gap:2rem; }
.mw-report-area-head h4 .mw-label { display:inline; margin-right:.75rem; }
.mw-report-areas > li { scroll-margin-top:3rem; }
.mw-report-findings { margin-block:1rem; }
.mw-report-finding { border:1px solid #cdd3ca; background:#fff; margin-block:.75rem; }
.mw-report-finding summary { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding:1rem; cursor:pointer; }
.mw-report-finding summary::before { content:'+'; font-size:1.25rem; line-height:1; }
.mw-report-finding[open] summary::before { content:'−'; }
.mw-report-finding summary strong { display:inline; flex:1; min-width:10ch; }
.mw-report-finding summary [data-check-answer] { font-size:.85rem; margin:0; color:#48564d; }
.mw-report-finding summary:focus-visible { outline:3px solid #173b32; outline-offset:3px; }
.mw-report-finding-body { padding:0 1.5rem 1.25rem; }
.mw-report-finding h6 { font-size:1rem; margin:1rem 0 .25rem; }
.mw-report-finding[data-level="0"] { background:#fff0ec; border-color:#d5aaa2; }
.mw-report-finding[data-level="1"] { background:#fff9e9; border-color:#d6c28a; }
.mw-report-plan { margin-block:2rem; }
.mw-report-plan ol { padding-left:1.5rem; }
.mw-report-plan li { padding:1rem; margin-block:1rem; border-left:4px solid #856100; background:#fff9e9; }
.mw-report-plan li[data-level="0"] { border-color:#943b32; background:#fff5f2; }
.mw-report-plan li a { font-weight:600; text-decoration:underline; }
.mw-report-plan li p { margin-bottom:0; }
.mw-report-contents { border-block:1px solid #cdd3ca; padding-block:1rem; margin-block:2rem; }
.mw-report-contents ol { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; list-style:none; padding:0; }
.mw-report-contents a { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:699px) { .mw-report-finding summary { gap:.5rem; }.mw-report-finding-body { padding-inline:1rem; } }
