/* Local-review revision: explicitly scoped, after the legacy visual cascade. */
.source-budget { padding:var(--bv-section-space,60px) 0; background:#eaf2f5; color:#173746; }
.source-budget__grid { display:grid; grid-template-columns:1fr 1.08fr; gap:40px; align-items:start; }
.source-budget h2 { margin:12px 0 20px; font-size:clamp(29px,3vw,42px); line-height:1.13; color:#173746; }
.source-budget h3 { margin:14px 0; font-size:25px; line-height:1.25; }
.source-budget p,.source-budget li { font-size:16px; line-height:1.65; }
.source-budget__kicker { color:#835413; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.source-budget__steps { list-style:none; padding:0; margin:26px 0 0; counter-reset:budget; display:grid; gap:16px; }
.source-budget__steps li { counter-increment:budget; padding:16px 18px 16px 56px; position:relative; border:1px solid #c6d6dc; border-radius:12px; background:#fff; }
.source-budget__steps li::before { content:'0' counter(budget); position:absolute; left:17px; top:17px; color:#835413; font-size:13px; font-weight:700; }
.source-budget__steps b,.source-budget__steps span { display:block; }
.source-budget__steps span { margin-top:6px; color:#435b67; font-size:14px; }
.source-budget__offer { padding:30px; border:1px solid #c6d6dc; border-radius:14px; background:#fff; }
.source-budget .source-budget__amount { margin:18px 0; font-size:40px; line-height:1.15; font-weight:700; }
.source-budget__amount small { font-size:15px; font-weight:400; }
.source-budget__boundary { border-top:1px solid #cfdbdf; padding-top:20px; margin:24px 0; }
.source-budget__boundary p { font-size:14px; color:#435b67; }
.source-budget__example { padding:18px; margin-top:22px; background:#edf3ef; border:1px solid #d1dfda; border-radius:10px; }
.source-budget__example p { margin:8px 0; }
.source-budget__example small { display:block; font-size:13px; line-height:1.6; color:#435b67; }
.source-budget__offer a { display:block; width:fit-content; margin-top:15px; color:#173746; text-underline-offset:4px; font-weight:700; }
/* Service explanations should remain readable, not shrink to caption sizes. */
body main :is(.method-fit__grid, .method-scope__grid, .method-process__grid,
 .construction-anatomy__grid, .construction-work__grid, .system-work__grid,
 .setup-next__card, .setup-scope__panel, .setup-handover__card,
 .repair-paths__grid, .repair-scope__card, .complex-scope__grid) p {
  font-size:15px; line-height:1.65;
}
/* The common palette makes these price chapters dark, including drilling pages.
   Override the older drill-page light-panel text rules, but not white offer cards. */
body main section.lp-section--navy#price { background:#243d48; color:#fff; }
body main section.lp-section--navy#price .lp-two-col > div:first-child > h2 { color:#fff; }
body main section.lp-section--navy#price .lp-two-col > div:first-child > .lp-body { color:#e1ecee; }
body main section.lp-section--navy#price .lp-two-col > div:first-child > .lp-kicker { color:#e5d477; }
/* Compare actual supplied dimensions; these states are not access guarantees. */
main .lp-access-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:760px; }
main .lp-access-fields label { display:flex; flex-direction:column; gap:8px; align-items:stretch; min-width:0; margin:0; }
main .lp-access-fields input { width:100%; max-width:none; min-width:0; min-height:48px; padding:12px 14px; font:400 16px/1.4 Inter,Arial,sans-serif; }
main .lp-access-fields small { color:#435b67; font:400 13px/1.55 Inter,Arial,sans-serif; }
main [data-access-output] { display:block; margin-top:20px; max-width:760px; border:1px solid #c9d8d3; border-left:4px solid #9c8238; border-radius:10px; padding:20px; background:#f6f4ee; color:#173746; }
main [data-access-output] strong { display:block; margin-bottom:8px; color:#173746; font:700 16px/1.5 Inter,Arial,sans-serif; }
main [data-access-output] p { margin:0; color:#3f5b64; font:400 15px/1.7 Inter,Arial,sans-serif; }
main [data-access-output][data-state='compare'] { background:#eaf2f5; border-left-color:#2e6477; }
main [data-access-output]:is([data-state='blocked'],[data-state='error']) { background:#fff1e7; border-left-color:#a75025; }
main .lp-access-fields input[aria-invalid='true'] { border-color:#a75025; }
@media(max-width:600px) { main .lp-access-fields { grid-template-columns:1fr; gap:18px; } }
/* Each example is visible in full, independently of input width. */
main :is(.lp-brief-fields,.cp-brief-fields) { grid-template-columns:repeat(2,minmax(0,1fr)); }
main :is(.lp-brief-fields,.cp-brief-fields)>label:last-child:nth-child(odd) { grid-column:1/-1; }
main :is(.lp-brief-fields,.cp-brief-fields) input { min-width:0; width:100%; min-height:48px; font-size:14px; font-weight:400; padding:11px 12px; }
main .brief-field-example { display:block; margin-top:7px; font-size:13px; font-weight:400; line-height:1.5; color:#435b67; overflow-wrap:anywhere; }
/* Rich selected-node panel, without hidden paragraphs. */
.setup-flow .setup-flow__layout { align-items:start; }
.setup-flow .setup-flow__steps[hidden] { display:none; }
.setup-flow .setup-flow__detail { min-height:0; padding:26px; }
.setup-flow .setup-flow__detail p { font-size:16px; line-height:1.65; }
.setup-flow__explanation { margin-top:20px; border-top:1px solid #cad8d4; padding-top:18px; }
.setup-flow__explanation h4 { margin:0 0 8px; font-size:14px; }
.setup-flow__explanation p { margin:0; }
.setup-flow .setup-flow__result { margin-top:20px; line-height:1.6; }
.setup-flow .setup-flow__step { cursor:default; }
.setup-flow .setup-flow__marker { min-width:44px; min-height:44px; }
.deep-decision { display:grid; gap:12px; margin:22px 0; padding:0; list-style:none; }
.deep-decision li { padding:17px 20px; border:1px solid #c5d6df; background:#fff; border-radius:12px; }
.deep-decision b { display:block; color:#173746; margin-bottom:5px; font-size:16px; }
.deep-decision span { display:block; color:#435b67; line-height:1.65; font-size:14px; }
body main .sv-engineering--deep { background:#eaf2f5; }
/* Sequential chapter colours are assigned locally from three readable surfaces. */
body main>section[data-surface='warm'] { background-color:#f6f4ee !important; }
body main>section[data-surface='sage'] { background-color:#edf3ef !important; }
body main>section[data-surface='blue'] { background-color:#eaf2f5 !important; }
body main>section[data-surface='dark'] { background-color:#243d48 !important; }
@media(max-width:900px) { .source-budget__grid { gap:24px; grid-template-columns:1fr; } }
@media(max-width:600px) { .source-budget { padding:40px 0; } .source-budget__offer { padding:22px; } .source-budget .source-budget__amount { font-size:34px; } main :is(.lp-brief-fields,.cp-brief-fields) { grid-template-columns:1fr; } main :is(.lp-brief-fields,.cp-brief-fields)>label { grid-column:auto; } .setup-flow .setup-flow__detail { padding:22px; } }
