/* Shared decision paths and local preparation tools. No external assets. */
.situation-section { background: #fffefa; }
.situation-intro { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 45px; align-items: start; margin-bottom: 30px; }
.situation-intro h2 { margin-bottom: 0; }
.situation-intro p { max-width: 720px; color: var(--samson-muted); }
.situation-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 20px; }
.situation-path { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 16px; align-items: center; min-width: 0; padding: 27px; border: 1px solid #e5ddd0; border-radius: 7px; color: var(--samson-ink); text-decoration: none; transition: border-color .18s, transform .18s; }
.situation-path:hover { border-color: var(--samson-orange); transform: translateY(-2px); text-decoration: none; }
.situation-path--home { grid-row: span 2; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; padding: 34px; background: #fbefdf; }
.situation-path--business { background: #f0f2f0; }
.situation-path--furniture { background: #fff; border-left: 3px solid var(--samson-orange); }
.situation-copy { min-width: 0; }
.situation-label { display: flex; align-items: center; gap: 12px; margin-bottom: 17px; color: #736650; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.situation-number { color: var(--samson-orange-dark); font-size: 18px; letter-spacing: -.02em; }
.situation-copy h3 { margin-bottom: 13px; font-size: 23px; line-height: 1.25; }
.situation-path--home h3 { max-width: 330px; font-size: 31px; }
.situation-copy p { color: var(--samson-muted); font-size: 14px; line-height: 1.75; }
.situation-link-label { display: inline-block; margin-top: 6px; color: var(--samson-orange-dark); font-size: 14px; font-weight: 700; }
.situation-visual { min-width: 0; color: #55594f; }
.situation-path--home .situation-visual { width: 100%; max-width: 350px; margin: 14px auto 0; }
.situation-diagram { display: block; width: 100%; height: auto; }
.situation-fill { fill: #ffffff88; stroke: none; }
.situation-accent { color: var(--samson-orange-dark); stroke: currentColor; }
.situation-dashed { stroke-dasharray: 4 5; opacity: .65; }
.customer-problems { border-block: 1px solid var(--samson-line); background: #f9f7f2; }
.customer-problems > .container { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 55px; align-items: start; }
.customer-problems-intro { position: sticky; top: 25px; }
.customer-problems-intro h2 { max-width: 320px; }
.customer-problem { padding-block: 26px; border-top: 1px solid #e3dbce; }
.customer-problem:first-child { padding-top: 0; border-top: 0; }
.customer-problem:last-child { padding-bottom: 0; }
.customer-problem h3 { max-width: 760px; font-size: 21px; }
.customer-problem p { color: var(--samson-muted); font-size: 15px; }
.customer-direct-answer strong { color: var(--samson-ink); font-weight: 600; }
.customer-problem-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; padding-top: 3px; font-size: 13px; font-weight: 700; }
.customer-problem-call { white-space: nowrap; }
.quote-preparation { background: #f5eddf; border-block: 1px solid #eadcc5; }
.quote-prep-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 25px 42px; align-items: start; }
.quote-prep-intro { grid-column: 1 / -1; max-width: 900px; }
.quote-prep-intro h2 { max-width: 800px; }
.quote-prep-intro p { color: var(--samson-muted); }
.quote-prep-intro .quote-prep-privacy { font-size: 13px; }
.quote-prep-controls { display: grid; gap: 23px; min-width: 0; }
.quote-prep-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.quote-prep-fieldset legend { width: 100%; margin-bottom: 11px; padding: 0; color: var(--samson-ink); font-size: 16px; font-weight: 700; }
.quote-prep-options { display: flex; flex-wrap: wrap; gap: 9px; }
.quote-prep-choice { display: flex; align-items: flex-start; gap: 9px; max-width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #dbd0bf; border-radius: 5px; background: #fffdf9; color: var(--samson-ink); font-size: 14px; line-height: 1.55; cursor: pointer; }
.quote-prep-choice input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: #b7540b; }
.quote-prep-choice span { overflow-wrap: anywhere; }
.quote-prep-choice:focus-within { outline: 3px solid #995019; outline-offset: 2px; }
.quote-prep-choice:has(input:checked) { border-color: #ad570e; background: #fff3df; }
.quote-prep-result { min-width: 0; padding: 30px; border-top: 3px solid var(--samson-orange); border-radius: 0 0 7px 7px; background: #fff; }
.quote-prep-result h3 { margin-bottom: 20px; font-size: 23px; }
.quote-prep-list { padding-left: 23px; margin-bottom: 25px; color: var(--samson-muted); font-size: 15px; line-height: 1.75; }
.quote-prep-list li + li { margin-top: 12px; }
.quote-prep-call { width: 100%; gap: 10px; font-size: 14px; }
.quote-prep-note { margin-top: 16px; color: var(--samson-muted); font-size: 13px; }
.knowledge-article .customer-problems > .container, .knowledge-article .quote-prep-layout { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.knowledge-article .customer-problems, .knowledge-article .quote-preparation { padding: 30px; margin-block: 35px; border-radius: 6px; }
.knowledge-article .customer-problems-intro { position: static; }
.knowledge-article .customer-problems-intro h2 { max-width: none; margin: 0; }
.knowledge-article .quote-prep-intro h2 { margin-top: 0; }
@media (max-width: 1000px) {
 .situation-path { grid-template-columns: minmax(0, 1fr) 110px; padding: 24px; }
 .situation-path--home { display: flex; padding: 27px; }
 .situation-copy h3 { font-size: 21px; }
 .situation-path--home h3 { font-size: 29px; }
 .customer-problems > .container { gap: 32px; }
 .quote-prep-layout { gap: 25px; }
 .quote-prep-result { padding: 24px; }
}
@media (max-width: 850px) {
 .situation-intro, .customer-problems > .container, .quote-prep-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
 .situation-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
 .situation-path--home { grid-row: auto; display: grid; grid-template-columns: minmax(0, 1fr) 200px; }
 .situation-path { grid-template-columns: minmax(0, 1fr) 180px; }
 .situation-path--home .situation-visual { margin: 0; }
 .customer-problems-intro { position: static; }
 .customer-problems-intro h2 { max-width: none; margin-bottom: 0; }
 .quote-prep-result { max-width: 650px; }
}
@media (max-width: 600px) {
 .situation-intro { gap: 17px; margin-bottom: 23px; }
 .situation-path { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 17px; }
 .situation-path--home { display: flex; flex-direction: column; padding: 26px; }
 .situation-path--home h3 { max-width: 330px; font-size: 29px; }
 .situation-path .situation-visual { width: 100%; max-width: 240px; margin-inline: auto; }
 .situation-path--home .situation-visual { max-width: 300px; }
 .situation-copy h3 { font-size: 24px; }
 .situation-label { margin-bottom: 13px; }
 .customer-problem h3 { font-size: 20px; }
 .customer-problem-links { flex-direction: column; align-items: flex-start; gap: 12px; }
 .quote-prep-options { gap: 8px; }
 .quote-prep-choice { width: 100%; min-height: 48px; padding: 12px; }
 .quote-prep-result { padding: 23px; }
 .quote-prep-result h3 { font-size: 22px; }
 .quote-prep-call { min-height: 56px; font-size: 13px; }
 .knowledge-article .customer-problems, .knowledge-article .quote-preparation { padding: 23px 18px; margin-inline: -2px; }
}
@media (prefers-reduced-motion: reduce) { .situation-path { transition: none; transform: none; } }

/* Concrete customer situations extend the existing three visual paths. */
.situation-examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; margin-block: 18px; padding-left: 17px; color: var(--samson-muted); font-size: 13px; line-height: 1.6; }
.situation-examples li { margin: 0; padding-left: 1px; }
.situation-examples li::marker { color: var(--samson-orange-dark); }
.situation-path--business .situation-examples, .situation-path--furniture .situation-examples { grid-template-columns: minmax(0, 1fr); }
.page-section-nav { padding-block: 16px 22px; border-bottom: 1px solid var(--samson-line); }
.page-section-nav > span { color: var(--samson-muted); font-size: 12px; }
.page-section-nav ul { display: flex; flex-wrap: wrap; gap: 2px 22px; margin: 5px 0 0; padding: 0; list-style: none; }
.page-section-nav li { margin: 0; }
.page-section-nav a { display: inline-block; padding-block: 8px; color: var(--samson-ink); font-size: 13px; text-underline-offset: 4px; }
.company-process { background: #f7f3eb; border-block: 1px solid #e7decf; }
.company-process-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 60px; }
.company-process-intro p { color: var(--samson-muted); }
.company-process-list { margin: 0; padding: 0; list-style: none; }
.company-process-list > li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 18px; margin: 0; padding-block: 22px; border-top: 1px solid #dfd5c5; }
.company-process-list > li:first-child { padding-top: 0; border-top: 0; }
.company-process-list > li:last-child { padding-bottom: 0; }
.company-step-number { color: var(--samson-orange-dark); font-size: 24px; line-height: 1.2; }
.company-process-list h3 { margin-bottom: 10px; font-size: 19px; }
.company-process-list p { color: var(--samson-muted); font-size: 15px; }
.page-about .info-comparison { background: #fff6e9; border-block: 1px solid #ede0cb; }
@media (max-width: 850px) {
 .company-process-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .company-process-intro h2 { margin-bottom: 14px; }
}
@media (max-width: 600px) {
 .situation-examples { font-size: 13px; }
 .page-section-nav ul { gap: 0 17px; }
 .page-section-nav a { font-size: 12px; }
 .company-process-list > li { grid-template-columns: 31px minmax(0, 1fr); gap: 13px; }
 .company-step-number { font-size: 22px; }
}
@media (max-width: 359px) { .situation-examples { grid-template-columns: minmax(0, 1fr); } }

/* Direct routes to useful answers, alongside the full editorial explanations. */
.help-topics { background: #f7f4ed; border-block: 1px solid #e8ded0; }
.help-topics-heading { max-width: 820px; margin-bottom: 30px; }
.help-topics-heading p { color: var(--samson-muted); }
.help-topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 22px; }
.help-topic { display: grid; grid-template-columns: 28px minmax(0, 1fr) 18px; gap: 15px; align-items: start; padding: 23px; border: 1px solid #e1d9cd; border-radius: 6px; background: #fffefa; color: var(--samson-ink); text-decoration: none; }
.help-topic:hover { border-color: var(--samson-orange); background: #fff8ec; text-decoration: none; }
.help-topic-index { margin-top: 1px; color: var(--samson-orange-dark); font-size: 15px; }
.help-topic h3 { margin-bottom: 9px; font-size: 19px; line-height: 1.4; }
.help-topic p { margin: 0; color: var(--samson-muted); font-size: 14px; line-height: 1.7; }
.help-topic-arrow { color: var(--samson-orange-dark); font-size: 20px; line-height: 1.3; }
.help-topic--apartment, .help-topic--house { border-top: 2px solid #cc762e; }
.help-topics-embedded { margin-bottom: 32px; }
.help-topics-embedded .help-topic-list { gap: 12px; }
.help-topics-embedded .help-topic { grid-template-columns: 22px minmax(0, 1fr) 14px; gap: 10px; padding: 18px; }
.help-topics-embedded .help-topic h3 { font-size: 16px; }
.help-topics-embedded .help-topic p { font-size: 13px; }
.knowledge-article .help-topics-embedded .help-topic-list { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1050px) {
 .help-topics-embedded .help-topic-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
 .help-topic-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
 .help-topic { grid-template-columns: 24px minmax(0, 1fr) 16px; gap: 12px; padding: 21px 18px; }
 .help-topic h3 { font-size: 18px; }
 .help-topics-heading { margin-bottom: 23px; }
 .help-topics-embedded { margin-bottom: 27px; }
}
