.br-calculator {
  --br-text: #17231c;
  --br-muted: #5d675f;
  --br-border: #dce2dd;
  --br-border-strong: #bdc8c0;
  --br-surface: #fff;
  --br-soft: #f3f6f3;
  --br-accent: #286044;
  --br-accent-dark: #17432f;
  --br-accent-deep: #103323;
  --br-accent-soft: #edf4ef;
  --br-caution: #f6eee3;
  color: var(--br-text);
  font: inherit;
  margin: 0;
  line-height: 1.55;
}
.br-calculator *, .br-calculator *::before, .br-calculator *::after { box-sizing: border-box; }
.br-calculator-layout { display: grid; grid-template-columns: minmax(0,740px) minmax(230px,280px); gap: clamp(2rem,5vw,4.2rem); align-items: start; }
.br-calculator-main { min-width: 0; }
.br-calculator-sidebar { min-width: 0; position: sticky; top: 1.5rem; align-self: start; }
.br-calculator-sidebar__inner { position: static; padding: 1rem 0 1.05rem; background: transparent; border-top: 2px solid var(--br-accent); border-bottom: 1px solid var(--br-border); font-size: .88rem; }
.br-calculator-sidebar h3 { margin: 0 0 .7rem; font-size: 1rem; }
.br-calculator-sidebar p { margin: .8rem 0 0; color: #4d5a52; }
.br-calculator-sidebar ul { margin: .45rem 0 0; padding-left: 1.12rem; color: #4d5a52; }
.br-calculator-sidebar li + li { margin-top: .3rem; }
.br-calculator-sidebar__tip { padding-top: .8rem; border-top: 1px solid var(--br-border); }
.br-calculator-sidebar__tip strong { color: var(--br-text); }
.br-calculator-sidebar__result { margin-top: 1rem !important; padding-top: .85rem; border-top: 1px solid var(--br-border); }
.br-calculator-sidebar__result strong { color: var(--br-text); }

.br-calculator__intro { margin-bottom: 1.35rem; }
.br-calculator__intro h2 { margin: .15rem 0 .45rem; font-size: clamp(1.65rem,3.5vw,2.25rem); line-height: 1.1; letter-spacing: -.025em; }
.br-calculator__intro p { max-width: none; margin-bottom: 0; color: #49544d; }
.br-eyebrow { margin: 0; color: var(--br-accent); font-size: .75rem; font-weight: 780; letter-spacing: .07em; text-transform: uppercase; }
.br-section-label { margin: 1.55rem 0 .75rem; padding-bottom: .45rem; border-bottom: 1px solid var(--br-border-strong); font-size: .82rem; font-weight: 780; color: #556159; text-transform: uppercase; letter-spacing: .055em; }
.br-notice { padding: .85rem .95rem; margin: 1rem 0 1.4rem; border-left: 3px solid var(--br-accent); background: var(--br-accent-soft); }
.br-notice--friendly { background: var(--br-accent-soft); }
.br-notice--legal { margin-top: 1.5rem; background: var(--br-soft); color: var(--br-muted); font-size: .9rem; border-left-color: #98a69d; }
.br-input-note { margin: 1.15rem 0 1.7rem; padding-top: .8rem; border-top: 1px solid var(--br-border); color: var(--br-muted); font-size: .9rem; }
.br-input-note strong { color: var(--br-text); }

.br-grid { display: grid; gap: 1rem 1.1rem; }
.br-grid--inputs { grid-template-columns: repeat(2,minmax(0,1fr)); }
.br-input-group { margin: 1.1rem 0 0; }
.br-input-group + .br-input-group { margin-top: 1.35rem; padding-top: 1.15rem; border-top: 1px solid var(--br-border); }
.br-input-group__title { margin: 0 0 .75rem; font-size: .94rem; font-weight: 760; color: #38463d; }
.br-input-group__hint { margin: -.35rem 0 .8rem; color: var(--br-muted); font-size: .84rem; }
.br-field { display: grid; gap: .38rem; align-content: start; font-weight: 650; }
.br-field > span:first-child { font-size: .92rem; }
.br-field small { color: var(--br-muted); font-weight: 400; line-height: 1.38; font-size: .8rem; }
.br-field input, .br-field select {
  width: 100%; min-height: 46px; padding: .68rem .72rem; border: 1px solid #c4cec6; border-radius: 3px; background: #fff; color: var(--br-text); font: inherit;
}
.br-field input::placeholder { color: #89928c; opacity: 1; }
.br-field select { padding-right: 2rem; }
.br-field input:focus, .br-field select:focus { outline: 3px solid rgba(40,96,68,.13); border-color: var(--br-accent); }
.br-input-with-unit { position: relative; display: block; }
.br-input-with-unit input { padding-right: 5.25rem; }
.br-input-with-unit em { position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); color: var(--br-muted); font-style: normal; font-size: .85rem; pointer-events: none; }
.br-thickness { margin: 1.45rem 0; padding: 1rem 0; border-top: 1px solid var(--br-border); border-bottom: 1px solid var(--br-border); }
.br-thickness label { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; }
.br-thickness input { width: 100%; accent-color: var(--br-accent); }
.br-scale { display: flex; justify-content: space-between; color: var(--br-muted); font-size: .78rem; }
.br-details { border-top: 1px solid var(--br-border); margin-top: .45rem; }
.br-details summary { cursor: pointer; padding: .9rem 0; font-weight: 700; }
.br-details summary span { color: var(--br-muted); font-weight: 450; }
.br-details__body { padding: .15rem 0 1.1rem; }

.br-results { margin-top: 2rem; }
.br-result-hero { padding: 1.45rem 1.5rem 1.3rem; background: var(--br-accent-dark); color: #fff; border-radius: 3px; }
.br-result-hero .br-eyebrow { color: #bdd8c7; }
.br-result-hero .br-muted, .br-result-hero p { color: #e1ece4; }
.br-result-hero__value { margin: .38rem 0 .5rem; font-size: clamp(2.25rem,6vw,3.8rem); font-weight: 810; letter-spacing: -.04em; line-height: .98; color: #fff; }
.br-result-hero__human { max-width: none; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid rgba(255,255,255,.22); font-size: .98rem; color: #f1f7f3; }
.br-result-hero__keyline { margin: .75rem 0 0; padding: .7rem 0 0; border-top: 1px solid rgba(255,255,255,.2); color: #fff !important; font-weight: 710; }
.br-result-hero__metrics { margin: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.24); }
.br-result-hero__metrics .br-metric { border-bottom-color: rgba(255,255,255,.17); }
.br-result-hero__metrics .br-metric:nth-child(even) { border-left-color: rgba(255,255,255,.17); }
.br-result-hero__metrics .br-metric span, .br-result-hero__metrics .br-metric small { color: #c9ddd0; }
.br-result-hero__metrics .br-metric strong { color: #fff; }
.br-human-note { margin: .75rem 0; padding: .65rem .8rem; border-left: 3px solid #9db5a5; background: var(--br-soft); }
.br-human-note--caution { background: var(--br-caution); border-left-color: #a77643; }
.br-human-note--positive, .br-human-note--kind, .br-human-note--witty { border-left-color: var(--br-accent); }

.br-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.1rem 0 2rem; border-top: 1px solid var(--br-border-strong); }
.br-metrics--small { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 1rem; }
.br-metric { min-width: 0; padding: .78rem .2rem .78rem 0; border-bottom: 1px solid var(--br-border); display: grid; gap: .18rem; }
.br-metric:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--br-border); }
.br-metric span { color: var(--br-muted); font-size: .78rem; }
.br-metric strong { font-size: 1rem; overflow-wrap: anywhere; }

.br-result-section { padding: 1.45rem 0; border-top: 1px solid var(--br-border-strong); }
.br-result-section h3 { margin: 0 0 .65rem; font-size: 1.18rem; }
.br-big-line { font-size: 1.08rem; font-weight: 720; }
.br-muted { color: var(--br-muted); }
.br-prose { color: var(--br-muted); max-width: 72ch; }
.br-assumptions { padding-left: 1.2rem; }
.br-assumptions li { margin: .4rem 0; }

.br-chart { width: 100%; overflow: hidden; margin-top: .5rem; }
.br-chart__svg { width: 100%; height: auto; display: block; }
.br-chart__grid { stroke: var(--br-border); stroke-width: 1; }
.br-chart__line { fill: none; stroke: var(--br-accent); stroke-width: 4; stroke-linejoin: round; stroke-linecap: round; }
.br-chart__selected-line { stroke: var(--br-muted); stroke-width: 1.5; stroke-dasharray: 5 5; }
.br-chart__point { fill: var(--br-accent); stroke: #fff; stroke-width: 3; }
.br-chart__label { fill: var(--br-muted); font-size: 12px; }
.br-chart__selected-label { fill: var(--br-text); font-size: 13px; font-weight: 700; }
.br-chart__reference-line { stroke: var(--br-muted); stroke-width: 2; stroke-dasharray: 7 6; opacity: .85; }
.br-chart__reference-label { fill: var(--br-muted); font-size: 12px; font-weight: 700; }

.br-table-wrap { overflow-x: auto; margin-top: 1rem; border: 1px solid var(--br-border); }
.br-table { width: 100%; border-collapse: collapse; min-width: 560px; background: #fff; }
.br-table caption { text-align: left; padding: .7rem .8rem; font-weight: 680; color: var(--br-muted); }
.br-table th, .br-table td { text-align: left; padding: .68rem .8rem; border-top: 1px solid var(--br-border); vertical-align: top; }
.br-table thead th { border-top: 0; color: var(--br-muted); font-size: .78rem; font-weight: 700; background: var(--br-soft); }
.br-table tbody th { font-weight: 650; }
.br-table tr.is-selected th, .br-table tr.is-selected td { background: var(--br-accent-soft); }
.br-table--two { min-width: 500px; }
.br-table--mortgage-scenarios { min-width: 460px; }

.br-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--br-border); }
.br-fact { padding: .8rem .4rem .8rem 0; border-bottom: 1px solid var(--br-border); display: grid; gap: .15rem; }
.br-fact:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--br-border); }
.br-fact span, .br-fact small { color: var(--br-muted); }
.br-fact strong { font-size: 1.05rem; }
.br-sources { list-style: none; padding: 0; margin: 0; }
.br-sources li { padding: .8rem 0; border-top: 1px solid var(--br-border); }
.br-sources li:first-child { border-top: 0; }
.br-sources small { display: block; margin-top: .2rem; }
.br-source-type { display: inline-block; margin-left: .35rem; padding: .04rem .32rem; border: 1px solid var(--br-border); color: var(--br-muted); font-size: .7rem; font-weight: 600; }
.br-error { margin-top: 1rem; padding: .9rem; background: #fff1f1; border-left: 3px solid #b85f5f; }
[hidden] { display: none !important; }

/* Flagship comparison: rows, not a wall of cards. */
.br-result-hero__value--priority { font-size: clamp(2rem,5.5vw,3.35rem); max-width: 18ch; }
.br-priority-cards { display: grid; gap: 0; margin-top: 1rem; border-top: 1px solid var(--br-border-strong); }
.br-priority-card { padding: 1rem .1rem; min-width: 0; border-bottom: 1px solid var(--br-border-strong); background: #fff; }
.br-priority-card.is-winner { padding-left: .8rem; border-left: 3px solid var(--br-accent); background: var(--br-accent-soft); }
.br-priority-card.is-overbudget { color: var(--br-muted); background: var(--br-soft); }
.br-priority-card__head { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-bottom: .6rem; }
.br-priority-card__head h4 { margin: 0; font-size: 1.04rem; flex: 1 1 180px; }
.br-priority-rank { min-width: 2rem; min-height: 2rem; display: inline-grid; place-items: center; padding: .15rem .4rem; border: 1px solid #c4d4c9; color: var(--br-accent); font-weight: 800; font-size: .78rem; }
.br-priority-card__metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem 1rem; }
.br-priority-card__metrics > div { min-width: 0; display: grid; gap: .08rem; }
.br-priority-card__metrics span { color: var(--br-muted); font-size: .74rem; }
.br-priority-card__metrics strong { font-size: .94rem; overflow-wrap: anywhere; }
.br-priority-card p { margin: .7rem 0 .2rem; }
.br-priority-card > small { display: block; margin-top: .3rem; }
.br-priority-bars { display: grid; gap: .75rem; margin-top: 1rem; }
.br-priority-bar-row { display: grid; grid-template-columns: minmax(135px,1.1fr) minmax(180px,2fr) minmax(85px,.7fr); gap: .65rem; align-items: center; }
.br-priority-bar-row > span { font-weight: 650; }
.br-priority-bar-row > strong { text-align: right; font-size: .88rem; }
.br-priority-bar-track { position: relative; height: 16px; background: var(--br-soft); overflow: hidden; }
.br-priority-bar-track::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: #9aa69e; }
.br-priority-bar { position: absolute; top: 3px; bottom: 3px; background: var(--br-accent); }
.br-priority-bar.is-negative { background: #8e6e53; }
.br-priority-thresholds { border-top: 1px solid var(--br-border); }
.br-priority-thresholds > div { display: grid; grid-template-columns: minmax(150px,1fr) auto; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--br-border); }
.br-priority-thresholds span { color: var(--br-muted); }
.br-priority-links { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.br-priority-links a { font-weight: 680; }

@media (max-width: 900px) {
  .br-calculator-layout { grid-template-columns: 1fr; }
  .br-calculator-sidebar { display: none; }
}
@media (max-width: 720px) {
  .br-grid--inputs, .br-metrics--small, .br-facts { grid-template-columns: 1fr; }
  .br-result-hero__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .br-metrics--small .br-metric:nth-child(even), .br-fact:nth-child(even) { padding-left: 0; border-left: 0; }
  .br-result-hero { padding: 1.2rem 1.05rem; }
  .br-result-hero__value { font-size: 2.35rem; }
  .br-result-hero__metrics .br-metric { padding-top: .7rem; padding-bottom: .7rem; }
  .br-result-hero__metrics .br-metric:nth-child(even) { padding-left: .8rem; }
  .br-details summary span { display: block; margin-top: .15rem; font-size: .86rem; }
  .br-priority-cards { grid-template-columns: 1fr; }
  .br-priority-card__metrics { grid-template-columns: 1fr 1fr; }
  .br-priority-bar-row { grid-template-columns: 1fr; gap: .25rem; }
  .br-priority-bar-row > strong { text-align: left; }
  .br-priority-bar-track { height: 14px; }
}
@media (max-width: 520px) {
  .br-table { min-width: 0; table-layout: fixed; font-size: .84rem; }
  .br-table th, .br-table td { padding: .55rem .48rem; overflow-wrap: anywhere; }
  .br-table caption { padding: .62rem .48rem; }
  .br-table--two, .br-table--mortgage-scenarios { min-width: 0; }
  .br-table--two th:first-child { width: 60%; }
  .br-chart__label, .br-chart__reference-label { font-size: 16px; }
  .br-chart__selected-label { font-size: 17px; }
  .br-priority-card__metrics { grid-template-columns: 1fr; }
  .br-result-hero__metrics { grid-template-columns: 1fr; }
  .br-result-hero__metrics .br-metric:nth-child(even) { padding-left: 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .br-calculator * { scroll-behavior: auto !important; }
}

/* v0.15 UX clarity pass: controls must look interactive; results must explain themselves. */
.br-field { font-weight: 400; gap: .44rem; }
.br-field > span:first-child { color: #2b382f; font-size: .91rem; font-weight: 620; line-height: 1.32; }
.br-field input,
.br-field select {
  min-height: 50px;
  border: 2px solid #9faaa2;
  border-radius: 4px;
  background-color: #fff;
  color: #17231c;
  font-weight: 430;
  line-height: 1.25;
  box-shadow: 0 1px 0 rgba(16,51,35,.04);
  transition: border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
}
.br-field select { cursor: pointer; }
.br-field input:hover,
.br-field select:hover { border-color: #66776b; }
.br-field input:focus,
.br-field select:focus {
  outline: 3px solid rgba(40,96,68,.16);
  outline-offset: 1px;
  border-color: #286044;
  box-shadow: 0 0 0 1px #286044;
}
.br-field input::placeholder { color: #707c74; font-weight: 400; opacity: 1; }
.br-field small { color: #657068; font-size: .81rem; line-height: 1.45; }
.br-input-with-unit em { color: #526058; font-weight: 600; }
.br-field input[type="number"] { cursor: text; }

.br-thickness {
  margin: 1.5rem 0;
  padding: 1rem 1.05rem 1.05rem;
  border: 1px solid #cdd6cf;
  border-radius: 4px;
  background: #f7f9f7;
}
.br-thickness label { align-items: baseline; font-weight: 620; }
.br-thickness label strong { color: var(--br-accent-dark); font-size: 1.1rem; }
.br-thickness input[type="range"] { min-height: 30px; cursor: pointer; accent-color: var(--br-accent); }
.br-thickness input[type="range"]::-webkit-slider-thumb { width: 22px; height: 22px; cursor: grab; }
.br-thickness input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; cursor: grab; }

.br-details { margin-top: .8rem; border-top: 0; }
.br-details summary {
  position: relative;
  margin: .55rem 0;
  padding: .86rem 2.3rem .86rem .9rem;
  border: 1px solid #c2ccc4;
  border-radius: 4px;
  background: #f7f8f7;
  color: #243128;
  cursor: pointer;
  font-weight: 650;
  list-style-position: inside;
  transition: border-color .14s ease, background-color .14s ease;
}
.br-details summary:hover { border-color: #6e7d72; background: #f1f5f2; }
.br-details[open] summary { border-color: #8ca194; background: #eef4f0; }
.br-details summary span { color: #647067; font-weight: 420; }
.br-details__body { padding: .7rem .15rem 1.15rem; }

.br-calculator a { color: #185339; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.br-calculator a:hover { color: #0f3927; text-decoration-thickness: 2px; }
.br-action-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .58rem .82rem;
  border: 1px solid #286044;
  border-radius: 4px;
  background: #286044;
  color: #fff !important;
  font-weight: 650;
  text-decoration: none !important;
}
.br-action-link:hover { background: #17432f; border-color: #17432f; }

.br-result-hero { padding: 1.5rem 1.55rem 1.35rem; }
.br-result-hero__label {
  display: block;
  margin-top: .38rem;
  color: #f0f6f2;
  font-size: .93rem;
  font-weight: 650;
  line-height: 1.35;
}
.br-result-hero__value { margin-top: .32rem; }
.br-result-hero__range { margin: .42rem 0 0; font-size: .88rem; }
.br-result-hero__human strong { color: #fff; }
.br-result-hero__metrics .br-metric { padding-top: .82rem; padding-bottom: .82rem; }
.br-result-hero__metrics .br-metric span { font-size: .78rem; font-weight: 620; line-height: 1.3; }
.br-result-hero__metrics .br-metric strong { font-size: 1.04rem; line-height: 1.25; }
.br-result-hero__metrics .br-metric small { margin-top: .12rem; font-size: .72rem; line-height: 1.35; }

.br-result-section {
  margin: 1.15rem 0 0;
  padding: 1.45rem 0;
  border-top: 1px solid var(--br-border-strong);
}
.br-result-section > h3 { margin-bottom: .35rem; font-size: 1.2rem; }
.br-result-section > .br-section-intro { margin: 0 0 1rem; max-width: 68ch; color: #5b675f; }
.br-result-section--soft,
.br-result-section--warm,
.br-result-section--chart {
  margin-left: -.9rem;
  margin-right: -.9rem;
  padding-left: .9rem;
  padding-right: .9rem;
  border-top: 0;
  border-bottom: 1px solid #d8dfda;
}
.br-result-section--soft { background: #f4f7f4; }
.br-result-section--warm { background: #fbf5ec; border-bottom-color: #eadfce; }
.br-result-section--chart { background: #f8faf8; border-top: 3px solid #9cb6a5; }
.br-result-section--technical { color: #465249; }
.br-result-section--technical h3 { color: #243128; }
.br-result-section--technical .br-assumptions { columns: 1; }

.br-result-explainer {
  margin: .95rem 0 0;
  padding: .85rem .95rem;
  border-left: 3px solid #8cac98;
  background: #f1f5f2;
  color: #3f4d44;
}
.br-result-explainer strong { color: #1c2d23; }

.br-chart {
  margin-top: .85rem;
  padding: .8rem .45rem .3rem;
  border: 1px solid #d1dad3;
  background: #fff;
}
.br-table-wrap { border-color: #c7d0c9; background: #fff; }
.br-table caption { color: #3f4e44; background: #f7f9f7; }

.br-facts { gap: 0; border-top-color: #c7d0c9; }
.br-fact { padding-top: .92rem; padding-bottom: .92rem; }
.br-fact span { color: #536158; font-weight: 620; }
.br-fact strong { color: #1e3025; font-size: 1.12rem; }
.br-fact small { margin-top: .12rem; line-height: 1.4; }

.br-calculator-sidebar__inner { padding-top: .85rem; }
.br-sidebar-live { margin-top: .2rem; }
.br-sidebar-live__label { display: block; color: #5b685f; font-size: .76rem; font-weight: 650; text-transform: uppercase; letter-spacing: .045em; }
.br-sidebar-live__value { display: block; margin: .2rem 0 .45rem; color: #17432f; font-size: 1.65rem; line-height: 1.05; letter-spacing: -.025em; }
.br-sidebar-live__detail { margin: .35rem 0 0 !important; color: #4b584f !important; }
.br-sidebar-live__metrics { margin: .8rem 0 .9rem; border-top: 1px solid #d5ddd7; }
.br-sidebar-live__metrics > div { display: grid; grid-template-columns: 1fr auto; gap: .55rem; padding: .52rem 0; border-bottom: 1px solid #e0e6e1; }
.br-sidebar-live__metrics dt { color: #5e6a62; font-size: .78rem; }
.br-sidebar-live__metrics dd { margin: 0; color: #203128; font-size: .8rem; font-weight: 680; text-align: right; }
.br-sidebar-before-result { color: #59665e; }
.br-sidebar-help { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #d7ded8; }
.br-sidebar-help summary { cursor: pointer; color: #304037; font-weight: 620; }
.br-sidebar-help ul { margin-bottom: 0; }

@media (max-width: 720px) {
  .br-field input, .br-field select { min-height: 52px; }
  .br-result-section--soft, .br-result-section--warm, .br-result-section--chart { margin-left: -.35rem; margin-right: -.35rem; padding-left: .7rem; padding-right: .7rem; }
  .br-details summary { padding-left: .75rem; }
}

/* v0.16 flagship: compare home improvements first; investment is reference only. */
.br-priority-hero h2 { margin: .15rem 0 .45rem; max-width: 24ch; color: #fff; font-size: clamp(1.55rem,3vw,2.2rem); line-height: 1.08; letter-spacing: -.025em; }
.br-priority-hero__intro { max-width: 68ch; margin: 0; }
.br-priority-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 1.15rem; border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.18); }
.br-priority-summary__item { min-width: 0; padding: .9rem .85rem .9rem 0; display: grid; align-content: start; gap: .22rem; }
.br-priority-summary__item + .br-priority-summary__item { padding-left: .85rem; border-left: 1px solid rgba(255,255,255,.18); }
.br-priority-summary__item span { color: #c9ddd0; font-size: .74rem; font-weight: 700; line-height: 1.3; }
.br-priority-summary__item strong { color: #fff; font-size: 1.12rem; line-height: 1.15; overflow-wrap: anywhere; }
.br-priority-summary__item small { color: #e0ebe3; font-size: .76rem; line-height: 1.35; }
.br-priority-hero .br-human-note { margin: .55rem 0 0; padding: .55rem 0 .15rem; border: 0; border-top: 1px solid rgba(255,255,255,.16); background: transparent; color: #eff6f1; }

.br-priority-card { padding: 1.1rem .15rem; }
.br-priority-card__head h4 { font-size: 1.12rem; }
.br-priority-status { display: inline-block; padding: .1rem .38rem; border: 1px solid #c5d2c9; color: #375044; font-size: .7rem; font-weight: 700; }
.br-priority-card.is-overbudget .br-priority-status { border-color: #d7c8b8; color: #765c45; }
.br-priority-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin: .15rem 0 .7rem; }
.br-priority-tags span { padding: .22rem .42rem; background: #e6f0e9; color: #214631; font-size: .7rem; font-weight: 720; }
.br-priority-card__metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid #d6ded8; }
.br-priority-card__metrics > div { padding: .62rem .7rem .62rem 0; border-bottom: 1px solid #e1e6e2; }
.br-priority-card__metrics > div:nth-child(even) { padding-left: .7rem; border-left: 1px solid #e1e6e2; }
.br-priority-card__metrics .br-priority-card__metric--net { grid-column: 1 / -1; padding-left: 0; border-left: 0; background: #f4f8f5; }
.br-priority-card__metrics .br-priority-card__metric--net strong { color: #17432f; font-size: 1.04rem; }
.br-priority-card__state { margin: .65rem 0 .2rem !important; padding: .55rem .65rem; background: #fbf4ea; border-left: 3px solid #b78a5b; color: #5e4936; }

.br-priority-bar-row > span small { color: var(--br-muted); font-weight: 500; }
.br-priority-practical { border-top: 1px solid #dfd4c5; }
.br-priority-practical__row { display: grid; grid-template-columns: minmax(135px,.7fr) minmax(0,1.7fr); gap: .25rem 1.1rem; padding: .85rem 0; border-bottom: 1px solid #e7ddcf; }
.br-priority-practical__row strong { color: #3d3023; }
.br-priority-practical__row p { margin: 0; color: #4e4439; }
.br-priority-practical__row small { grid-column: 2; color: #75685b; line-height: 1.4; }

.br-priority-finance-reference, .br-priority-mortgage-reference { margin-top: 1.4rem; border-color: #cbd3cd; background: #fafbfa; }
.br-priority-finance-reference > summary, .br-priority-mortgage-reference > summary { background: #f4f6f4; }
.br-priority-finance-copy { padding: .85rem 1rem 0; max-width: 72ch; color: #4e5b53; }
.br-priority-finance-copy p { margin: 0; }
.br-priority-invest-table-wrap { margin: 0 1rem 1rem; }
.br-priority-invest-table-wrap td small { display: block; margin-top: .2rem; color: var(--br-muted); }

@media (max-width: 720px) {
  .br-priority-summary { grid-template-columns: 1fr; }
  .br-priority-summary__item { padding: .72rem 0; }
  .br-priority-summary__item + .br-priority-summary__item { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .br-priority-card__metrics { grid-template-columns: 1fr; }
  .br-priority-card__metrics > div:nth-child(even) { padding-left: 0; border-left: 0; }
  .br-priority-card__metrics .br-priority-card__metric--net { grid-column: auto; }
  .br-priority-practical__row { grid-template-columns: 1fr; gap: .25rem; }
  .br-priority-practical__row small { grid-column: 1; }
  .br-priority-invest-table-wrap { margin-left: .7rem; margin-right: .7rem; }
}

/* v0.17 flagship decision states: keep the arithmetic, suppress fake precision. */
.br-priority-verdict { margin: .45rem 0 .9rem; padding: .7rem .8rem; border-left: 4px solid #8a9a90; background: #f5f7f5; display: grid; gap: .18rem; }
.br-priority-verdict strong { color: #253c31; font-size: .94rem; }
.br-priority-verdict span { color: #4f6258; font-size: .82rem; line-height: 1.45; }
.br-priority-verdict--good_fit { border-left-color: #2e6a4c; background: #edf5ef; }
.br-priority-verdict--outside_horizon { border-left-color: #9a7a45; background: #fbf7ef; }
.br-priority-verdict--very_long_payback,
.br-priority-verdict--no_operating_saving { border-left-color: #9a654d; background: #fbf3ef; }
.br-priority-verdict--already_good { border-left-color: #4f7f65; background: #eef6f1; }
.br-priority-cost-note { display: block; margin-top: .2rem; color: var(--br-muted); font-size: .72rem; font-weight: 400; line-height: 1.35; }
.br-priority-cost-note strong { font-size: inherit; color: inherit; }

/* v0.18 flagship: allow a valid "nothing to do" result and compare envelope measures. */
.br-priority-overall { margin-top: 1rem; padding: .85rem .95rem; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08); display: grid; gap: .25rem; }
.br-priority-overall strong { color: #fff; font-size: 1.02rem; }
.br-priority-overall span { color: #e7f0e9; line-height: 1.45; }
.br-priority-verdict--not_applicable { border-left-color: #728078; background: #f3f5f3; }
.br-priority-verdict--needs_input { border-left-color: #9b7c4c; background: #fbf7ef; }


/* v0.19: decision-first calculator flow. */
.br-calculator-layout { display: block; }
.br-calculator-main { width: 100%; max-width: 900px; }
.br-calculator-sidebar { display: none !important; }
.br-calculator__intro { max-width: 760px; margin-bottom: 1.15rem; }
.br-calculator__intro p:not(.br-eyebrow) { max-width: 68ch; font-size: 1rem; }
.br-section-label { margin-top: 1.35rem; }
.br-field small { max-width: 48ch; }
.br-details > summary { color: #33463a; }
.br-details > summary span { font-size: .86em; }
.br-calculator-actions { display:flex; align-items:center; gap:.9rem 1.1rem; flex-wrap:wrap; margin:1.5rem 0 .45rem; padding:1.1rem 0 0; border-top:1px solid var(--br-border-strong); }
.br-primary-action { appearance:none; border:0; border-radius:5px; min-height:54px; padding:.85rem 1.35rem; background:var(--br-accent-dark); color:#fff; font:inherit; font-size:1.04rem; font-weight:780; line-height:1; cursor:pointer; box-shadow:0 1px 0 rgba(0,0,0,.08); }
.br-primary-action:hover { background:var(--br-accent-deep); }
.br-primary-action:disabled { opacity:.55; cursor:progress; }
.br-primary-action:focus-visible { outline:3px solid rgba(40,96,68,.22); outline-offset:3px; }
.br-secondary-action { appearance:none; border:1px solid #9fb0a4; border-radius:5px; min-height:44px; padding:.62rem .82rem; background:#fff; color:var(--br-accent-dark); font:inherit; font-size:.88rem; font-weight:720; line-height:1; cursor:pointer; }
.br-secondary-action:hover { border-color:#6f8d7a; background:#f6faf7; }
.br-secondary-action:focus-visible { outline:3px solid rgba(40,96,68,.16); outline-offset:3px; }
.br-secondary-action--active { background:#f1f7f3; border-color:#7f9c89; }
.br-calculator-actions__hint { flex:1 1 300px; max-width:52ch; margin:0; color:var(--br-muted); font-size:.84rem; line-height:1.42; }
.br-results--decision-first { margin-top:2.15rem; scroll-margin-top:1rem; }
.br-results--decision-first .br-result-hero { border-radius:6px; box-shadow:0 8px 28px rgba(23,67,47,.10); }
.br-results--decision-first .br-result-hero__metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
.br-results--decision-first .br-result-hero__metrics .br-metric:nth-child(n+4) { display:none !important; }
.br-results--decision-first .br-result-hero__metrics .br-metric:nth-child(even) { border-left:0; padding-left:0; }
.br-results--decision-first .br-result-hero__metrics .br-metric + .br-metric { padding-left:.85rem; border-left:1px solid rgba(255,255,255,.17); }
.br-results--decision-first .br-result-hero__human { font-size:.94rem; }
.br-results--decision-first .br-result-explainer { margin-top:.75rem; padding:.65rem .8rem; font-size:.86rem; }
.br-results--decision-first > [data-br-human-secondary] .br-human-note { font-size:.86rem; padding:.55rem .7rem; }
.br-next-steps { margin:1.15rem 0 1.25rem; padding:1.15rem; border:1px solid #cfdad2; border-radius:7px; background:#f7faf8; }
.br-next-steps__head { margin-bottom:.8rem; }
.br-next-steps__head .br-eyebrow { margin-bottom:.15rem; }
.br-next-steps__head h3 { margin:0; font-size:1.25rem; line-height:1.2; }
.br-next-steps__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.br-next-card { display:grid; align-content:start; gap:.28rem; min-width:0; padding:.9rem; border:1px solid #d7dfd9; border-radius:6px; background:#fff; color:var(--br-text)!important; text-decoration:none!important; }
.br-next-card:hover { border-color:#8fac99; box-shadow:0 3px 12px rgba(23,67,47,.07); }
.br-next-card--featured { border-color:#94b1a0; background:#edf5ef; }
.br-next-card span { color:var(--br-muted); font-size:.72rem; font-weight:720; text-transform:uppercase; letter-spacing:.035em; }
.br-next-card strong { font-size:1.02rem; line-height:1.23; }
.br-next-card small { color:#56645b; font-size:.79rem; line-height:1.38; }
.br-next-card b { margin-top:.22rem; color:#17432f; font-size:.8rem; line-height:1.35; }
.br-result-details { margin:1.1rem 0 0; border-top:1px solid var(--br-border-strong); border-bottom:1px solid var(--br-border); }
.br-result-details > summary { cursor:pointer; padding:1rem 0; color:#32453a; font-weight:760; }
.br-result-details > summary span { color:var(--br-muted); font-size:.82rem; font-weight:450; }
.br-result-details__body { padding:0 0 .6rem; }
.br-result-details__body .br-result-section { margin-top:.65rem; padding:1rem 0; }
.br-result-details__body .br-result-section > h3 { font-size:1.02rem; }
.br-result-details__body .br-result-section > .br-section-intro, .br-result-details__body .br-prose, .br-result-details__body .br-muted { font-size:.84rem; line-height:1.45; }
.br-result-details__body .br-result-section--soft, .br-result-details__body .br-result-section--warm, .br-result-details__body .br-result-section--chart { margin-left:0; margin-right:0; padding:.9rem; border:1px solid #e0e5e1; border-radius:5px; background:#fafbfa; }
.br-result-details__body .br-result-section--warm { background:#fcfaf7; }
.br-result-details__body .br-result-section--chart { border-top:1px solid #d8dfda; }
.br-result-details__body .br-notice--legal { padding:.65rem .75rem; font-size:.76rem; line-height:1.42; background:#f7f8f7; border-left-width:2px; }
.br-result-details__body .br-details { font-size:.86rem; }
.br-result-details__body .br-details summary { padding:.7rem 0; }
@media (max-width:760px) {
  .br-calculator-actions { align-items:stretch; }
  .br-primary-action { width:100%; }
  .br-secondary-action { align-self:flex-start; }
  .br-calculator-actions__hint { flex-basis:100%; }
  .br-next-steps { padding:.9rem; }
  .br-next-steps__grid { grid-template-columns:1fr; }
  .br-results--decision-first .br-result-hero__metrics { grid-template-columns:1fr; }
  .br-results--decision-first .br-result-hero__metrics .br-metric + .br-metric { padding-left:0; border-left:0; }
}

/* v0.22: focused guide layer around calculators. */
.br-guide-directory, .br-guide-cluster, .br-guide-cta, .br-quick-answer {
  --br-text: #17231c;
  --br-muted: #5d675f;
  --br-border: #dce2dd;
  --br-border-strong: #bdc8c0;
  --br-accent-dark: #17432f;
  --br-accent-deep: #103323;
}
.br-guide-lead { max-width: 72ch; font-size: 1.08rem; line-height: 1.65; color: #36473d; }
.br-quick-answer { max-width: 760px; margin: 1.35rem 0 1.7rem; padding: 1rem 1.05rem; border: 1px solid #c9d8ce; border-left: 4px solid var(--br-accent-dark); border-radius: 6px; background: #f5f9f6; }
.br-quick-answer > span { display: block; margin-bottom: .18rem; color: #5b6c61; font-size: .72rem; font-weight: 760; text-transform: uppercase; letter-spacing: .045em; }
.br-quick-answer > strong { display: block; color: #173c2d; font-size: 1.08rem; line-height: 1.3; }
.br-quick-answer > p { margin: .4rem 0 0; max-width: 68ch; color: #45544b; }

.br-guide-directory { display: grid; gap: 2.2rem; margin-top: 1.6rem; }
.br-guide-group { margin: 0; }
.br-guide-group__head { margin-bottom: .8rem; }
.br-guide-group__head h2 { margin: 0 0 .2rem; font-size: 1.32rem; }
.br-guide-group__head p { margin: 0; max-width: 66ch; color: var(--br-muted); }
.br-guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.br-guide-card { display: grid; align-content: start; gap: .3rem; min-width: 0; padding: 1rem; border: 1px solid #d7dfd9; border-radius: 7px; background: #fff; color: var(--br-text)!important; text-decoration: none!important; }
.br-guide-card:hover { border-color: #8fac99; box-shadow: 0 3px 12px rgba(23,67,47,.07); }
.br-guide-card:focus-visible { outline: 3px solid rgba(40,96,68,.18); outline-offset: 3px; }
.br-guide-card span { color: #68776d; font-size: .7rem; font-weight: 760; text-transform: uppercase; letter-spacing: .04em; }
.br-guide-card strong { font-size: 1rem; line-height: 1.28; }
.br-guide-card small { color: #59675e; font-size: .81rem; line-height: 1.45; }
.br-guide-card b { margin-top: .2rem; color: #17432f; font-size: .8rem; }

.br-guide-cluster { margin: 2rem 0 1.3rem; padding: 1.15rem; border: 1px solid #d8dfda; border-radius: 7px; background: #fafcfb; }
.br-guide-cluster__head { margin-bottom: .8rem; }
.br-guide-cluster__head h2 { margin: .05rem 0 0; font-size: 1.23rem; }
.br-guide-cluster__all { margin: .8rem 0 0; font-size: .86rem; font-weight: 700; }

.br-guide-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.1rem 1.5rem; max-width: 820px; margin: 1.8rem 0; padding: 1.05rem 1.1rem; border: 1px solid #a8beaf; border-radius: 7px; background: #edf5ef; }
.br-guide-cta div { min-width: 0; }
.br-guide-cta span { display: block; margin-bottom: .15rem; color: #607268; font-size: .7rem; font-weight: 760; text-transform: uppercase; letter-spacing: .04em; }
.br-guide-cta strong { display: block; color: #173c2d; font-size: 1.08rem; line-height: 1.28; }
.br-guide-cta p { margin: .35rem 0 0; max-width: 58ch; color: #4d5d53; font-size: .86rem; line-height: 1.45; }
.br-guide-cta__button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem .85rem; border-radius: 5px; background: var(--br-accent-dark); color: #fff!important; font-weight: 760; text-decoration: none!important; white-space: nowrap; }
.br-guide-cta__button:hover { background: var(--br-accent-deep); }
.br-guide-cta__button:focus-visible { outline: 3px solid rgba(40,96,68,.2); outline-offset: 3px; }

@media (max-width: 820px) {
  .br-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .br-guide-grid { grid-template-columns: 1fr; }
  .br-guide-cluster { padding: .9rem; }
  .br-guide-cta { align-items: stretch; flex-direction: column; }
  .br-guide-cta__button { align-self: stretch; }
}

/* v0.23: site-wide UX/SEO surface. Keep the action hierarchy obvious. */
.br-directory,
.br-guide-directory,
.br-guide-cluster,
.br-guide-cta,
.br-quick-answer,
.br-page-actions {
  --br-text: #17231c;
  --br-muted: #5d675f;
  --br-border: #dce2dd;
  --br-border-strong: #bdc8c0;
  --br-accent: #286044;
  --br-accent-dark: #17432f;
  --br-accent-deep: #103323;
  --br-accent-soft: #edf4ef;
  color: var(--br-text);
  font: inherit;
}

/* Hub pages: one clear entry action, then a scannable directory. */
.br-page-actions { margin: 1.15rem 0 1.75rem; }
.br-page-primary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: .82rem 1.15rem;
  border: 2px solid var(--br-accent-dark);
  border-radius: 9px;
  background: var(--br-accent-dark);
  color: #fff !important;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 5px 16px rgba(23,67,47,.14);
}
.br-page-primary-cta:hover { background: var(--br-accent-deep); border-color: var(--br-accent-deep); transform: translateY(-1px); }
.br-page-primary-cta:focus-visible { outline: 3px solid rgba(40,96,68,.24); outline-offset: 3px; }
.br-page-note { max-width: 72ch; margin: 1.4rem 0; padding-top: .85rem; border-top: 1px solid #dce2dd; color: #68736b; font-size: .84rem; line-height: 1.5; }
.br-page-note a { color: #185339; font-weight: 650; }
.br-kicker { margin: 0 0 .15rem; color: #286044; font-size: .72rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }

.br-directory { display: grid; max-width: 900px; margin: 1.4rem 0 0; border-top: 1px solid var(--br-border-strong); }
.br-directory__row {
  display: grid;
  grid-template-columns: minmax(125px,.65fr) minmax(0,2.6fr) 34px;
  gap: .75rem 1.1rem;
  align-items: center;
  padding: 1.15rem .2rem;
  border-bottom: 1px solid var(--br-border);
  color: var(--br-text) !important;
  text-decoration: none !important;
}
.br-directory__row:hover { background: #f6f9f7; }
.br-directory__meta { color: #647168; font-size: .73rem; font-weight: 760; line-height: 1.35; text-transform: uppercase; letter-spacing: .035em; }
.br-directory__body { display: grid; gap: .22rem; min-width: 0; }
.br-directory__body strong { color: #1b3226; font-size: 1.08rem; line-height: 1.25; }
.br-directory__body > span { max-width: 65ch; color: #56635a; font-size: .88rem; line-height: 1.45; }
.br-directory__arrow { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--br-accent-soft); color: var(--br-accent-dark); font-size: 1.1rem; font-weight: 800; }
.br-directory__row:hover .br-directory__arrow { background: var(--br-accent-dark); color: #fff; }

/* Calculator action area: deliberately stronger than any secondary control. */
.br-calculator-actions {
  margin-top: 1.55rem;
  padding: 1.05rem;
  border: 1px solid #c9d8ce;
  border-radius: 10px;
  background: #f5f9f6;
}
.br-primary-action {
  min-height: 58px;
  min-width: 235px;
  padding: .95rem 1.45rem;
  border: 2px solid #17432f;
  border-radius: 9px;
  background: #1f6847;
  color: #fff;
  font-size: 1.06rem;
  font-weight: 820;
  line-height: 1.1;
  box-shadow: 0 5px 16px rgba(23,67,47,.16);
}
.br-primary-action:hover { background: #17432f; transform: translateY(-1px); box-shadow: 0 7px 20px rgba(23,67,47,.20); }
.br-primary-action:disabled { transform: none; box-shadow: none; }
.br-secondary-action { min-height: 48px; border-width: 2px; border-radius: 8px; padding: .72rem .95rem; background: #fff; }
.br-calculator-actions__hint { color: #647168; }

/* Results: recommendation first, then two unmistakable next actions. */
.br-next-steps { padding: 1.2rem; border-radius: 10px; background: #f6f9f7; }
.br-next-steps__head { margin-bottom: .9rem; }
.br-next-steps__head h3 { font-size: 1.3rem; }
.br-next-steps__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.br-next-card { padding: 1.05rem; border: 2px solid #d3ddd6; border-radius: 9px; }
.br-next-card--featured {
  grid-column: 1 / -1;
  padding: .9rem 1rem;
  border: 0;
  border-left: 4px solid #286044;
  border-radius: 5px;
  background: #edf5ef;
  box-shadow: none;
}
.br-next-card--featured b { margin-top: .1rem; color: #4c5e53; font-weight: 620; }
a.br-next-card { position: relative; padding-bottom: 1.1rem; }
a.br-next-card:hover { border-color: #6e977e; box-shadow: 0 5px 16px rgba(23,67,47,.09); transform: translateY(-1px); }
a.br-next-card b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: start;
  min-height: 38px;
  margin-top: .45rem;
  padding: .45rem .72rem;
  border-radius: 6px;
  background: #17432f;
  color: #fff;
  font-size: .78rem;
  font-weight: 780;
}

/* Guide pages: calm reading surface, strong calculator bridge. */
.br-guide-lead { max-width: 68ch; margin-bottom: 1rem; font-size: 1.08rem; line-height: 1.62; color: #33463a; }
.br-quick-answer { max-width: 780px; margin: 1.15rem 0 .9rem; padding: 1.05rem 1.1rem; border-radius: 8px; background: #f4f8f5; }
.br-quick-answer > strong { font-size: 1.12rem; }
.br-quick-answer > p { font-size: .92rem; line-height: 1.5; }
.br-guide-cta {
  max-width: 820px;
  margin: .85rem 0 1.8rem;
  padding: 1.2rem 1.25rem;
  border: 0;
  border-radius: 10px;
  background: #17432f;
  color: #fff;
  box-shadow: 0 7px 22px rgba(23,67,47,.14);
}
.br-guide-cta span { color: #c7dccc; }
.br-guide-cta strong { color: #fff; font-size: 1.12rem; }
.br-guide-cta p { color: #e2eee6; font-size: .88rem; }
.br-guide-cta__button {
  min-height: 52px;
  padding: .75rem 1rem;
  border: 2px solid #fff;
  border-radius: 8px;
  background: #fff;
  color: #17432f !important;
  font-size: .92rem;
  font-weight: 820;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.br-guide-cta__button:hover { background: #eff6f1; color: #103323 !important; }

/* Guide directory: fewer columns and stronger scan hierarchy. */
.br-guide-directory { gap: 2.35rem; }
.br-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.br-guide-card { padding: 1.05rem 1.1rem; border-radius: 9px; }
.br-guide-card strong { font-size: 1.04rem; }
.br-guide-card small { font-size: .84rem; }
.br-guide-card b { margin-top: .45rem; font-size: .82rem; font-weight: 780; }
.br-guide-cluster { max-width: 900px; padding: 1.1rem; border-radius: 9px; }
.br-guide-cluster .br-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media (max-width: 760px) {
  .br-page-primary-cta { width: 100%; }
  .br-directory__row { grid-template-columns: 1fr 32px; gap: .35rem .7rem; padding: 1rem .1rem; }
  .br-directory__meta { grid-column: 1; }
  .br-directory__body { grid-column: 1; }
  .br-directory__arrow { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .br-calculator-actions { padding: .9rem; }
  .br-primary-action { width: 100%; min-width: 0; }
  .br-next-steps__grid { grid-template-columns: 1fr; }
  .br-next-card--featured { grid-column: auto; }
  .br-guide-grid, .br-guide-cluster .br-guide-grid { grid-template-columns: 1fr; }
  .br-guide-cta { padding: 1.05rem; }
  .br-guide-cta__button { width: 100%; }
}

/* v0.23 mobile containment: standalone guide components are not inside .br-calculator. */
.br-guide-directory *,
.br-guide-cluster *,
.br-guide-cta *,
.br-quick-answer *,
.br-page-actions *,
.br-directory * { box-sizing: border-box; }


/* Wide no-sidebar calculator layout. Homepage and site shell are styled by the theme. */
.br-calculator {
  width: min(1320px, calc(100vw - 32px));
  max-width: none;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
.br-calculator-main { width: 100%; max-width: none; }
.br-calculator__intro { max-width: 820px; }
.br-directory { max-width: 1040px; }

/* Visible safety copy: close to the decision, but visually secondary. */
.br-result-safety-note {
  margin: .9rem 0 1.1rem;
  padding: .75rem .9rem;
  border: 1px solid #d9dfda;
  border-left: 4px solid #7d8b82;
  border-radius: 7px;
  background: #f7f8f7;
  color: #59645d;
  font-size: .8rem;
  line-height: 1.48;
}
.br-result-safety-note strong { color: #344239; }
.br-result-safety-note a { color: #17432f; font-weight: 760; }

/* Flagship: a white decision surface instead of dense white text on green. */
.br-priority-result {
  border: 1px solid #cfd9d2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(23,67,47,.08);
  overflow: hidden;
}
.br-priority-result__head {
  padding: 1.35rem 1.4rem .9rem;
  border-bottom: 1px solid #e1e6e2;
  background: linear-gradient(180deg,#f7faf8 0%,#fff 100%);
}
.br-priority-result__head h2 {
  margin: .12rem 0 .35rem;
  color: #173c2d;
  font-size: clamp(1.65rem,3.2vw,2.35rem);
  line-height: 1.08;
  letter-spacing: -.028em;
}
.br-priority-result__head > p:last-child { margin: 0; max-width: 74ch; color: #536159; }
.br-priority-overall--light {
  margin: 1rem 1.4rem 0;
  padding: .9rem 1rem;
  border: 1px solid #cfdad2;
  border-left: 4px solid #286044;
  border-radius: 7px;
  background: #f3f7f4;
  display: grid;
  gap: .22rem;
}
.br-priority-overall--light strong { color: #173c2d; }
.br-priority-overall--light span { color: #536159; }

.br-priority-ranking {
  list-style: none;
  margin: 0;
  padding: .35rem 1.4rem .6rem;
}
.br-priority-rank-item {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 1rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid #dfe5e0;
}
.br-priority-rank-item:last-child { border-bottom: 0; }
.br-priority-rank-item.is-first {
  margin: .45rem -.35rem .15rem;
  padding: 1.2rem .35rem;
  border: 2px solid #9fb9a8;
  border-radius: 10px;
  background: #f2f8f4;
}
.br-priority-rank-number {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #17432f;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 850;
}
.br-priority-rank-item:not(.is-first) .br-priority-rank-number { background: #edf3ef; color: #17432f; }
.br-priority-rank-body { min-width: 0; }
.br-priority-rank-heading { display: flex; align-items: start; justify-content: space-between; gap: .8rem; }
.br-priority-rank-heading > div > span { color: #657269; font-size: .7rem; font-weight: 790; letter-spacing: .045em; text-transform: uppercase; }
.br-priority-rank-heading h3 { margin: .08rem 0 0; color: #1b3025; font-size: 1.24rem; line-height: 1.15; }
.br-priority-rank-heading > b {
  flex: 0 0 auto;
  padding: .25rem .45rem;
  border-radius: 999px;
  background: #e7f1ea;
  color: #225038;
  font-size: .69rem;
  font-weight: 760;
}
.br-priority-rank-item.is-overbudget .br-priority-rank-heading > b { background: #f6eee4; color: #71553c; }
.br-priority-rank-body > p { margin: .5rem 0 .72rem; max-width: 76ch; color: #536159; font-size: .88rem; line-height: 1.48; }
.br-priority-rank-metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .55rem;
  max-width: 760px;
}
.br-priority-rank-metrics > span {
  display: grid;
  gap: .08rem;
  padding: .55rem .65rem;
  border: 1px solid #dce3de;
  border-radius: 6px;
  background: #fff;
}
.br-priority-rank-metrics small { color: #718077; font-size: .67rem; line-height: 1.25; }
.br-priority-rank-metrics strong { color: #24362c; font-size: .9rem; line-height: 1.25; overflow-wrap: anywhere; }
.br-priority-rank-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: .75rem;
  padding: .62rem .88rem;
  border: 2px solid #17432f;
  border-radius: 7px;
  background: #17432f;
  color: #fff !important;
  font-size: .85rem;
  font-weight: 800;
  text-decoration: none !important;
}
.br-priority-rank-item.is-first .br-priority-rank-cta { min-height: 50px; padding: .72rem 1rem; font-size: .92rem; }
.br-priority-rank-cta:hover { background: #103323; border-color: #103323; transform: translateY(-1px); }
.br-priority-result > .br-result-safety-note { margin: .35rem 1.4rem 1.3rem; }

.br-priority-help-actions {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  gap: 1rem 1.5rem;
  align-items: end;
  margin: 1.05rem 0 1.2rem;
  padding: 1.05rem 1.15rem;
  border-radius: 9px;
  background: #f6f8f6;
}
.br-priority-help-actions h3 { margin: .08rem 0 0; font-size: 1.08rem; }
.br-priority-help-actions__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; }
.br-priority-help-actions__links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .5rem .7rem;
  border: 1px solid #b7c6bc;
  border-radius: 6px;
  background: #fff;
  color: #17432f !important;
  font-size: .78rem;
  font-weight: 760;
  text-decoration: none !important;
}
.br-priority-help-actions__links a:hover { border-color: #6f947d; background: #f0f6f2; }

/* v0.24.4: readable notes on light cards, even when nested inside the dark result hero. */
.br-human-note {
  color: #34443a;
}
.br-result-hero .br-human-note,
.br-result-hero p.br-human-note {
  color: #34443a;
  background: #f5f7f5;
}
.br-result-hero .br-human-note--caution,
.br-result-hero p.br-human-note--caution {
  color: #4e4134;
  background: var(--br-caution);
}
.br-result-hero .br-human-note strong,
.br-result-hero .br-human-note b {
  color: #20352a;
}

/* v0.24.4: secondary result text remains secondary, but not low-contrast. */
.br-priority-rank-heading > div > span { color: #526057; }
.br-priority-rank-metrics small { color: #55645b; }
.br-priority-rank-body > p { color: #4c5a52; }
.br-results .br-result-safety-note { color: #4f5c54; }
