
:root{--fmm-ink:#17324d;--fmm-blue:#102e49;--fmm-gold:#b58b37;--fmm-light:#eff5f8;--fmm-line:#dce5ec}
html{scroll-behavior:smooth}
body{overflow-wrap:anywhere}
.menu{position:relative;z-index:5}
.menu-inner{display:flex;flex-wrap:wrap;gap:.25rem .85rem;align-items:center;justify-content:center}
.menu-inner a{font-weight:650;padding:.7rem .35rem}
.fmm-hero{background:linear-gradient(128deg,#102e49,#1d5471);color:white;padding:4.2rem 0}
.fmm-hero h1,.fmm-hero p{color:white}
.fmm-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.13;max-width:780px;margin:.5rem 0 1.1rem}
.fmm-hero p{font-size:1.13rem;max-width:650px;opacity:.95}
.fmm-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:750;color:#c9dce6}
.fmm-hero .fmm-kicker{color:#e8cf91}
.fmm-cta{display:inline-block;text-decoration:none;border-radius:.55rem;background:#f6d995;color:#152b42;font-weight:750;padding:.8rem 1.1rem;margin:.9rem .65rem .1rem 0}
.fmm-cta.secondary{background:transparent;color:inherit;border:1px solid currentColor}
.fmm-section{padding:3.1rem 0}
.fmm-section.tint{background:#f2f6f9}
.fmm-section h2{color:#17324d;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 1rem}
.fmm-lead{max-width:780px;font-size:1.08rem}
.fmm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.4rem}
.fmm-card{background:white;border:1px solid var(--fmm-line);border-radius:1rem;padding:1.4rem;box-shadow:0 8px 18px rgba(10,34,54,.04)}
.fmm-card h3{margin:.2rem 0 .55rem;font-size:1.21rem;color:#183955}
.fmm-card p{margin:.3rem 0 1rem}
.fmm-card a{font-weight:700}
.fmm-pill{display:inline-block;border-radius:100px;background:#e5eff5;color:#214761;padding:.27rem .7rem;font-size:.77rem;font-weight:750;margin-bottom:.6rem}
.fmm-search{display:block;width:100%;max-width:750px;background:white;border:2px solid #c7d9e5;border-radius:.8rem;padding:1rem;font:inherit;color:#152b42}
.fmm-search:focus,.fmm-input:focus{outline:3px solid #e5bd67;outline-offset:2px}
.fmm-results{background:white;color:#193c56;max-width:750px;border-radius:.7rem;padding:.2rem 1rem;margin-top:.45rem}
.fmm-results:empty{display:none}
.fmm-results a{display:block;padding:.55rem .15rem;border-bottom:1px solid #e7edf2}
.fmm-input{width:100%;max-width:280px;border:1px solid #889eae;border-radius:.4rem;padding:.6rem;font:inherit;background:white}
.fmm-field{display:flex;flex-direction:column;gap:.35rem;max-width:300px}
.fmm-fields{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;margin:1rem 0}
.fmm-answer{background:#edf5f9;border-left:4px solid #b58b37;padding:1rem;font-weight:650;margin-top:1rem}
.fmm-note{background:#f5f8fa;border-left:4px solid #b58b37;padding:1rem;margin:1rem 0;color:#233d4b}
.fmm-citation{font-size:.9rem}
.fmm-faq details{border:1px solid var(--fmm-line);border-radius:.7rem;padding:1.1rem;background:#fff;margin:.7rem 0}
.fmm-faq summary{font-weight:750;cursor:pointer}
.fmm-small{font-size:.9rem;color:#435c6c}
.fmm-article{max-width:850px}
.fmm-article h2{margin-top:1.6rem}
.fmm-links{display:flex;gap:1rem;flex-wrap:wrap}
.fmm-links a{font-weight:650}
.fmm-free{color:#164f57;font-weight:750}
@media(max-width:640px){.fmm-hero{padding:2.7rem 0}.fmm-section{padding:2.1rem 0}.menu-inner{justify-content:flex-start;gap:.2rem .65rem}.menu-inner a{font-size:.9rem}.fmm-grid{grid-template-columns:1fr}}


/* Phase 2: editorial readability and accessibility */
:root{--fmm-navy:#102e49;--fmm-ochre:#b58b37;--fmm-focus:#ffd36d}
.fmm-menu-shell{display:flex;align-items:center;gap:1rem;justify-content:space-between;width:100%;max-width:1200px;margin:auto}
.fmm-menu-items{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem 1rem}
.fmm-menu-items>a,.fmm-menu-items summary{color:inherit;text-decoration:none;font-size:.93rem;font-weight:700;padding:.65rem .3rem;cursor:pointer}
.fmm-menu-items a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:.4em}
.fmm-menu-items details{position:relative}
.fmm-menu-items details>div{display:flex;flex-direction:column;min-width:220px;padding:.55rem;background:#fff;color:#17324d;border:1px solid #cbdbe4;box-shadow:0 12px 25px #102e4925;border-radius:.55rem;position:absolute;z-index:25;top:100%;left:0}
.fmm-menu-items details>div a{display:block;padding:.58rem .68rem;color:#17324d}
.fmm-menu-items details>div a:hover{background:#edf4f8}
.fmm-menu-toggle{display:none;background:#fff;color:#17324d;border:1px solid #8da3b4;border-radius:.5rem;padding:.65rem .85rem;font:inherit;font-weight:700}
.fmm-search-help{font-size:.88rem;margin-top:.5rem}
.fmm-result-count{font-size:.9rem;font-weight:650;margin:.8rem 0}
.fmm-result-card{display:block;padding:1rem;border:1px solid #dbe5ec;border-radius:.6rem;margin:.6rem 0;background:#fff;color:#17324d}
.fmm-result-card strong{display:block;font-size:1.02rem}
.fmm-result-card span{display:block;font-size:.88rem;margin-top:.3rem;color:#41596a}
.fmm-result-category{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.fmm-editorial{padding:1rem 1.15rem;background:#f0f5f8;color:#263f51;border-radius:.7rem;border-left:4px solid #b58b37;margin:1.5rem auto;max-width:920px;font-size:.92rem}
.fmm-editorial p{margin:.25rem 0 .6rem}
.fmm-editorial a{font-weight:700}
.fmm-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}
.fmm-figure{background:white;border:1px solid #dce5ec;padding:1.05rem;border-radius:.7rem}
.fmm-figure strong{display:block;font-size:1.45rem;margin:.25rem 0}
.fmm-figure span{color:#425868;font-size:.88rem}
.fmm-print{padding:.65rem 1rem;background:#183a56;border:0;border-radius:.5rem;color:white;font:inherit;font-weight:700;cursor:pointer}
.fmm-topics{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0}
.fmm-topics a{display:inline-block;padding:.55rem .8rem;border:1px solid #b7c9d5;border-radius:5rem}
.fmm-filter-label{display:block;font-weight:700;margin:1rem 0 .4rem}
.fmm-download-card[hidden]{display:none!important}
.fmm-card a,.fmm-menu a{overflow-wrap:anywhere}
.fmm-faq summary{min-height:24px}
:where(a,button,input,summary,select,textarea):focus-visible{outline:3px solid #d29b25!important;outline-offset:3px!important}
@media(max-width:850px){
.fmm-menu-shell{display:block}
.fmm-menu-toggle{display:block;margin:.4rem 0}
.fmm-menu-items{display:none;align-items:stretch;flex-direction:column;gap:.15rem;padding:.3rem 0}
.fmm-menu-items[data-open="true"]{display:flex}
.fmm-menu-items>a,.fmm-menu-items summary{padding:.7rem .8rem}
.fmm-menu-items details>div{position:static;box-shadow:none;border:0;border-left:2px solid #bccdd9;margin-left:1rem;border-radius:0}
}
@media(min-width:851px){.fmm-menu-items{display:flex!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media print{nav,.fmm-menu-toggle,.fmm-print,.fmm-cta,.fmm-search{display:none!important}.fmm-hero{background:white!important;color:#172e45!important;padding:1rem 0}.fmm-hero h1,.fmm-hero p{color:#172e45!important}.fmm-card{box-shadow:none;break-inside:avoid}}

.fmm-access-skip{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.fmm-access-skip:focus{left:1rem;top:.5rem;width:auto;height:auto;z-index:100;background:#fff;color:#102e49;padding:.8rem 1rem;border:3px solid #b58b37}


/* Original Family Money Matters design unification — new pages only.
   Existing life-stage and legacy editorial pages are left untouched. */
:root{--fmm-ink:var(--ink);--fmm-blue:var(--navy);--fmm-gold:var(--blue);--fmm-light:var(--pale);--fmm-line:var(--line);--fmm-navy:var(--navy);--fmm-ochre:var(--blue);--fmm-focus:var(--red)}
.fmm-cohesive-page{color:var(--ink)}
.fmm-cohesive-page .fmm-hero,
.fmm-cohesive-page .fmm-original-hero{
 background:linear-gradient(115deg,#0b2557,#123d73)!important;
 color:#fff!important;padding:58px 0 64px;
}
.fmm-cohesive-page .fmm-hero h1{color:#fff!important;line-height:1.16;letter-spacing:-.025em}
.fmm-cohesive-page .fmm-hero p{color:#edf6ff;line-height:1.72}
.fmm-cohesive-page .fmm-kicker{color:#bddcf8!important;font-weight:750;letter-spacing:.09em}
.fmm-cohesive-page .fmm-hero .fmm-kicker{color:#bddcf8!important}
.fmm-cohesive-page .fmm-section.block{padding-top:58px;padding-bottom:58px}
.fmm-cohesive-page .fmm-section.tint.soft{background:var(--pale)}
.fmm-cohesive-page .fmm-section h2{color:var(--navy)}
.fmm-cohesive-page .fmm-card{
 background:#fff;border:1px solid var(--line);border-radius:12px;
 box-shadow:0 9px 24px #0b25570b;padding:1.45rem;
}
.fmm-cohesive-page .fmm-card h3{color:var(--navy)}
.fmm-cohesive-page .fmm-card>a,
.fmm-cohesive-page .fmm-card p>a{color:var(--blue)}
.fmm-cohesive-page .fmm-pill{background:#eaf4ff;color:var(--navy)}
.fmm-cohesive-page .fmm-note,
.fmm-cohesive-page .fmm-editorial{background:#edf6ff;border-left-color:var(--blue);color:var(--ink)}
.fmm-cohesive-page .fmm-answer{background:#edf6ff;border-left-color:var(--blue)}
.fmm-cohesive-page .fmm-results,
.fmm-cohesive-page .fmm-result-card{color:var(--ink)}
.fmm-cohesive-page .fmm-search,
.fmm-cohesive-page .fmm-input{border-color:#9ab9d4}
.fmm-cohesive-page .fmm-cta.button:not(.secondary),
.fmm-cohesive-page .fmm-print{background:var(--red);color:#fff;border:1px solid var(--red);border-radius:10px}
.fmm-cohesive-page .fmm-cta.button.secondary{background:transparent;color:#fff;border:1px solid #fff}
.fmm-cohesive-page .fmm-cta.button.secondary:hover{background:#ffffff1e;color:#fff}
.fmm-cohesive-page .fmm-faq details{border-color:var(--line);border-radius:11px}
.fmm-cohesive-page .fmm-faq summary{color:var(--navy)}
.fmm-menu-items details>div{border-color:var(--line);color:var(--ink)}
.fmm-menu-items details>div a{color:var(--navy)}
.fmm-menu-items details>div a:hover{background:var(--pale)}
.fmm-menu-toggle{border-color:#9ab9d4;color:var(--navy)}
:where(a,button,input,summary,select,textarea):focus-visible{outline:3px solid var(--red)!important;outline-offset:3px!important}
@media(max-width:650px){
 .fmm-cohesive-page .fmm-hero{padding:38px 0 44px}
 .fmm-cohesive-page .fmm-section.block{padding-top:38px;padding-bottom:38px}
 .fmm-cohesive-page .fmm-card{padding:1.15rem}
}
@media print{
 .fmm-cohesive-page .fmm-hero{background:#fff!important;color:var(--ink)!important}
 .fmm-cohesive-page .fmm-hero h1,.fmm-cohesive-page .fmm-hero p{color:var(--ink)!important}
}

/* Original component implementation, not a colour-only approximation. */
.fmm-cohesive-page main .fmm-hero.fmm-original-layout.hero{
 background:linear-gradient(120deg,#fff,#edf6ff)!important;
 color:var(--ink)!important;
 padding:64px 0 56px!important;
}
.fmm-cohesive-page main .fmm-original-layout .hero-grid{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 align-items:center;gap:40px;
}
.fmm-cohesive-page main .fmm-original-layout h1{
 font-size:clamp(2.5rem,4.6vw,4.25rem)!important;
 color:var(--navy)!important;line-height:1.09;letter-spacing:-.035em;
 margin:15px 0;
}
.fmm-cohesive-page main .fmm-original-layout p{
 color:var(--ink)!important;font-size:1.16rem;line-height:1.65;
}
.fmm-cohesive-page main .fmm-original-layout .fmm-kicker,
.fmm-cohesive-page main .fmm-original-layout .eyebrow{color:var(--blue)!important}
.fmm-cohesive-page main .fmm-original-layout img.fmm-original-illustration{
 width:100%;height:auto;max-height:350px;object-fit:contain;border-radius:22px;
}
.fmm-cohesive-page main .fmm-original-layout .fmm-search{
 max-width:100%;box-sizing:border-box;
}
.fmm-cohesive-page main .fmm-original-layout .fmm-results{
 max-width:100%;margin-bottom:1rem;
}
.fmm-cohesive-page main a.fmm-cta.button:not(.secondary),
.fmm-cohesive-page main button.fmm-print.button{
 background:#123d73!important;color:#fff!important;
 border:0!important;border-radius:10px!important;
 padding:13px 21px!important;font-weight:800;
}
.fmm-cohesive-page main a.fmm-cta.button.secondary.outline{
 background:#fff!important;color:#123d73!important;
 border:2px solid #a6c2dd!important;border-radius:10px!important;
 padding:11px 19px!important;
}
.fmm-cohesive-page main .fmm-card.card{
 background:#fff!important;border:1px solid var(--line)!important;
 border-radius:18px!important;padding:26px!important;
 box-shadow:0 8px 24px #0b25570a!important;
}
.fmm-cohesive-page main .fmm-grid.grid.three{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:25px;
}
.fmm-cohesive-page main .fmm-card .fmm-original-card-illustration{
 display:block;width:100%;height:170px;max-height:170px;
 object-fit:contain;margin-bottom:16px;
}
.fmm-cohesive-page main .fmm-pill.tag{
 background:#e6f2fc;color:var(--navy);border-radius:50px;
 padding:6px 12px;
}
.fmm-cohesive-page main .fmm-note.notice{
 background:#fff5f4!important;border-left:5px solid var(--red)!important;
 border-radius:9px!important;padding:18px 22px!important;
}
.fmm-cohesive-page main .fmm-section.block.soft{
 background:var(--pale)!important;
}
.fmm-cohesive-page main .fmm-section.block:not(.soft){
 background:#fff!important;
}
.fmm-cohesive-page main .fmm-answer{
 background:#edf6ff;border-left-color:var(--blue);
}
.fmm-cohesive-page main .fmm-article.resource-content{
 line-height:1.7;
}
@media(max-width:840px){
 .fmm-cohesive-page main .fmm-original-layout .hero-grid{
  grid-template-columns:1fr!important;gap:18px;
 }
 .fmm-cohesive-page main .fmm-original-layout img.fmm-original-illustration{
  max-height:230px;
 }
 .fmm-cohesive-page main .fmm-grid.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
 .fmm-cohesive-page main .fmm-grid.grid.three{grid-template-columns:1fr}
 .fmm-cohesive-page main .fmm-hero.fmm-original-layout.hero{padding:36px 0!important}
 .fmm-cohesive-page main .fmm-card.card{padding:20px!important}
}
@media print{
 .fmm-cohesive-page main .fmm-original-layout img{display:none}
}

/* A balanced 2 x 2 life-stage layout, without changing original card artwork. */
.fmm-cohesive-page main .fmm-life-stage-grid.grid.three{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;
}
.fmm-cohesive-page main .fmm-life-stage-grid > article.fmm-card{
 display:flex;flex-direction:column;min-width:0;height:100%;
}
.fmm-cohesive-page main .fmm-life-stage-grid > article.fmm-card > a:last-child{
 margin-top:auto;align-self:flex-start;padding-top:12px;
}
.fmm-cohesive-page main .fmm-life-stage-grid img.fmm-original-card-illustration{
 display:block;width:100%;height:170px;max-height:170px;object-fit:contain;
}
@media(max-width:650px){
 .fmm-cohesive-page main .fmm-life-stage-grid.grid.three{grid-template-columns:1fr}
}

/* Readable global menu against original dark blue navigation bar. */
nav.menu .fmm-menu-items > a,
nav.menu .fmm-menu-items > details > summary {
 color:#fff !important;opacity:1 !important;
 text-shadow:none; font-weight:750;
}
nav.menu .fmm-menu-items > a:hover,
nav.menu .fmm-menu-items > details > summary:hover,
nav.menu .fmm-menu-items > a[aria-current="page"]{
 color:#fff !important;text-decoration:underline;text-underline-offset:5px;
}
nav.menu .fmm-menu-items details > div{
 background:#fff !important;border:1px solid #c8d9e9;
 box-shadow:0 12px 25px #0b255733;
}
nav.menu .fmm-menu-items details > div a,
nav.menu .fmm-menu-items details > div a:visited{
 color:#0b2557 !important;font-weight:700;opacity:1 !important;
}
nav.menu .fmm-menu-items details > div a:hover,
nav.menu .fmm-menu-items details > div a:focus-visible{
 color:#0b2557 !important;background:#eaf4fc !important;
}
nav.menu .fmm-menu-toggle{
 color:#0b2557 !important;background:#fff !important;
 border:2px solid #fff !important;
}
nav.menu :is(a,summary,button):focus-visible{
 outline:3px solid #ffd166 !important;outline-offset:3px;
}
