/*
Theme Name: Managing Military Money Homepage
Theme URI: https://managingmilitarymoney.com/
Description: Astra child theme — Managing Military Money V33 production routing and resource completion.
Author: Managing Military Money
Template: astra
Version: 4.2.0
Text Domain: mmm-v33
*/

:root{--mmm-green:#315b3d;--mmm-green-dark:#194f2b;--mmm-sage:#e8eee5;--mmm-sage-2:#dfe8dc;--mmm-cream:#f7f4ec;--mmm-card:#fffdf8;--mmm-gold:#d69a00;--mmm-gold-soft:#f2e2ad;--mmm-ink:#2c2d32;--mmm-muted:#62645f;--mmm-line:#d9ddcf;--mmm-red:#b45b57;--mmm-yellow:#d7aa3e;--mmm-radius:22px;--mmm-shadow:0 12px 34px rgba(35,52,38,.08)}
body{background:var(--mmm-cream);color:var(--mmm-ink)}
#primary{margin:0!important}.site-content .ast-container{max-width:none;padding:0}.entry-content{margin:0}.entry-header{display:none}
.mmm-page{font-family:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--mmm-cream);color:var(--mmm-ink)}
.mmm-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.mmm-section{padding:72px 0}.mmm-kicker{font-size:.84rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600;color:var(--mmm-muted);margin:0 0 16px}.mmm-h1,.mmm-h2,.mmm-h3{font-family:"League Spartan",Poppins,sans-serif;color:var(--mmm-green);line-height:1.03;margin:0}.mmm-h1{font-size:clamp(3rem,6vw,5.2rem);max-width:820px}.mmm-h2{font-size:clamp(2rem,4vw,3.3rem)}.mmm-h3{font-size:1.35rem}.mmm-lede{font-size:1.16rem;line-height:1.65;max-width:790px;color:#4d4e4d}.mmm-btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:13px 22px;text-decoration:none!important;font-weight:600;border:1px solid transparent;transition:.18s}.mmm-btn-primary{background:var(--mmm-gold);color:#27230f!important}.mmm-btn-secondary{border-color:#b7b9af;background:rgba(255,255,255,.45);color:var(--mmm-ink)!important}.mmm-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.mmm-hero{padding:82px 0 70px;background:linear-gradient(115deg,#f9f6ef 0%,#f4f1e8 67%,#edf1e8 100%)}.mmm-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px;align-items:center}.mmm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.mmm-system-card{background:var(--mmm-green-dark);color:white;border-radius:var(--mmm-radius);padding:30px;box-shadow:var(--mmm-shadow);transform:rotate(1deg)}.mmm-system-card h3{color:#fff;margin:0 0 18px}.mmm-flow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:18px 0}.mmm-pill{background:#f8f8f4;color:#3a3b3a;border-radius:999px;padding:7px 12px;font-size:.78rem}.mmm-arrow{color:var(--mmm-gold)}
.mmm-soft{background:var(--mmm-sage)}.mmm-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mmm-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.mmm-card{background:rgba(255,255,255,.72);border:1px solid rgba(82,101,78,.16);border-radius:18px;padding:28px;box-shadow:0 7px 22px rgba(41,58,42,.045)}.mmm-card p{line-height:1.55;color:#4f514e}.mmm-card .mmm-icon{width:38px;height:38px;border-radius:12px;background:var(--mmm-gold-soft);display:grid;place-items:center;margin-bottom:18px;color:var(--mmm-green-dark);font-weight:700}.mmm-card a{color:var(--mmm-green-dark);font-weight:600;text-decoration:none}.mmm-card.available{border-top:4px solid var(--mmm-green)}.mmm-card.planned{border-top:4px solid var(--mmm-gold)}.mmm-tags{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.mmm-tag{background:#ece9df;border-radius:999px;padding:5px 9px;font-size:.72rem;color:#55564f}.mmm-status{float:right;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#5c5d58}
.mmm-roadmap{background:#eef0df;border:1px solid #dde0c8;border-radius:18px;padding:28px}.mmm-roadmap-line{font-weight:600;font-size:1.05rem;word-spacing:5px}.mmm-roadmap-line span{color:var(--mmm-gold)}
.mmm-reality{background:linear-gradient(125deg,var(--mmm-green-dark),#2d6540);color:white}.mmm-reality .mmm-h2{color:#fff}.mmm-reality-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.mmm-metrics{background:#fffdf8;color:var(--mmm-ink);border-radius:22px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mmm-metric{background:#f4f1e8;border-radius:14px;padding:18px}.mmm-metric strong{display:block;font-size:1.35rem;color:var(--mmm-green)}
.mmm-condition-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.mmm-condition{border-radius:14px;padding:15px;text-align:center}.green{background:#dcecdf}.yellow{background:#f3e4b5}.red{background:#edd2cf}.mmm-step{display:flex;gap:16px}.mmm-num{flex:0 0 34px;height:34px;border-radius:50%;background:var(--mmm-gold);display:grid;place-items:center;font-weight:700}
.mmm-footer-cta{background:#e6eadc}.mmm-note{font-size:.86rem;color:var(--mmm-muted);line-height:1.5}.mmm-section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.mmm-section-head p{max-width:660px;margin:0}.mmm-suggest{margin-top:24px;padding:20px 24px;border:1px dashed #a9b29f;border-radius:16px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:#f4f2e8}
@media(max-width:850px){.mmm-hero-grid,.mmm-reality-grid{grid-template-columns:1fr}.mmm-grid3{grid-template-columns:1fr}.mmm-grid2{grid-template-columns:1fr}.mmm-system-card{transform:none}.mmm-section{padding:52px 0}.mmm-hero{padding:58px 0}.mmm-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.mmm-wrap{width:min(100% - 26px,1180px)}.mmm-h1{font-size:2.65rem}.mmm-metrics,.mmm-condition-row{grid-template-columns:1fr}.mmm-suggest{align-items:flex-start;flex-direction:column}}


/* =========================
   V19 PRODUCTION POLISH
   ========================= */

/* Eliminate Astra content/sidebar width reservation on all custom MMM templates. */
body.mmm-v33 #content,
body.mmm-v33 .site-content,
body.mmm-v33 .site-content > .ast-container,
body.mmm-v33 #primary,
body.mmm-v33 .content-area,
body.mmm-v33 .site-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
}
body.mmm-v33 .site-content > .ast-container{
  display:block!important;
}
body.mmm-v33 #secondary,
body.mmm-v33 .widget-area.secondary{
  display:none!important;
}

/* Header consistency */
body.mmm-v33 .site-header{
  background:#fbf8f0!important;
  border-bottom:1px solid rgba(49,91,61,.12);
}
body.mmm-v33 .main-header-menu .menu-link{
  color:#343934!important;
  font-weight:500;
}
body.mmm-v33 .main-header-menu .current-menu-item > .menu-link,
body.mmm-v33 .main-header-menu .current_page_item > .menu-link{
  color:var(--mmm-green-dark)!important;
  font-weight:700;
}

/* Hero polish */
body.mmm-v33 .mmm-hero{
  padding:68px 0 62px;
}
body.mmm-v33 .mmm-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px);
  gap:54px;
}
body.mmm-v33 .mmm-h1{
  font-size:clamp(2.85rem,5.4vw,4.75rem);
}
body.mmm-v33 .mmm-system-card,
body.mmm-v33 .mmm-hero .mmm-card{
  align-self:center;
  overflow:hidden;
}

/* Homepage topic cards */
.mmm-topic-card-v19{
  min-height:235px;
  display:flex;
  flex-direction:column;
}
.mmm-topic-card-v19 p{
  margin-bottom:18px;
}
.mmm-topic-card-v19 a{
  margin-top:auto;
}
.mmm-icon.icon-pay{font-size:1rem}
.mmm-icon.icon-budget{font-size:1.08rem}
.mmm-icon.icon-debt{font-size:1.15rem}
.mmm-icon.icon-credit{font-size:1rem}
.mmm-icon.icon-pcs{font-size:1.08rem}
.mmm-icon.icon-decision{font-size:1.08rem}

/* Start Here roadmap: turn plain text into a real system visual */
.mmm-roadmap-v19{
  margin-top:34px;
  background:#eef0df;
  border:1px solid #dde0c8;
  border-radius:20px;
  padding:28px;
}
.mmm-roadmap-steps-v19{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
  position:relative;
}
.mmm-roadmap-step-v19{
  background:rgba(255,255,255,.76);
  border:1px solid rgba(49,91,61,.14);
  border-radius:15px;
  padding:18px 15px;
  min-height:126px;
}
.mmm-roadmap-step-v19 .roadmap-num{
  width:31px;height:31px;border-radius:999px;
  display:grid;place-items:center;
  background:var(--mmm-gold);
  color:#30270c;font-weight:700;font-size:.8rem;
  margin-bottom:11px;
}
.mmm-roadmap-step-v19 strong{
  display:block;color:var(--mmm-green-dark);margin-bottom:5px;
}
.mmm-roadmap-step-v19 small{
  display:block;color:#62645f;line-height:1.45;
}
.mmm-roadmap-note-v19{
  margin:18px 0 0;
}

/* Major Purchase Reality Check — stronger hierarchy + realistic illustrative preview */
.mmm-reality .mmm-kicker{color:#f2e2ad}
.mmm-reality .mmm-lede{color:#f7f4ec}
.mmm-reality-preview-note{
  margin-top:12px;
  color:rgba(255,255,255,.82);
  font-size:.78rem;
  line-height:1.5;
}
.mmm-metric small{
  display:block;
  color:#6e706b;
  margin-bottom:7px;
}
.mmm-metric strong{
  line-height:1.18;
}
.mmm-metric .mmm-metric-sub{
  display:block;
  font-size:.72rem;
  color:#72746f;
  line-height:1.35;
  margin-top:6px;
}

/* Assessment: full-width page shell + no right-side white strip */
body.page-template-page-assessment .mmm-page,
body.page-template-page-assessment .mmm-hero,
body.page-template-page-assessment .mmm-assessment-stage-v19{
  width:100%!important;
  max-width:none!important;
}
body.page-template-page-assessment .mmm-page{
  overflow-x:hidden;
}
.mmm-assessment-stage-v19{
  background:var(--mmm-sage);
  padding:54px 0 70px;
  margin:0!important;
}
.mmm-assessment-content-v19{
  width:min(1040px,calc(100% - 40px));
  margin:0 auto;
}
.mmm-assessment-content-v19 > :first-child{
  margin-top:0!important;
}
.mmm-assessment-content-v19 > :last-child{
  margin-bottom:0!important;
}
/* Let the embedded/working assessment occupy its available width. */
.mmm-assessment-content-v19 .wp-block-group,
.mmm-assessment-content-v19 form,
.mmm-assessment-content-v19 [class*="assessment"],
.mmm-assessment-content-v19 [id*="assessment"]{
  max-width:100%;
  box-sizing:border-box;
}

/* Footer replaces Astra attribution */
.mmm-site-footer-v19{
  background:var(--mmm-green-dark);
  color:#fff;
  padding:48px 0 24px;
}
.mmm-footer-grid-v19{
  display:grid;
  grid-template-columns:1.5fr .8fr .8fr;
  gap:44px;
  align-items:start;
}
.mmm-site-footer-v19 h2,
.mmm-site-footer-v19 h3{
  color:#fff!important;
}
.mmm-site-footer-v19 p{
  color:rgba(255,255,255,.84);
  line-height:1.55;
}
.mmm-site-footer-v19 a{
  color:#fff!important;
  text-decoration:none;
}
.mmm-site-footer-v19 a:hover{
  text-decoration:underline;
}
.mmm-footer-links-v19{
  display:grid;
  gap:8px;
}
.mmm-footer-bottom-v19{
  margin-top:34px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.18);
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.72);
  font-size:.78rem;
}
.mmm-footer-disclaimer-v19{
  max-width:700px;
  font-size:.78rem;
  color:rgba(255,255,255,.72)!important;
}

/* General spacing + card consistency */
body.mmm-v33 .mmm-card{
  border-radius:18px;
  padding:26px;
}
body.mmm-v33 .mmm-icon{
  width:38px;height:38px;
  border-radius:11px;
}
body.mmm-v33 .mmm-btn{
  min-height:48px;
  padding:12px 22px;
  justify-content:center;
}

/* Prevent narrow desktop clipping */
@media(max-width:1020px){
  body.mmm-v33 .mmm-hero-grid{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:34px;
  }
  body.mmm-v33 .mmm-h1{
    font-size:clamp(2.75rem,5.1vw,4rem);
  }
}
@media(max-width:850px){
  body.mmm-v33 .mmm-hero-grid{grid-template-columns:1fr}
  .mmm-roadmap-steps-v19{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mmm-footer-grid-v19{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .mmm-roadmap-steps-v19{grid-template-columns:1fr}
  .mmm-footer-grid-v19{grid-template-columns:1fr}
  .mmm-assessment-content-v19{width:calc(100% - 26px)}
}


/* =========================
   V20 RESPONSIVE LAYOUT FIX
   ========================= */

/* More balanced desktop hero proportions. */
body.mmm-v33 .mmm-hero-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important;
  gap:46px!important;
  align-items:center!important;
}

/* Right-side system panels: remove squeezed/skewed appearance. */
body.mmm-v33 .mmm-system-card,
body.mmm-v33 .mmm-hero aside.mmm-card{
  width:100%!important;
  min-width:0!important;
  max-width:420px!important;
  justify-self:end!important;
  align-self:center!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  transform:none!important;
}
body.mmm-v33 .mmm-system-card{
  padding:26px 24px!important;
}
body.mmm-v33 .mmm-system-card .mmm-step{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
body.mmm-v33 .mmm-system-card .mmm-step p{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}

/* Homepage readiness card: always fit all three conditions. */
body.mmm-v33 .mmm-condition-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body.mmm-v33 .mmm-condition{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding:14px 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  overflow:hidden!important;
}
body.mmm-v33 .mmm-condition b,
body.mmm-v33 .mmm-condition small{
  display:block!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
body.mmm-v33 .mmm-condition b{
  font-size:.86rem!important;
  line-height:1.25!important;
}
body.mmm-v33 .mmm-condition small{
  font-size:.72rem!important;
  line-height:1.3!important;
  margin-top:4px!important;
}

/* Prevent any hero content from forcing horizontal overflow. */
body.mmm-v33 .mmm-hero,
body.mmm-v33 .mmm-wrap,
body.mmm-v33 .mmm-hero-grid,
body.mmm-v33 .mmm-hero-grid > *{
  min-width:0!important;
  box-sizing:border-box!important;
}
body.mmm-v33 .mmm-page{
  overflow-x:hidden!important;
}

/* Slightly temper large hero headings on mid-size desktop. */
@media(max-width:1180px){
  body.mmm-v33 .mmm-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(340px,380px)!important;
    gap:34px!important;
  }
  body.mmm-v33 .mmm-h1{
    font-size:clamp(2.7rem,5vw,4.1rem)!important;
  }
}

/* At this breakpoint, stack before squeezing. */
@media(max-width:940px){
  body.mmm-v33 .mmm-hero-grid{
    grid-template-columns:1fr!important;
  }
  body.mmm-v33 .mmm-system-card,
  body.mmm-v33 .mmm-hero aside.mmm-card{
    max-width:680px!important;
    width:100%!important;
    justify-self:start!important;
    margin-top:6px!important;
  }
}

/* Tablet: keep condition cards in one row while there is room. */
@media(min-width:620px) and (max-width:939px){
  body.mmm-v33 .mmm-condition-row{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Small screens: stack condition cards rather than clip them. */
@media(max-width:619px){
  body.mmm-v33 .mmm-condition-row{
    grid-template-columns:1fr!important;
  }
  body.mmm-v33 .mmm-condition{
    text-align:left!important;
    padding:12px 14px!important;
  }
  body.mmm-v33 .mmm-system-card{
    padding:22px 18px!important;
  }
}


/* =========================
   V21 PRODUCTION HARDENING
   ========================= */

/* Global width integrity: do not allow Astra containers/sidebar assumptions
   to reintroduce the Assessment white strip or horizontal clipping. */
body.mmm-v33 #content,
body.mmm-v33 .site-content,
body.mmm-v33 .site-content > .ast-container,
body.mmm-v33 #primary,
body.mmm-v33 .content-area,
body.mmm-v33 .site-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
}
body.mmm-v33 .site-content > .ast-container{
  display:block!important;
}
body.mmm-v33 #secondary,
body.mmm-v33 .widget-area.secondary{
  display:none!important;
}
body.mmm-v33,
body.mmm-v33 .site,
body.mmm-v33 .mmm-page{
  overflow-x:hidden!important;
}

/* Accessible focus treatment */
body.mmm-v33 a:focus-visible,
body.mmm-v33 button:focus-visible,
body.mmm-v33 input:focus-visible,
body.mmm-v33 select:focus-visible,
body.mmm-v33 textarea:focus-visible{
  outline:3px solid var(--mmm-gold)!important;
  outline-offset:3px!important;
  border-radius:6px;
}

/* Minimum touch target for primary interactive controls */
body.mmm-v33 .mmm-btn,
body.mmm-v33 button,
body.mmm-v33 input[type="submit"],
body.mmm-v33 input[type="button"]{
  min-height:44px;
}

/* Better text contrast on muted text */
body.mmm-v33 .mmm-note{
  color:#5c625d!important;
}

/* Status badges: distinguish live vs planned without implying unavailable tools work */
.mmm-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mmm-status-live{
  background:#e5efdf;
  color:#21492d;
  border:1px solid #c9ddc1;
}
.mmm-status-planned{
  background:#f3ecd6;
  color:#6e5716;
  border:1px solid #e5d59a;
}

/* Disabled/non-clickable planned actions */
.mmm-planned-action{
  color:#70736f!important;
  text-decoration:none!important;
  cursor:default!important;
  pointer-events:none!important;
  opacity:.9;
}

/* Make tool cards robust */
.mmm-tool-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.mmm-tool-card .mmm-tool-action{
  margin-top:auto;
  padding-top:18px;
}

/* Planned feature grid: keep clear visual distinction */
.mmm-card.is-planned{
  background:#f8f4e8;
  border-color:#eadfba;
}

/* Assessment form controls */
body.page-template-page-assessment .mmm-assessment-content-v19 input,
body.page-template-page-assessment .mmm-assessment-content-v19 select,
body.page-template-page-assessment .mmm-assessment-content-v19 textarea,
body.page-template-page-assessment .mmm-assessment-content-v19 button{
  max-width:100%;
  box-sizing:border-box;
}
body.page-template-page-assessment .mmm-assessment-content-v19 label{
  color:#29382e;
}

/* Mobile / tablet QA safeguards */
@media(max-width:940px){
  body.mmm-v33 .mmm-wrap{
    width:min(100% - 30px,1120px)!important;
  }
}
@media(max-width:560px){
  body.mmm-v33 .mmm-wrap{
    width:calc(100% - 22px)!important;
  }
  body.mmm-v33 .mmm-h1{
    font-size:clamp(2.25rem,12vw,3.25rem)!important;
    line-height:1.02!important;
  }
  body.mmm-v33 .mmm-h2{
    font-size:clamp(1.8rem,8vw,2.4rem)!important;
  }
  body.mmm-v33 .mmm-actions{
    align-items:stretch;
  }
  body.mmm-v33 .mmm-btn{
    width:100%;
  }
  body.mmm-v33 .mmm-card,
  body.mmm-v33 .mmm-system-card{
    padding:20px!important;
  }
}


/* V22 assessment-route safety: apply full-width treatment by route class too. */
body.mmm-route-assessment .mmm-page,
body.mmm-route-assessment .mmm-hero,
body.mmm-route-assessment .mmm-assessment-stage-v19{
  width:100%!important;
  max-width:none!important;
}
body.mmm-route-assessment #content,
body.mmm-route-assessment .site-content,
body.mmm-route-assessment .site-content > .ast-container,
body.mmm-route-assessment #primary,
body.mmm-route-assessment .content-area,
body.mmm-route-assessment .site-main{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  float:none!important;
}
body.mmm-route-assessment #secondary{
  display:none!important;
}


/* =========================
   V23 SELF-CONTAINED ASSESSMENT
   Locked MMM design — functional addition only
   ========================= */

.mmm-assessment-intro{
  max-width:850px;
  margin:0 auto 26px;
}
.mmm-assessment-intro > :first-child{margin-top:0}
.mmm-assessment-shell-v23{
  width:min(900px,100%);
  margin:0 auto;
  background:#fffdf8;
  border:1px solid rgba(49,91,61,.14);
  border-radius:22px;
  padding:34px;
  box-shadow:0 12px 32px rgba(33,73,45,.07);
  box-sizing:border-box;
}
.mmm-assessment-shell-v23 .mmm-progress{
  height:8px;
  background:#e8e1d2;
  border-radius:999px;
  overflow:hidden;
  margin-bottom:30px;
}
.mmm-assessment-shell-v23 .mmm-progress span{
  display:block;
  height:100%;
  width:0;
  background:var(--mmm-gold);
  transition:width .25s ease;
}
.mmm-assessment-shell-v23 #mmm-question h2{
  color:var(--mmm-green-dark);
  font-family:'League Spartan',sans-serif;
  font-size:clamp(1.65rem,3vw,2.25rem);
  line-height:1.16;
  margin:.3rem 0 0;
}
.mmm-assessment-shell-v23 .mmm-choices{
  display:grid;
  gap:12px;
  margin:26px 0;
}
.mmm-assessment-shell-v23 .mmm-choices button{
  width:100%;
  min-height:52px;
  padding:15px 18px;
  border:1px solid rgba(49,91,61,.18);
  border-radius:13px;
  background:#fff;
  color:#333a34;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.mmm-assessment-shell-v23 .mmm-choices button:hover{
  background:#faf6eb;
  border-color:rgba(49,91,61,.42);
}
.mmm-assessment-shell-v23 .mmm-choices button.selected{
  background:#eef3e8;
  border-color:var(--mmm-green-dark);
  box-shadow:inset 0 0 0 1px var(--mmm-green-dark);
}
.mmm-assessment-shell-v23 .mmm-choices button:focus-visible{
  outline:3px solid var(--mmm-gold);
  outline-offset:2px;
}
.mmm-assessment-shell-v23 .mmm-assess-actions{
  display:flex;
  justify-content:space-between;
  gap:14px;
  margin-top:22px;
}
.mmm-assessment-shell-v23 .mmm-assess-actions[hidden]{
  display:none!important;
}
.mmm-assessment-shell-v23 .mmm-result-condition{
  border-radius:18px;
  padding:22px 24px;
  margin-bottom:22px;
  border:1px solid transparent;
}
.mmm-assessment-shell-v23 .mmm-result-condition.green{
  background:#e7f2e5;
  border-color:#bfd7be;
}
.mmm-assessment-shell-v23 .mmm-result-condition.yellow{
  background:#fbf1ce;
  border-color:#e5cf84;
}
.mmm-assessment-shell-v23 .mmm-result-condition.red{
  background:#f7dfdc;
  border-color:#dfaaa4;
}
.mmm-assessment-shell-v23 .mmm-result-condition h2{
  color:var(--mmm-green-dark);
  font-family:'League Spartan',sans-serif;
  font-size:2.2rem;
  margin:.2rem 0 .4rem;
}
.mmm-assessment-shell-v23 .mmm-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:18px 0 28px;
}
.mmm-assessment-shell-v23 .mmm-result-grid>div{
  background:#fff;
  border:1px solid rgba(49,91,61,.13);
  border-radius:16px;
  padding:20px;
}
.mmm-assessment-shell-v23 .mmm-result-grid h3{
  color:var(--mmm-green-dark);
  margin-top:0;
}
.mmm-assessment-shell-v23 .mmm-result-grid ul{
  margin:.5rem 0 0;
  padding-left:1.2rem;
}
.mmm-assessment-shell-v23 .mmm-next-title,
.mmm-assessment-shell-v23 .mmm-maintain-title{
  color:var(--mmm-green-dark);
  font-family:'League Spartan',sans-serif;
  margin:30px 0 8px;
  font-size:1.55rem;
}
.mmm-assessment-shell-v23 .mmm-result-context{
  background:#f4efe2;
  border-left:4px solid var(--mmm-gold);
  border-radius:0 12px 12px 0;
  padding:14px 16px;
  color:#505650;
  margin:0 0 15px;
}
.mmm-assessment-shell-v23 .mmm-result-actions{
  display:grid;
  gap:12px;
  margin:12px 0 24px;
}
.mmm-assessment-shell-v23 .mmm-result-action{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  background:#fff;
  border:1px solid rgba(49,91,61,.13);
  border-radius:16px;
  padding:17px;
}
.mmm-assessment-shell-v23 .mmm-result-action>span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--mmm-gold);
  color:#fff;
  font-weight:700;
}
.mmm-assessment-shell-v23 .mmm-result-action--maintain{
  background:#f7f4e9;
}
.mmm-assessment-shell-v23 .mmm-result-action--maintain>span{
  background:var(--mmm-green-dark);
}
.mmm-assessment-shell-v23 .mmm-result-action h3{
  color:var(--mmm-green-dark);
  margin:0 0 4px;
}
.mmm-assessment-shell-v23 .mmm-result-action p{
  margin:0;
}
.mmm-assessment-shell-v23 .mmm-result-note{
  font-size:.9rem;
  color:#626862;
  line-height:1.6;
  margin-top:24px;
}
.mmm-assessment-shell-v23 .mmm-btns{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
@media(max-width:700px){
  .mmm-assessment-shell-v23{
    padding:22px 18px;
  }
  .mmm-assessment-shell-v23 .mmm-result-grid{
    grid-template-columns:1fr;
  }
  .mmm-assessment-shell-v23 .mmm-result-action{
    grid-template-columns:36px minmax(0,1fr);
  }
  .mmm-assessment-shell-v23 .mmm-assess-actions,
  .mmm-assessment-shell-v23 .mmm-btns{
    flex-direction:column;
  }
  .mmm-assessment-shell-v23 .mmm-btn{
    width:100%;
  }
}


/* =========================
   V24 MINOR PRODUCTION FIXES
   Design remains locked.
   ========================= */

body.mmm-route-learn #content,
body.mmm-route-about #content,
body.mmm-route-contact #content,
body.mmm-route-learn .site-content,
body.mmm-route-about .site-content,
body.mmm-route-contact .site-content,
body.mmm-route-learn #primary,
body.mmm-route-about #primary,
body.mmm-route-contact #primary{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Remove generic Astra title/spacing shells from custom MMM pages. */
body.mmm-route-learn .entry-header,
body.mmm-route-about .entry-header,
body.mmm-route-contact .entry-header,
body.mmm-route-assessment .entry-header,
body.mmm-route-start-here .entry-header,
body.mmm-route-tools .entry-header{
  display:none!important;
}

/* Shared two-column content pattern using the locked card language. */
.mmm-two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
.mmm-callout{
  background:#f4efe2;
  border:1px solid rgba(49,91,61,.13);
  border-left:5px solid var(--mmm-gold);
  border-radius:18px;
  padding:28px;
}
@media(max-width:820px){
  .mmm-two-col{grid-template-columns:1fr}
}

/* Prevent blank bands caused by inherited minimum heights. */
body.mmm-route-learn .site-main,
body.mmm-route-about .site-main,
body.mmm-route-contact .site-main{
  min-height:0!important;
}

/* Footer link stability */
.mmm-footer a{
  text-decoration:none;
}
.mmm-footer a:hover,
.mmm-footer a:focus-visible{
  text-decoration:underline;
}

/* =========================================================
   V31 MOBILE LAUNCH POLISH
   Desktop/tablet layouts intentionally unchanged.
   ========================================================= */
@media (max-width: 700px) {
  body.mmm-v33 .site-header .ast-container,
  body.mmm-v33 .ast-primary-header-bar .site-primary-header-wrap,
  body.mmm-v33 .site-header-primary-section-left,
  body.mmm-v33 .site-header-primary-section-right {
    min-height: 0;
  }

  body.mmm-v33 .site-branding {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  body.mmm-v33 .site-logo-img img,
  body.mmm-v33 .custom-logo-link img {
    max-height: 72px;
    width: auto;
  }

  body.mmm-v33 .site-title,
  body.mmm-v33 .site-title a {
    line-height: 1.08;
  }

  body.mmm-v33.home .mmm-hero,
  body.mmm-v33.home .mmm-home-hero,
  body.mmm-v33.home main .entry-content > section:first-child {
    padding-top: 26px !important;
  }

  body.mmm-v33.home .mmm-hero h1,
  body.mmm-v33.home .mmm-home-hero h1,
  body.mmm-v33.home main .entry-content > section:first-child h1 {
    font-size: clamp(2.2rem, 11vw, 3.15rem);
    line-height: 1.04;
    margin-bottom: 16px;
  }

  body.mmm-v33.home .mmm-hero p,
  body.mmm-v33.home .mmm-home-hero p,
  body.mmm-v33.home main .entry-content > section:first-child p {
    line-height: 1.48;
  }

  body.mmm-v33 #ast-scroll-top,
  body.mmm-v33 .ast-scroll-top-icon,
  body.mmm-v33 .scroll-to-top,
  body.mmm-v33 .mmm-back-to-top {
    right: 14px !important;
    bottom: 84px !important;
    z-index: 50;
  }

  body.mmm-v33 .site-footer,
  body.mmm-v33 footer.site-footer,
  body.mmm-v33 .mmm-footer {
    padding-bottom: max(96px, calc(72px + env(safe-area-inset-bottom))) !important;
  }

  body.mmm-v33 .site-footer p,
  body.mmm-v33 footer.site-footer p,
  body.mmm-v33 .mmm-footer p {
    line-height: 1.5;
  }
}

@media (max-width: 390px) {
  body.mmm-v33 .site-logo-img img,
  body.mmm-v33 .custom-logo-link img {
    max-height: 64px;
  }

  body.mmm-v33.home .mmm-hero h1,
  body.mmm-v33.home .mmm-home-hero h1,
  body.mmm-v33.home main .entry-content > section:first-child h1 {
    font-size: clamp(2rem, 10.5vw, 2.75rem);
  }
}



/* =========================
   V33 PRODUCTION COMPLETION
   V31 visual system remains locked.
   ========================= */
.mmm-route-card{display:flex!important;flex-direction:column;text-decoration:none!important;color:inherit!important;min-height:235px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.mmm-route-card:hover{transform:translateY(-2px);border-color:rgba(49,91,61,.28)!important;box-shadow:0 10px 26px rgba(42,61,43,.08)}
.mmm-route-card span:last-child{margin-top:auto;color:var(--mmm-green-dark);font-weight:700}
.mmm-topic-stack{display:grid;gap:18px}.mmm-topic-detail ul{margin:.75rem 0 0;padding-left:1.2rem}.mmm-topic-detail li{margin:.45rem 0}
.mmm-reality-tool{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}
.mmm-reality-form label{display:block;font-weight:600;color:var(--mmm-green-dark);margin:0 0 16px}
.mmm-reality-form input{display:block;width:100%;box-sizing:border-box;margin-top:7px;min-height:48px;border:1px solid rgba(49,91,61,.22);border-radius:11px;background:#fff;padding:10px 12px;font:inherit}
.mmm-field-help{display:block;font-weight:400;color:#666b66;font-size:.78rem;line-height:1.4;margin-top:3px}
.mmm-reality-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.mmm-reality-metrics>div{background:#f7f4e9;border:1px solid rgba(49,91,61,.12);border-radius:14px;padding:16px}
.mmm-reality-metrics small{display:block;color:#6b6f6a;margin-bottom:6px}.mmm-reality-metrics strong{display:block;color:var(--mmm-green-dark);font-family:'League Spartan',sans-serif;font-size:1.45rem}
.mmm-reality-questions h3{margin-top:0;color:var(--mmm-green-dark)}
@media(max-width:850px){.mmm-reality-tool{grid-template-columns:1fr}}
@media(max-width:560px){.mmm-reality-metrics{grid-template-columns:1fr}}
