/* Meridian Path Planning (concept). Night frame, light pages, one sage action. Every selector is scoped to .b-financial. */
.b-financial {
  --b-bg: #eff0ec; --b-ink: #1b1e1c; --b-acc: #3d5a47; --b-soft: #e1e3dd; --b-on: #ffffff;
  --b-d: "Albert Sans", system-ui, sans-serif; --b-t: "Albert Sans", system-ui, sans-serif;
  --night: #1b1e1c; --night2: #262a27; --night3: #313632; --on-night: #eeefe9; --fog: #aeb2a9;
  --paper: #eff0ec; --paper2: #e1e3dd; --paper3: #e8e9e4; --surface: #f9faf7; --ink: #1b1e1c; --ink2: #4b514b;
  --sage: #8fa68e; --sage-d: #3d5a47; --sage-t: rgba(61, 90, 71, .12); --sage-band: rgba(143, 166, 142, .34);
  --m: clamp(16px, 2.6vw, 40px); --g: clamp(16px, 2vw, 28px); --sec: clamp(88px, 11vw, 168px); --r: 12px;
  --s-sm: 14px; --s-body: 18px; --s-lead: clamp(20px, 1.05rem + .45vw, 24px);
  --s-h2: clamp(32px, 1.3rem + 2.4vw, 54px); --s-h1: clamp(36px, 1.4rem + 3vw, 64px);
  --ease: cubic-bezier(.16, 1, .3, 1);
}
body.b-financial { background: var(--paper); color: var(--ink); font: 400 var(--s-body)/1.55 var(--b-t); font-optical-sizing: auto; }
body.b-financial ::selection { background: var(--sage); color: var(--night); }
body.b-financial { scrollbar-color: var(--ink2) var(--paper2); accent-color: var(--sage-d); caret-color: var(--sage-d); }
.b-financial h1, .b-financial h2 { font-family: var(--b-d); font-weight: 500; letter-spacing: -.03em; line-height: 1.02; text-wrap: balance; margin: 0 0 20px; }
.b-financial h1 { font-size: var(--s-h1); } .b-financial h2 { font-size: var(--s-h2); }
.b-financial p { text-wrap: pretty; }
.b-financial a { text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.b-financial :focus-visible { outline: 3px solid var(--sage); outline-offset: 3px; border-radius: 4px; }
.b-financial .mp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.b-financial .mp-fine { font-size: var(--s-sm); color: var(--ink2); }
.b-financial img { max-width: 100%; height: auto; }

/* ---------- buttons: one pill shape, one solid action per view ---------- */
.b-financial .mp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; border: 0; font: 500 16px/1 var(--b-t); text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform .25s var(--ease), background-color .2s, color .2s; }
.b-financial .mp-btn:active { transform: scale(.97); }
.b-financial .mp-btn--sage { background: var(--sage-d); color: #fff; }
.b-financial .mp-btn--sage:hover { background: #2f4838; }
.b-financial .mp-bar .mp-btn--sage, .b-financial .mps .mp-btn--sage, .b-financial .mpi .mp-btn--sage { background: var(--sage); color: var(--night); }
.b-financial .mp-bar .mp-btn--sage:hover, .b-financial .mps .mp-btn--sage:hover, .b-financial .mpi .mp-btn--sage:hover { background: #a6bba5; }
.b-financial .mp-btn--tint { background: var(--sage-t); color: var(--ink); }
.b-financial .mp-btn--tint:hover { background: rgba(61, 90, 71, .2); }
.b-financial .mp-btn--paper { background: var(--paper); color: var(--ink); }
.b-financial .mp-btn--paper:hover { background: #fff; }
.b-financial .mp-btn:disabled { opacity: .55; cursor: default; transform: none; }

/* ---------- header: the night bar ---------- */
.b-financial .mp-bar { position: relative; z-index: 30; display: flex; align-items: center; gap: 24px; min-height: 72px; padding: 12px var(--m); background: var(--night); color: var(--on-night); }
.b-financial .mp-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--on-night); text-decoration: none; font-size: 21px; margin-right: auto; }
.b-financial .mp-logo__m, .b-financial .dm-logo--own .mp-logo__m { width: 1.6em; height: 1.1em; flex: none; }
.b-financial .mp-logo__t { display: grid; font-weight: 500; letter-spacing: -.01em; line-height: 1; }
.b-financial .mp-logo__t small { font-size: .62em; font-weight: 400; letter-spacing: .02em; opacity: .75; margin-top: 3px; }
.b-financial .mp-nav { display: flex; gap: 4px; }
.b-financial .mp-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; color: var(--on-night); text-decoration: none; font-size: 15px; transition: background-color .2s; }
.b-financial .mp-nav a:hover { background: rgba(174, 178, 169, .16); }
.b-financial .mp-nav a[aria-current] { background: rgba(143, 166, 142, .22); }
.b-financial .mp-bar__end { display: flex; align-items: center; gap: 8px; }
.b-financial .mp-menu { position: relative; display: none; }
.b-financial .mp-menu summary { list-style: none; display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border-radius: 999px; background: rgba(174, 178, 169, .18); cursor: pointer; font-size: 15px; }
.b-financial .mp-menu summary::-webkit-details-marker { display: none; }
.b-financial .mp-menu nav { position: absolute; right: 0; top: calc(100% + 8px); display: grid; min-width: 230px; padding: 8px; border-radius: var(--r); background: var(--night3); transform-origin: top right; animation: mp-pop .22s var(--ease); }
.b-financial .mp-menu nav a { display: flex; align-items: center; min-height: 48px; padding: 0 14px; border-radius: 8px; color: var(--on-night); text-decoration: none; }
.b-financial .mp-menu nav a:hover, .b-financial .mp-menu nav a[aria-current] { background: var(--night3); }
@keyframes mp-pop { from { opacity: 0; transform: scale(.97) translateY(-6px); } }

/* ---------- home hero: the snapshot performs ---------- */
.b-financial .mp-hero { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 64px); align-items: start; padding: clamp(32px, 4vw, 64px) var(--m) clamp(72px, 8vw, 120px); background: var(--night); color: var(--on-night); }
.b-financial .mp-hero__copy { padding-top: clamp(8px, 2vw, 32px); }
.b-financial .mp-hero h1 { color: var(--on-night); }
.b-financial .mp-hero__sub { font-size: var(--s-lead); line-height: 1.35; color: var(--fog); max-width: 30ch; margin: 0 0 28px; }
.b-financial .mp-hero__fee { font-size: var(--s-body); color: var(--fog); max-width: 34ch; margin: 0; }
.b-financial .mp-hero__fee b { display: block; white-space: nowrap; font-size: clamp(30px, 1rem + 2vw, 44px); font-weight: 500; letter-spacing: -.03em; line-height: 1.05; color: var(--on-night); margin-bottom: 8px; font-variant-numeric: tabular-nums; }
.b-financial .mp-hero__more { margin: 28px 0 0; }
.b-financial .mp-hero__more a { color: var(--on-night); font-weight: 500; }

/* ---------- the snapshot fragment ---------- */
.b-financial .mps { font-family: "Albert Sans", system-ui, sans-serif; background: var(--night2); color: var(--on-night); border-radius: var(--r); padding: clamp(16px, 2vw, 26px); font-size: 15px; line-height: 1.4; }
.b-financial .mps__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; margin-bottom: 16px; }
.b-financial .mps__name { margin: 0; font-size: 17px; font-weight: 600; }
.b-financial .mps__sub { margin: 0; font-size: 13px; color: var(--fog); }
.b-financial .mps__in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 18px; }
.b-financial .mps__note { grid-column: 1 / -1; margin: 2px 0 0; font-size: 13px; color: var(--fog); }
.b-financial .mps-f { display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 8px; }
.b-financial .mps-f__l { font-size: 13px; color: var(--fog); }
.b-financial .mps-f__v { font-size: 18px; font-weight: 500; font-variant-numeric: tabular-nums; }
.b-financial .mps input[type=range], .b-financial .mpf input[type=range], .b-financial .mpt input[type=range] { grid-column: 1 / -1; -webkit-appearance: none; appearance: none; width: 100%; height: 40px; margin: 0; background: transparent; cursor: pointer; --fill: 50%; --tr: rgba(174, 178, 169, .28); --th: var(--on-night); --fl: var(--sage); }
.b-financial input[type=range]::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: linear-gradient(90deg, var(--fl) var(--fill), var(--tr) var(--fill)); /* taste-skill-ignore: hard-stop slider fill, not a gradient */ }
.b-financial input[type=range]::-moz-range-track { height: 6px; border-radius: 3px; background: var(--tr); }
.b-financial input[type=range]::-moz-range-progress { height: 6px; border-radius: 3px; background: var(--fl); }
.b-financial input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -9px; border-radius: 50%; background: var(--th); border: 0; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); /* taste-skill-ignore: slider thumb inside data-ui */ transition: transform .15s; }
.b-financial input[type=range]::-moz-range-thumb { width: 24px; height: 24px; border-radius: 50%; background: var(--th); border: 0; }
.b-financial input[type=range]:active::-webkit-slider-thumb { transform: scale(1.15); }
.b-financial .mps__out { margin-top: 10px; padding-top: 14px; }
.b-financial .mps__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; }
.b-financial .mps__score { display: flex; align-items: baseline; gap: 12px; margin: 0; }
.b-financial .mps__score b { font-size: 48px; font-weight: 500; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.b-financial .mps__score span { padding: 6px 12px; border-radius: 999px; background: rgba(143, 166, 142, .2); font-size: 14px; font-weight: 500; }
.b-financial .mps[data-band=gap] .mps__score span { background: rgba(238, 239, 233, .14); }
.b-financial .mps__gap { margin: 0; font-size: 15px; color: var(--fog); max-width: 36ch; }
.b-financial .mps__gap b { color: var(--on-night); font-weight: 500; }
.b-financial .mps__chart { display: block; width: 100%; height: auto; margin: 8px 0 4px; overflow: visible; }
.b-financial .mps__chart .c-grid { stroke: rgba(238, 239, 233, .08); stroke-width: 1; }
.b-financial .mps__chart .c-ax { fill: var(--fog); font: 400 13px "Albert Sans", system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.b-financial .mps__chart .c-band { fill: var(--sage-band); }
.b-financial .mps__chart .c-line { fill: none; stroke: var(--on-night); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.b-financial .mps__chart .c-mer { fill: var(--sage); }
.b-financial .mps__chart .c-gap { fill: rgba(238, 239, 233, .16); }
.b-financial .mps__chart .c-lab { fill: var(--on-night); font: 500 13px "Albert Sans", system-ui, sans-serif; }
.b-financial .mps__chart .c-dot { fill: var(--on-night); }
.b-financial .mps__key { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--fog); }
.b-financial .mps__key li { display: inline-flex; align-items: center; gap: 8px; }
.b-financial .mps__key i { display: inline-block; width: 16px; height: 10px; border-radius: 2px; }
.b-financial .mps__key .k-line { height: 3px; background: var(--on-night); }
.b-financial .mps__key .k-band { background: var(--sage-band); }
.b-financial .mps__key .k-mer { width: 4px; height: 14px; background: var(--sage); }
.b-financial .mps__fix { margin: 10px 0 0; font-size: 15px; max-width: 72ch; }
.b-financial .mps__next { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; margin-top: 16px; padding: 16px; border-radius: 10px; background: var(--night3); }
.b-financial .mps__fit p { margin: 0; color: var(--fog); font-size: 14px; max-width: 42ch; }
.b-financial .mps__fit .mps__fitt { color: var(--on-night); font-size: 16px; font-weight: 600; margin-bottom: 2px; }
.b-financial .mps__acts { display: grid; gap: 6px; justify-items: start; }
.b-financial .mps__alt { color: var(--on-night); font-size: 14px; min-height: 28px; display: inline-flex; align-items: center; }
.b-financial .mps__book { margin-top: 12px; padding: 16px; border-radius: 10px; background: var(--night3); display: grid; gap: 12px; animation: mp-pop .3s var(--ease); }
.b-financial .mps__bk { margin: 0; }
.b-financial .mps__slots, .b-financial .mpi__slots { display: flex; flex-wrap: wrap; gap: 8px; }
.b-financial .mp-slot { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 0; background: rgba(174, 178, 169, .16); color: var(--on-night); font: 500 14px "Albert Sans", system-ui, sans-serif; cursor: pointer; font-variant-numeric: tabular-nums; transition: background-color .2s, transform .2s var(--ease); }
.b-financial .mp-slot:hover { background: rgba(174, 178, 169, .28); }
.b-financial .mp-slot:active { transform: scale(.97); }
.b-financial .mp-slot[aria-pressed=true] { background: var(--sage); color: var(--night); }
.b-financial .mps__who, .b-financial .mpi__who { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.b-financial .mps__who label, .b-financial .mpi__who label { display: grid; gap: 4px; font-size: 13px; color: var(--fog); }
.b-financial .mps input:not([type]), .b-financial .mps input[type=email], .b-financial .mpi input:not([type]), .b-financial .mpi input[type=email], .b-financial .mpi input[type=tel] { min-height: 46px; padding: 0 14px; border-radius: 10px; border: 1px solid rgba(174, 178, 169, .35); background: var(--night); color: var(--on-night); font: 400 16px "Albert Sans", system-ui, sans-serif; }
.b-financial .mps input[aria-invalid=true], .b-financial .mpi input[aria-invalid=true] { border-color: #d9a38f; }
.b-financial .mps__done, .b-financial .mpi__done { margin: 0; padding: 14px 16px; border-radius: 10px; background: rgba(143, 166, 142, .2); color: var(--on-night); }
.b-financial .mps__how { margin-top: 14px; font-size: 13px; color: var(--fog); }
.b-financial .mps__how summary { cursor: pointer; color: var(--on-night); font-size: 14px; min-height: 32px; display: flex; align-items: center; }
.b-financial .mps__how ul { margin: 8px 0; padding-left: 18px; display: grid; gap: 4px; }
.b-financial .mps__how a { color: var(--on-night); }

/* ---------- pinned fee story (paper) ---------- */
.b-financial .mp-sec { padding: var(--sec) var(--m); }
.b-financial .mp-story { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 96px); align-items: start; }
.b-financial .mp-story__pin { position: sticky; top: 24px; }
.b-financial .mp-story__run { display: grid; }
.b-financial .mp-story__i { min-height: 54vh; display: flex; flex-direction: column; justify-content: center; max-width: 34em; transition: opacity .5s var(--ease); }
.b-financial .mp-story__run.is-live .mp-story__i:not(.is-on) { opacity: .32; }
.b-financial .mp-story__h { margin: 0 0 12px; font-size: var(--s-h2); font-weight: 500; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.b-financial .mp-story__i p:last-child { margin: 0; font-size: var(--s-lead); line-height: 1.4; }
.b-financial .mp-story__link { margin: 0; font-weight: 500; }

/* fee calculator fragment */
.b-financial .mpf { font-family: "Albert Sans", system-ui, sans-serif; background: var(--surface); color: var(--ink); border-radius: var(--r); padding: clamp(18px, 2.2vw, 28px); font-size: 15px; }
.b-financial .mpf input[type=range] { --tr: rgba(27, 30, 28, .14); --th: var(--sage-d); --fl: var(--sage-d); }
.b-financial .mpf__name { margin: 0 0 12px; font-weight: 600; font-size: 16px; }
.b-financial .mpf__f { display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 10px; color: var(--ink2); font-size: 14px; }
.b-financial .mpf__f output { color: var(--ink); font-size: 18px; font-weight: 500; font-variant-numeric: tabular-nums; }
.b-financial .mpf__f--big output { font-size: 26px; }
.b-financial .mpf__res { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.b-financial .mpf__col { padding: 16px; border-radius: 10px; background: var(--paper3); }
.b-financial .mpf__col--flat { background: var(--sage-d); color: #fff; }
.b-financial .mpf__k { margin: 0; font-size: 14px; }
.b-financial .mpf__v { margin: 6px 0; font-size: clamp(28px, 2.6vw, 38px); font-weight: 500; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.b-financial .mpf__s { margin: 0; font-size: 13px; line-height: 1.4; }
.b-financial .mpf__s b { font-weight: 600; font-variant-numeric: tabular-nums; }
.b-financial .mpf__diff { margin: 14px 0 6px; font-size: 16px; font-weight: 500; }
.b-financial .mpf__fine { margin: 0; font-size: 13px; color: var(--ink2); }
.b-financial .mpf__yrs { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; align-items: end; height: 150px; margin-top: 16px; }
.b-financial .mpf__yr { display: grid; grid-template-rows: 1fr auto; height: 100%; gap: 4px; }
.b-financial .mpf__yr > div { display: flex; align-items: end; gap: 2px; }
.b-financial .mpf__yr i { flex: 1; border-radius: 3px 3px 0 0; background: rgba(27, 30, 28, .22); height: var(--h); transition: height .4s var(--ease); }
.b-financial .mpf__yr i + i { background: var(--sage-d); }
.b-financial .mpf__yr span { font-size: 13px; text-align: center; color: var(--ink2); font-variant-numeric: tabular-nums; }

/* ---------- who we serve: day tabs, banded rows (paper2 field) ---------- */
.b-financial .mp-serve { background: var(--paper2); }
.b-financial .mp-serve__top { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 32px; }
.b-financial .mp-serve__top h2 { margin: 0; }
.b-financial .mp-serve__top h2 span { display: block; color: var(--ink2); }
.b-financial .mp-serve__body { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; margin-top: 56px; }
.b-financial .mp-tabs { display: grid; gap: 6px; align-content: start; }
.b-financial .mp-tab { display: grid; gap: 2px; text-align: left; min-height: 72px; padding: 12px 16px; border: 0; border-radius: var(--r); background: var(--paper3); color: var(--ink); font: inherit; cursor: pointer; transition: background-color .2s, transform .2s var(--ease); }
.b-financial .mp-tab b { font-size: 16px; font-weight: 600; }
.b-financial .mp-tab span { font-size: 13px; color: var(--ink2); }
.b-financial .mp-tab:hover { background: var(--paper); }
.b-financial .mp-tab[aria-selected=true] { background: var(--night); color: var(--on-night); }
.b-financial .mp-tab[aria-selected=true] span { color: var(--fog); }
.b-financial .mp-bands { display: grid; gap: 4px; }
.b-financial .mp-bands:not([hidden]) .mp-band { animation: mp-rise .5s var(--ease) both; }
.b-financial .mp-bands .mp-band:nth-child(2) { animation-delay: 50ms; } .b-financial .mp-bands .mp-band:nth-child(3) { animation-delay: 100ms; } .b-financial .mp-bands .mp-band:nth-child(4) { animation-delay: 150ms; } .b-financial .mp-bands .mp-band:nth-child(5) { animation-delay: 200ms; }
.b-financial .mp-band { display: grid; grid-template-columns: 150px minmax(0, 1fr) 140px; gap: 6px 24px; align-items: start; min-height: 76px; padding: 18px 20px; border-radius: var(--r); background: var(--paper); }
.b-financial .mp-band:nth-child(even) { background: var(--paper3); }
.b-financial .mp-band p { margin: 0; }
.b-financial .mp-band__t { font-size: 18px; font-weight: 500; font-variant-numeric: tabular-nums; }
.b-financial .mp-band__h { font-size: 18px; font-weight: 600; }
.b-financial .mp-band__n { font-size: 16px; color: var(--ink2); max-width: 62ch; }
.b-financial .mp-band__p { font-size: 14px; color: var(--ink2); text-align: right; }
.b-financial .mp-serve__more { margin: 28px 0 0 272px; font-weight: 500; }
@keyframes mp-rise { from { opacity: 0; transform: translateY(14px); } }

/* ---------- how a plan gets made: falling diagonal ---------- */
.b-financial .mp-diag { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--g); row-gap: 72px; }
.b-financial .mp-diag h2 { grid-column: 7 / 13; grid-row: 1; font-weight: 400; align-self: start; }
.b-financial .mp-diag__s { display: grid; grid-template-columns: subgrid; grid-column: 1 / 13; align-items: start; }
.b-financial .mp-fig { overflow: hidden; border-radius: var(--r); }
.b-financial .mp-diag__s .mp-fig img { display: block; width: 100%; height: 100%; object-fit: cover; }
.b-financial .mp-diag__s p { margin: 0; max-width: 36ch; font-size: var(--s-body); }
.b-financial .mp-diag__s--1 { grid-row: 1 / 3; }
.b-financial .mp-diag__s--1 .mp-fig { grid-column: 1 / 5; aspect-ratio: 3 / 4; }
.b-financial .mp-diag__s--1 p { grid-column: 7 / 11; align-self: end; }
.b-financial .mp-diag__s--2 .mp-fig { grid-column: 6 / 9; aspect-ratio: 1; }
.b-financial .mp-diag__s--2 p { grid-column: 9 / 13; padding-top: 4px; }
.b-financial .mp-diag__s--3 .mp-fig { grid-column: 8 / 13; aspect-ratio: 16 / 10; grid-row: 1; }
.b-financial .mp-diag__s--3 p { grid-column: 3 / 7; grid-row: 1; }

/* ---------- typical situations: quiet ledger on night ---------- */
.b-financial .mp-led { position: relative; background: var(--night); color: var(--on-night); padding-left: max(var(--m), 22vw); }
.b-financial .mp-led__col { max-width: 600px; }
.b-financial .mp-led h2 { color: var(--on-night); }
.b-financial .mp-led__lead { margin: 0 0 32px; color: var(--fog); }
.b-financial .mp-led__rows { display: grid; }
.b-financial .mp-led__r { display: grid; grid-template-columns: 1fr 13em auto; align-items: center; gap: 16px; min-height: 56px; color: var(--on-night); text-decoration: none; transition: color .2s; }
.b-financial .mp-led__n { font-size: 18px; font-weight: 500; }
.b-financial .mp-led__k { font-size: 15px; color: var(--fog); }
.b-financial .mp-led__y { font-size: 15px; color: var(--fog); text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (hover: hover) and (pointer: fine) { .b-financial .mp-led__rows:hover .mp-led__r:not(:hover) { color: rgba(238, 239, 233, .42); } .b-financial .mp-led__rows:hover .mp-led__r:not(:hover) span { color: inherit; } }
.b-financial .mp-led__r:focus-visible { outline-offset: 2px; }
.b-financial .mp-led__frame { position: absolute; top: var(--sec); right: var(--m); width: min(28vw, 400px); aspect-ratio: 4 / 3; border-radius: var(--r); overflow: hidden; transform: translateY(var(--y, 0px)); transition: transform .45s var(--ease); background: var(--night2); }
.b-financial .mp-led__im { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .3s ease; }
.b-financial .mp-led__im.is-on { opacity: 1; }
.b-financial .mp-led__more { margin: 24px 0 0; }
.b-financial .mp-led__more a { color: var(--on-night); font-weight: 500; }

/* ---------- founder's letter ---------- */
.b-financial .mp-letter { padding-block: clamp(120px, 14vw, 200px); }
.b-financial .mp-letter__c { max-width: 560px; margin: 0 auto; }
.b-financial .mp-letter__ph { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; margin-bottom: 28px; background: var(--paper2); }
.b-financial .mp-letter p { font-size: var(--s-body); line-height: 1.6; margin: 0 0 1.2em; }
.b-financial .mp-letter mark { background: rgba(143, 166, 142, .38); color: inherit; padding: 0 .15em; border-radius: 3px; }
.b-financial .mp-letter__sig { font-size: 22px !important; font-style: italic; margin-top: 1.6em !important; }
.b-financial .mp-letter .mp-letter__role { font-size: 14px; color: var(--ink2); margin-top: -1em; }

/* ---------- the action tile row ---------- */
.b-financial .mp-tiles { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 8fr) minmax(0, 2fr); gap: 12px; padding: 0 0 clamp(88px, 10vw, 140px); overflow: hidden; }
.b-financial .mp-tile { min-height: 360px; border-radius: var(--r); overflow: hidden; }
.b-financial .mp-tile--ph { margin-left: -40%; }
.b-financial .mp-tile--ph img { width: 100%; height: 100%; object-fit: cover; }
.b-financial .mp-tile--flat { margin-right: -40%; background: var(--night); }
.b-financial .mp-tile--act { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 40px clamp(24px, 4vw, 64px); background: var(--sage-d); color: #fff; }
.b-financial .mp-tile--act h2 { font-size: clamp(30px, 1.2rem + 1.8vw, 44px); margin-bottom: 12px; }
.b-financial .mp-tile--act p { margin: 0 0 24px; max-width: 44ch; }

/* ---------- footer ---------- */
.b-financial .mp-foot { background: var(--night); color: var(--on-night); padding: clamp(64px, 8vw, 112px) var(--m) 96px; display: grid; gap: 40px; }
.b-financial .mp-foot__docs { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 16px 40px; align-items: start; }
.b-financial .mp-foot__lead { margin: 0; font-size: var(--s-lead); font-weight: 500; }
.b-financial .mp-foot__links { display: flex; flex-wrap: wrap; gap: 8px; }
.b-financial .mp-foot__links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: rgba(174, 178, 169, .16); color: var(--on-night); text-decoration: none; font-size: 15px; transition: background-color .2s; }
.b-financial .mp-foot__links a:hover { background: rgba(174, 178, 169, .3); }
.b-financial .mp-foot__legal { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 24px 40px; }
.b-financial .mp-foot__legal p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--fog); max-width: 72ch; }
.b-financial .mp-foot__line { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px 24px; align-items: baseline; padding-top: 18vh; font-size: 15px; color: var(--fog); }
.b-financial .mp-foot__mid { display: flex; gap: 24px; }
.b-financial .mp-foot__mid a, .b-financial .mp-foot__end a { color: var(--on-night); }
.b-financial .mp-foot__end { text-align: right; }
body.b-financial .dm-credit { background: var(--night); color: var(--fog); margin: 0; padding: 0 var(--m) 88px; font-size: 13px; }
body.b-financial .dm-credit a { color: var(--on-night); }
body.b-financial .dm-chatbtn > button { background: var(--sage-d); color: #fff; font-family: var(--b-t); min-height: 48px; box-shadow: none; /* taste-skill-ignore: removes the shared shadow */ }

/* ---------- who we serve page ---------- */
.b-financial .mp-nhero { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--g); align-items: end; padding: clamp(48px, 7vw, 112px) var(--m) var(--sec); }
.b-financial .mp-nhero h1 { margin-bottom: 24px; font-size: clamp(36px, 1.3rem + 2.6vw, 56px); }
.b-financial .mp-nhero__l { font-size: var(--s-lead); line-height: 1.4; max-width: 30ch; margin: 0; }
.b-financial .mp-nhero__ph { display: grid; grid-template-columns: 7fr 4fr; gap: 12px; align-items: end; }
.b-financial .mp-nhero__ph img { width: 100%; object-fit: cover; border-radius: var(--r); }
.b-financial .mp-nhero__ph img:first-child { aspect-ratio: 3 / 2; }
.b-financial .mp-nhero__ph img:last-child { aspect-ratio: 4 / 5; margin-bottom: -64px; }
.b-financial .mp-row57 { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 96px); align-items: center; background: var(--night); color: var(--on-night); }
.b-financial .mp-row57 h2 { color: var(--on-night); }
.b-financial .mp-row57__t p { max-width: 40ch; }
.b-financial .mp-row57__s { color: var(--fog); }
.b-financial .mpt { font-family: "Albert Sans", system-ui, sans-serif; background: var(--night2); border-radius: var(--r); padding: clamp(18px, 2.4vw, 32px); color: var(--on-night); display: grid; gap: 4px; }
.b-financial .mpt__name { margin: 0 0 8px; font-weight: 600; font-size: 16px; }
.b-financial .mpt__f { display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: 10px; font-size: 14px; color: var(--fog); }
.b-financial .mpt__f output { font-size: 20px; color: var(--on-night); font-weight: 500; font-variant-numeric: tabular-nums; }
.b-financial .mpt__res { margin-top: 12px; padding: 18px; border-radius: 10px; background: var(--night3); }
.b-financial .mpt__res p { margin: 0; }
.b-financial .mpt__v { font-size: 18px; } .b-financial .mpt__v b { font-size: 48px; font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.b-financial .mpt__s { color: var(--fog); font-size: 15px; font-variant-numeric: tabular-nums; }
.b-financial .mpt__e { margin-top: 10px !important; font-weight: 500; }
.b-financial .mpt__fine { margin: 10px 0 0; font-size: 13px; color: var(--fog); }
.b-financial .mp-nurse { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 96px); align-items: start; }
.b-financial .mp-nurse__ph img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); }
.b-financial .mp-nurse__t > p { max-width: 58ch; }
.b-financial .mp-tbl { width: 100%; border-collapse: collapse; margin: 28px 0 12px; font-size: 16px; font-variant-numeric: tabular-nums; }
.b-financial .mp-tbl caption { text-align: left; font-weight: 600; margin-bottom: 10px; }
.b-financial .mp-tbl th, .b-financial .mp-tbl td { text-align: left; padding: 14px 16px; }
.b-financial .mp-tbl thead th { font-size: 14px; color: var(--ink2); font-weight: 500; }
.b-financial .mp-tbl tbody tr:nth-child(odd) { background: var(--paper2); }
.b-financial .mp-tbl tbody th { font-weight: 500; }
.b-financial .mp-hours { background: var(--paper2); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px clamp(24px, 5vw, 96px); }
.b-financial .mp-hours h2 { grid-column: 1; }
.b-financial .mp-hours__l { grid-column: 1; margin: 0; max-width: 40ch; }
.b-financial .mp-hours__list { grid-column: 2; grid-row: 1 / 3; list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.b-financial .mp-hours__list li { display: grid; grid-template-columns: 7.5em 1fr auto; gap: 16px; align-items: baseline; padding: 20px; border-radius: var(--r); background: var(--paper); }
.b-financial .mp-hours__list li:nth-child(even) { background: var(--paper3); }
.b-financial .mp-hours__list b { font-size: var(--s-lead); font-weight: 500; font-variant-numeric: tabular-nums; }
.b-financial .mp-hours__list span:last-child { color: var(--ink2); font-size: 15px; }
.b-financial .mp-wont { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(24px, 5vw, 96px); }
.b-financial .mp-wont__l { margin: 0; padding: 0; list-style: none; display: grid; gap: 22px; font-size: var(--s-lead); line-height: 1.4; }
.b-financial .mp-wont__l b { font-weight: 600; }
.b-financial .mp-wont__a { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; font-weight: 500; }

/* ---------- fees page ---------- */
.b-financial .mp-fhead { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--g); align-items: end; padding: clamp(56px, 8vw, 128px) var(--m) 0; }
.b-financial .mp-fhead h1 { margin: 0; font-size: clamp(44px, 1.4rem + 5vw, 96px); }
.b-financial .mp-fhead__l { margin: 0; font-size: var(--s-lead); line-height: 1.4; max-width: 34ch; }
.b-financial .mp-pt { padding-top: clamp(56px, 7vw, 104px); }
.b-financial .mp-pt__t { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 19px; line-height: 1.4; }
.b-financial .mp-pt__t th, .b-financial .mp-pt__t td { text-align: left; vertical-align: top; padding: 18px 20px; }
.b-financial .mp-pt__t thead th { vertical-align: bottom; padding-top: 28px; }
.b-financial .mp-pt__c { font-size: 18px; font-weight: 500; color: var(--ink2); width: 26%; }
.b-financial .mp-pt__n { display: block; font-size: clamp(24px, 2.4vw, 36px); font-weight: 600; letter-spacing: -.02em; line-height: 1.05; }
.b-financial .mp-pt__p { display: block; margin-top: 6px; font-size: clamp(24px, 2.4vw, 36px); font-weight: 400; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.b-financial .mp-pt__p small { font-size: 16px; letter-spacing: 0; color: var(--ink2); }
.b-financial .mp-pt__t tbody tr:nth-child(odd) > * { background: var(--paper3); }
.b-financial .mp-pt__t tbody th { font-weight: 500; }
.b-financial .mp-pt__t .is-rec { background: var(--sage-d) !important; color: #fff; }
.b-financial .mp-pt__t thead .is-rec { border-radius: var(--r) var(--r) 0 0; }
.b-financial .mp-pt__t .mp-pt__act .is-rec { border-radius: 0 0 var(--r) var(--r); }
.b-financial .mp-pt__t .is-rec .mp-pt__p small { color: rgba(255, 255, 255, .8); }
.b-financial .mp-pt__t tbody tr:nth-child(odd) .is-rec { background: #365140 !important; }
.b-financial .mp-pt__act > * { background: transparent !important; padding-bottom: 24px; }
.b-financial .mp-pt__act .is-rec .mp-btn--sage { background: var(--paper); color: var(--ink); }
.b-financial .mp-pt__stack { display: none; }
.b-financial .mp-pt__fine { margin-top: 20px; }
.b-financial .mp-fc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 96px); align-items: center; background: var(--night); color: var(--on-night); }
.b-financial .mp-fc h2 { color: var(--on-night); }
.b-financial .mp-fc__t p { max-width: 40ch; color: var(--fog); } .b-financial .mp-fc__t p:first-of-type { color: var(--on-night); }
.b-financial .mp-faq { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(24px, 5vw, 96px); background: var(--paper2); }
.b-financial .mp-faq__l { display: grid; gap: 6px; }
.b-financial .mp-faq__i { border-radius: var(--r); background: var(--paper); }
.b-financial .mp-faq__i:nth-child(even) { background: var(--paper3); }
.b-financial .mp-faq__i summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; min-height: 64px; padding: 16px 20px; font-size: 19px; font-weight: 500; }
.b-financial .mp-faq__i summary::-webkit-details-marker { display: none; }
.b-financial .mp-faq__i summary::after { content: ""; flex: none; width: 12px; height: 12px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .3s var(--ease); }
.b-financial .mp-faq__i[open] summary::after { transform: rotate(225deg) translateY(-3px); }
.b-financial .mp-faq__i p { margin: 0; padding: 0 20px 20px; max-width: 62ch; }

.b-financial .mp-fhead__ph { grid-column: 1 / -1; display: grid; grid-template-columns: 8fr 4fr; gap: 12px; margin-top: clamp(32px, 4vw, 56px); }
.b-financial .mp-fhead__ph img { width: 100%; height: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--r); }
.b-financial .mp-fhead__ph img + img { aspect-ratio: auto; }
.b-financial .mp-fc__im { width: 60%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); margin-top: 32px; }
.b-financial .mp-faq__im { width: 70%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); margin-top: 24px; }

/* ---------- how we work page ---------- */
.b-financial .mp-hw { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--g); align-items: center; padding: clamp(40px, 6vw, 96px) 0 0 var(--m); }
.b-financial .mp-hw__t p { font-size: var(--s-lead); line-height: 1.4; max-width: 30ch; margin: 0; }
.b-financial .mp-hw__im { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r) 0 0 var(--r); }
.b-financial .mp-ol__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; counter-reset: s; }
.b-financial .mp-ol__i { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); gap: 8px 32px; align-items: baseline; padding: 28px 24px; border-radius: var(--r); background: var(--paper3); }
.b-financial .mp-ol__i:nth-child(even) { background: var(--paper2); }
.b-financial .mp-ol__i p { margin: 0; }
.b-financial .mp-ol__h { font-size: var(--s-h2); font-weight: 500; letter-spacing: -.03em; line-height: 1.05; }
.b-financial .mp-ol__w { font-size: 15px; color: var(--ink2); }
.b-financial .mp-ol__d { max-width: 46ch; }
.b-financial .mp-pledge { background: var(--night); display: grid; justify-items: center; }
.b-financial .mp-sheet { width: min(100%, 680px); padding: clamp(28px, 5vw, 60px); background: var(--paper); color: var(--ink); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); -webkit-mask: radial-gradient(10px at 50% 100%, #0000 98%, #000) 50% / 20px 100%; mask: radial-gradient(10px at 50% 100%, #0000 98%, #000) 50% / 20px 100%; /* taste-skill-ignore: scalloped paper edge mask */ padding-bottom: 72px; }
.b-financial .mp-sheet p { font-size: 18px; line-height: 1.55; }
.b-financial .mp-sheet__sig { font-style: italic; font-size: 20px !important; margin-top: 32px; }
.b-financial .mp-sheet .mp-sheet__who { font-size: 14px; color: var(--ink2); margin-top: -8px; }
.b-financial .mp-sheet__tear { width: min(100%, 680px); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; padding: 18px clamp(20px, 4vw, 40px); border-radius: var(--r); background: var(--paper2); color: var(--ink); font-weight: 500; }
.b-financial .mp-sheet__tear a { color: var(--ink); }
.b-financial .mp-bring { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: clamp(24px, 4vw, 64px); align-items: start; }
.b-financial .mp-bring__t p { max-width: 34ch; }
.b-financial .mp-bring__l { margin: 0; padding: 0 0 0 1.2em; display: grid; gap: 14px; font-size: var(--s-lead); line-height: 1.35; }
.b-financial .mp-bring__l li::marker { color: var(--sage-d); }
.b-financial .mp-bring__im { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); margin-top: 80px; }
.b-financial .mp-office { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 5vw, 96px); align-items: center; background: var(--paper2); }
.b-financial .mp-office__im { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r); }
.b-financial .mp-office__t p { max-width: 40ch; }

/* ---------- situations page ---------- */
.b-financial .mp-shead { padding: clamp(56px, 8vw, 128px) var(--m) clamp(48px, 6vw, 88px); display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 16px var(--g); align-items: end; }
.b-financial .mp-shead h1 { margin: 0; font-size: clamp(44px, 1.4rem + 5vw, 96px); }
.b-financial .mp-shead > p { margin: 0; font-size: var(--s-lead); line-height: 1.4; max-width: 36ch; }
.b-financial .mp-shead__nav { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.b-financial .mp-shead__nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; background: var(--sage-t); color: var(--ink); text-decoration: none; font-size: 15px; transition: background-color .2s; }
.b-financial .mp-shead__nav a:hover { background: rgba(61, 90, 71, .22); }
.b-financial .mp-sit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 96px); align-items: start; padding: clamp(64px, 8vw, 128px) var(--m); scroll-margin-top: 16px; }
.b-financial .mp-sit--alt { background: var(--paper2); grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.b-financial .mp-sit--alt .mp-sit__m { order: 2; }
.b-financial .mp-sit__m img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); max-height: 560px; }
.b-financial .mp-sit--alt .mp-sit__m img { aspect-ratio: 4 / 3; }
.b-financial .mp-sit__dl { margin: 16px 0 0; display: grid; gap: 4px; font-variant-numeric: tabular-nums; }
.b-financial .mp-sit__dl div { display: grid; grid-template-columns: 11em 1fr; gap: 12px; padding: 12px 16px; border-radius: 8px; background: var(--paper3); }
.b-financial .mp-sit--alt .mp-sit__dl div { background: var(--paper); }
.b-financial .mp-sit__dl dt { color: var(--ink2); font-size: 15px; } .b-financial .mp-sit__dl dd { margin: 0; font-weight: 500; }
.b-financial .mp-sit__t { max-width: 40em; }
.b-financial .mp-sit__q { font-size: var(--s-lead); font-weight: 500; margin: -8px 0 20px; color: var(--sage-d); }
.b-financial .mp-sit__k { font-weight: 600; margin: 24px 0 8px; }
.b-financial .mp-sit__t ul { margin: 0; padding-left: 1.2em; display: grid; gap: 8px; }
.b-financial .mp-sit__t li::marker { color: var(--sage-d); }
.b-financial .mp-sit__tr { margin-top: 24px; padding: 18px 20px; border-radius: var(--r); background: var(--night); color: var(--on-night); }
.b-financial .mp-sclose { background: var(--night); color: var(--on-night); display: grid; justify-items: start; gap: 24px; }
.b-financial .mp-sclose p { margin: 0; font-size: clamp(24px, 1rem + 1.4vw, 34px); line-height: 1.25; max-width: 28ch; letter-spacing: -.01em; }
.b-financial .mp-sclose__a { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }
.b-financial .mp-sclose__a .mp-btn--sage { background: var(--sage); color: var(--night); }
.b-financial .mp-sclose__a > a:last-child { color: var(--on-night); font-weight: 500; }

/* ---------- team page ---------- */
.b-financial .mp-thead { padding: clamp(56px, 8vw, 128px) var(--m) 0; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--g); align-items: end; }
.b-financial .mp-thead h1 { margin: 0; }
.b-financial .mp-thead p { margin: 0; max-width: 46ch; }
.b-financial .mp-pps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 3vw, 48px); align-items: start; }
.b-financial .mp-pp--1 { margin-top: 96px; } .b-financial .mp-pp--2 { margin-top: 192px; }
.b-financial .mp-pp img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r); background: var(--paper2); margin-bottom: 22px; }
.b-financial .mp-pp h2 { font-size: clamp(24px, 1rem + 1vw, 32px); margin-bottom: 4px; }
.b-financial .mp-pp__r { margin: 0 0 16px; color: var(--sage-d); font-weight: 500; }
.b-financial .mp-pp__w b { font-weight: 600; display: block; }
.b-financial .mp-pp dl { margin: 18px 0 0; display: grid; gap: 4px; }
.b-financial .mp-pp dl div { display: grid; grid-template-columns: 6.5em 1fr; gap: 10px; padding: 10px 14px; border-radius: 8px; background: var(--paper3); font-size: 15px; }
.b-financial .mp-pp dt { color: var(--ink2); } .b-financial .mp-pp dd { margin: 0; }
.b-financial .mp-check { background: var(--night); color: var(--on-night); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(24px, 5vw, 96px); }
.b-financial .mp-check h2 { color: var(--on-night); }
.b-financial .mp-check p { color: var(--fog); max-width: 40ch; }
.b-financial .mp-check__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.b-financial .mp-check__l li { display: grid; gap: 4px; padding: 20px 22px; border-radius: var(--r); background: var(--night2); }
.b-financial .mp-check__l a { color: var(--on-night); font-size: var(--s-lead); font-weight: 500; }
.b-financial .mp-check__l span { color: var(--fog); font-size: 15px; }
.b-financial .mp-also { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.b-financial .mp-also p { margin: 0; font-size: var(--s-lead); line-height: 1.4; max-width: 44ch; }

/* ---------- disclosures ---------- */
.b-financial .mp-dhead { padding: clamp(56px, 8vw, 128px) var(--m) clamp(40px, 5vw, 72px); display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--g); align-items: end; background: var(--paper2); }
.b-financial .mp-dhead h1 { margin: 0; font-size: clamp(44px, 1.4rem + 5vw, 96px); }
.b-financial .mp-dhead p { margin: 0; font-size: var(--s-lead); line-height: 1.4; max-width: 38ch; }
.b-financial .mp-docs { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: clamp(24px, 5vw, 96px); align-items: start; padding-top: clamp(56px, 6vw, 96px); }
.b-financial .mp-docs__nav { position: sticky; top: 24px; display: grid; gap: 4px; }
.b-financial .mp-docs__nav a { display: flex; align-items: center; min-height: 48px; padding: 0 16px; border-radius: 10px; color: var(--ink); text-decoration: none; background: var(--paper3); transition: background-color .2s; }
.b-financial .mp-docs__nav a:hover, .b-financial .mp-docs__nav a.is-on { background: var(--night); color: var(--on-night); }
.b-financial .mp-docs__b { display: grid; gap: clamp(56px, 6vw, 88px); }
.b-financial .mp-doc { scroll-margin-top: 24px; max-width: 46em; }
.b-financial .mp-doc h2 { font-size: clamp(28px, 1.1rem + 1.6vw, 40px); margin-bottom: 8px; }
.b-financial .mp-doc__s { margin: 0 0 18px; color: var(--ink2); font-size: var(--s-lead); }
.b-financial .mp-doc ul { margin: 0; padding-left: 1.2em; display: grid; gap: 10px; }
.b-financial .mp-doc li::marker { color: var(--sage-d); }
.b-financial .mp-doc__f { margin: 22px 0 0; }

/* ---------- book page and intake ---------- */
.b-financial .mp-bk { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 96px); align-items: start; padding: clamp(48px, 7vw, 112px) var(--m) var(--sec); }
.b-financial .mp-bk__t > p { font-size: var(--s-lead); line-height: 1.4; max-width: 32ch; }
.b-financial .mp-bk__next { list-style: none; margin: 40px 0 0; padding: 0; display: grid; gap: 4px; }
.b-financial .mp-bk__next li { display: grid; gap: 2px; padding: 16px 18px; border-radius: var(--r); background: var(--paper3); }
.b-financial .mp-bk__next li:nth-child(even) { background: var(--paper2); }
.b-financial .mp-bk__next b { font-weight: 600; }
.b-financial .mp-bk__next span { color: var(--ink2); font-size: 16px; }
.b-financial .mpi { font-family: "Albert Sans", system-ui, sans-serif; background: var(--night); color: var(--on-night); border-radius: var(--r); padding: clamp(20px, 3vw, 40px); min-height: 480px; position: sticky; top: 24px; }
.b-financial .mpi__bar { height: 6px; border-radius: 3px; background: rgba(174, 178, 169, .2); margin-bottom: 28px; overflow: hidden; }
.b-financial .mpi__bar i { display: block; height: 100%; width: var(--p, 6%); background: var(--sage); border-radius: 3px; transition: width .45s var(--ease); }
.b-financial .mpi__q { border: 0; margin: 0; padding: 0; animation: mp-rise .4s var(--ease); }
.b-financial .mpi__q legend { padding: 0; margin-bottom: 20px; font-size: clamp(24px, 1rem + 1.2vw, 32px); font-weight: 500; letter-spacing: -.02em; line-height: 1.15; }
.b-financial .mpi__n { display: block; font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--fog); margin-bottom: 8px; }
.b-financial .mpi__opts { display: grid; gap: 8px; }
.b-financial .mpi__o { min-height: 56px; padding: 12px 18px; text-align: left; border: 0; border-radius: 10px; background: var(--night2); color: var(--on-night); font: 400 17px "Albert Sans", system-ui, sans-serif; cursor: pointer; transition: background-color .2s, transform .2s var(--ease); }
.b-financial .mpi__o:hover { background: var(--night3); }
.b-financial .mpi__o:active { transform: scale(.99); }
.b-financial .mpi__o[aria-pressed=true] { background: var(--sage); color: var(--night); }
.b-financial .mpi__back { margin-top: 16px; min-height: 44px; padding: 0 4px; border: 0; background: none; color: var(--on-night); font: 500 15px "Albert Sans", system-ui, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.b-financial .mpi__res { display: grid; gap: 18px; animation: mp-rise .4s var(--ease); }
.b-financial .mpi__match { display: grid; grid-template-columns: 96px 1fr; gap: 18px; align-items: center; }
.b-financial .mpi__ph { width: 96px; height: 120px; object-fit: cover; border-radius: 10px; background: var(--night2); }
.b-financial .mpi__mk { margin: 0 0 4px; font-size: 14px; color: var(--fog); }
.b-financial .mpi__pn { margin: 0; font-size: 26px; font-weight: 500; letter-spacing: -.02em; }
.b-financial .mpi__why { margin: 4px 0 0; color: var(--fog); font-size: 15px; }
.b-financial .mpi__fit { padding: 16px 18px; border-radius: 10px; background: var(--night2); }
.b-financial .mpi__fit p { margin: 0 0 12px; }
.b-financial .mpi__fit .mp-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.b-financial .mpi__fit .mp-btn--tint { background: rgba(174, 178, 169, .18); color: var(--on-night); }
.b-financial .mpi__book { display: grid; gap: 14px; }
.b-financial .mpi__who { grid-template-columns: 1fr 1fr; }
.b-financial .mpi__who label:last-child { grid-column: 1 / -1; }
.b-financial .mpi__ok { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--fog); cursor: pointer; }
.b-financial .mpi__ok input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--sage); }
.b-financial .mpi__res .mp-btn { justify-self: start; }

.b-financial .mp-ck { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(24px, 5vw, 96px); align-items: end; background: var(--paper2); scroll-margin-top: 16px; }
.b-financial .mp-ck p { max-width: 46ch; margin: 0; }
.b-financial .mp-ck__f { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.b-financial .mp-ck__f label { display: grid; gap: 4px; flex: 1 1 260px; font-size: 14px; color: var(--ink2); }
.b-financial .mp-ck__f input { min-height: 48px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(27, 30, 28, .25); background: var(--surface); color: var(--ink); font: 400 16px var(--b-t); }
.b-financial .mp-ck__f input[aria-invalid=true] { border-color: #a4472f; }
.b-financial .mp-ck__s { flex-basis: 100%; margin: 0; min-height: 1.5em; font-size: 15px; }

/* ---------- motion helpers ---------- */
.rv-on .b-financial [data-mp-rv] > *, .b-financial.rv-on [data-mp-rv] > * { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: var(--d, 0ms); }
.b-financial [data-mp-rv].is-in > * { opacity: 1; transform: none; }
.b-financial .mp-drift { transition: transform .1s linear; will-change: transform; }
.b-financial .mp-hero h1, .b-financial .mp-hero__sub, .b-financial .mp-hero__fee, .b-financial .mp-hero__more, .b-financial .mp-hero__tool { animation: mp-rise .9s var(--ease) both; }
.b-financial .mp-hero__sub { animation-delay: 80ms; } .b-financial .mp-hero__fee { animation-delay: 160ms; } .b-financial .mp-hero__more { animation-delay: 220ms; } .b-financial .mp-hero__tool { animation-delay: 140ms; }
.b-financial .mps__chart .c-line { transition: d .5s var(--ease); }
@media (prefers-reduced-motion: reduce) {
  .b-financial *, .b-financial *::before, .b-financial *::after { animation: none !important; transition: none !important; }
  .b-financial [data-mp-rv] > * { opacity: 1 !important; transform: none !important; }
}

/* ---------- tablet ---------- */
@media (max-width: 1100px) {
  .b-financial .mp-nav { display: none; }
  .b-financial .mp-menu { display: block; }
  .b-financial .mp-hero { grid-template-columns: 1fr; }
  .b-financial .mp-hero__copy { max-width: 720px; }
  .b-financial .mp-led__frame { display: none; }
  .b-financial .mp-led { padding-left: var(--m); }
  .b-financial .mp-pps { grid-template-columns: 1fr 1fr; } .b-financial .mp-pp--2 { margin-top: 0; }
  .b-financial .mp-bring { grid-template-columns: 1fr 1fr; } .b-financial .mp-bring__im { display: none; }
}
@media (max-width: 860px) {
  .b-financial .mp-story, .b-financial .mp-row57, .b-financial .mp-nurse, .b-financial .mp-hours, .b-financial .mp-wont, .b-financial .mp-fc, .b-financial .mp-faq,
  .b-financial .mp-hw, .b-financial .mp-office, .b-financial .mp-ck, .b-financial .mp-sit, .b-financial .mp-sit--alt, .b-financial .mp-check, .b-financial .mp-bk, .b-financial .mp-docs,
  .b-financial .mp-nhero, .b-financial .mp-fhead, .b-financial .mp-shead, .b-financial .mp-thead, .b-financial .mp-dhead, .b-financial .mp-bring, .b-financial .mp-foot__docs, .b-financial .mp-foot__legal { grid-template-columns: 1fr; }
  .b-financial .mp-story__pin { position: static; }
  .b-financial .mp-story__run.is-live .mp-story__i:not(.is-on) { opacity: 1; }
  .b-financial .mp-story__i { min-height: 0; padding: 28px 0; }
  .b-financial .mpf--compact .mpf__name, .b-financial .mpf--compact .mpf__fine { display: none; }
  .b-financial .mpf--compact { padding: 14px; }
  .b-financial .mpf--compact .mpf__diff { font-size: 14px; margin: 10px 0 0; }
  .b-financial .mp-serve__body { grid-template-columns: 1fr; margin-top: 32px; }
  .b-financial .mp-tabs { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
  .b-financial .mp-tab { min-height: 64px; padding: 10px 12px; } .b-financial .mp-tab span { display: none; } .b-financial .mp-tab b { font-size: 14px; }
  .b-financial .mp-band { grid-template-columns: 1fr; padding: 16px; gap: 4px; }
  .b-financial .mp-band__p { text-align: left; }
  .b-financial .mp-serve__more { margin-left: 0; }
  .b-financial .mp-diag { display: grid; grid-template-columns: 1fr; row-gap: 56px; }
  .b-financial .mp-diag h2 { grid-column: 1; font-size: 32px; margin: 0; }
  .b-financial .mp-diag__s, .b-financial .mp-diag__s--1 { display: grid; grid-template-columns: 1fr; grid-column: 1; grid-row: auto; gap: 16px; }
  .b-financial .mp-diag__s .mp-fig, .b-financial .mp-diag__s p { grid-column: 1 !important; grid-row: auto !important; }
  .b-financial .mp-diag__s--1 .mp-fig { aspect-ratio: 4 / 3; }
  .b-financial .mp-diag__s--2 .mp-fig { width: 62%; justify-self: end; } .b-financial .mp-diag__s--2 p { justify-self: end; width: 62%; }
  .b-financial .mp-diag__s--3 .mp-fig { width: 78%; }
  .b-financial .mp-led__r { grid-template-columns: 1fr auto; row-gap: 2px; min-height: 64px; padding: 8px 0; }
  .b-financial .mp-led__k { grid-row: 2; font-size: 14px; }
  .b-financial .mp-led__y { grid-row: 1 / 3; grid-column: 2; }
  .b-financial .mp-tiles { grid-template-columns: 1fr 1fr; padding-inline: var(--m); }
  .b-financial .mp-tile--act { grid-column: 1 / -1; grid-row: 1; min-height: 300px; padding: 32px 24px; }
  .b-financial .mp-tile--ph, .b-financial .mp-tile--flat { margin: 0; min-height: 120px; height: 120px; }
  .b-financial .mp-foot__line { grid-template-columns: 1fr; padding-top: 12vh; gap: 8px; }
  .b-financial .mp-foot__end { text-align: left; }
  .b-financial .mp-foot__mid { flex-wrap: wrap; gap: 8px 20px; }
  .b-financial .mp-nhero__ph img:last-child { margin-bottom: 0; }
  .b-financial .mp-hours h2, .b-financial .mp-hours__l, .b-financial .mp-hours__list, .b-financial .mp-wont__a { grid-column: 1; grid-row: auto; }
  .b-financial .mp-hours__list li { grid-template-columns: 6em 1fr; } .b-financial .mp-hours__list span:last-child { grid-column: 2; }
  .b-financial .mp-pt__t { display: none; }
  .b-financial .mp-fhead__ph { grid-template-columns: 1fr; } .b-financial .mp-fhead__ph img + img { display: none; } .b-financial .mp-fhead__ph img { aspect-ratio: 3 / 2; }
  .b-financial .mp-fc__im, .b-financial .mp-faq__im { display: none; }
  .b-financial .mp-pt__stack { display: grid; gap: 16px; }
  .b-financial .mp-ps { padding: 24px 20px; border-radius: var(--r); background: var(--paper3); }
  .b-financial .mp-ps.is-rec { background: var(--sage-d); color: #fff; }
  .b-financial .mp-ps__n { margin: 0; font-size: 28px; font-weight: 600; letter-spacing: -.02em; }
  .b-financial .mp-ps__p { margin: 4px 0 16px; font-size: 32px; font-variant-numeric: tabular-nums; } .b-financial .mp-ps__p small { font-size: 16px; }
  .b-financial .mp-ps dl { margin: 0 0 20px; display: grid; gap: 2px; }
  .b-financial .mp-ps dt { font-size: 15px; opacity: .78; margin-top: 10px; } .b-financial .mp-ps dd { margin: 0; font-size: 17px; }
  .b-financial .mp-ps .mp-btn { width: 100%; }
  .b-financial .mp-ps.is-rec .mp-btn--sage { background: var(--paper); color: var(--ink); }
  .b-financial .mp-ol__i { grid-template-columns: 1fr; padding: 22px 18px; }
  .b-financial .mp-ol__h { font-size: 28px; }
  .b-financial .mp-hw { padding-right: var(--m); } .b-financial .mp-hw__im { border-radius: var(--r); }
  .b-financial .mp-sit--alt .mp-sit__m { order: 0; }
  .b-financial .mp-sit__m img { aspect-ratio: 4 / 3; }
  .b-financial .mp-sit__dl div { grid-template-columns: 1fr; gap: 2px; }
  .b-financial .mp-pps { grid-template-columns: 1fr; } .b-financial .mp-pp--1 { margin-top: 0; }
  .b-financial .mp-pp img { aspect-ratio: 4 / 3; }
  .b-financial .mp-docs__nav { position: static; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x mandatory; }
  .b-financial .mp-docs__nav a { scroll-snap-align: start; }
  .b-financial .mpi { position: static; min-height: 0; }
}
@media (max-width: 560px) {
  .b-financial .mp-bar { gap: 10px; min-height: 64px; }
  .b-financial .mp-logo { font-size: 18px; }
  .b-financial .mp-bar .mp-btn { padding: 0 16px; font-size: 15px; }
  .b-financial .mp-menu summary { padding: 0 14px; }
  .b-financial .mp-hero h1 { font-size: 34px; }
  .b-financial .mp-hero__sub { font-size: 18px; margin-bottom: 20px; }
  .b-financial .mp-hero__fee b { font-size: 30px; }
  .b-financial .mps { padding: 16px 14px; margin-inline: -4px; }
  .b-financial .mps__in { grid-template-columns: 1fr 1fr; column-gap: 14px; }
  .b-financial .mps__score b { font-size: 40px; }
  .b-financial .mps__next { padding: 14px; }
  .b-financial .mps__acts, .b-financial .mps__acts .mp-btn { width: 100%; }
  .b-financial .mps__who, .b-financial .mpi__who { grid-template-columns: 1fr; }
  .b-financial .mpf__res { grid-template-columns: 1fr 1fr; gap: 8px; }
  .b-financial .mpf__col { padding: 12px; }
  .b-financial .mpf__v { font-size: 24px; }
  .b-financial .mpf__yrs { height: 110px; gap: 3px; }
  .b-financial .mp-story__h { font-size: 30px; }
  .b-financial .mp-story__i p:last-child { font-size: 19px; }
  .b-financial .mp-led__n { font-size: 16px; }
  .b-financial .mp-sheet { padding: 28px 22px 64px; }
  .b-financial .mpi__match { grid-template-columns: 72px 1fr; } .b-financial .mpi__ph { width: 72px; height: 90px; }
  .b-financial .mpi__pn { font-size: 22px; }
}
