/* LCBP orientation: restrained, keyboard-accessible, responsive. */
.lcbp-diagnostic { padding-block:clamp(2.5rem,5vw,4.5rem); scroll-margin-top:6rem; }
.lcbp-diagnostic [hidden] { display:none !important; }
.diagnostic-intro { display:grid; grid-template-columns:1fr 1fr; gap:2rem 3rem; align-items:start; margin-bottom:1.6rem; }
.diagnostic-intro h2 { margin-top:.4rem; font-size:clamp(30px,3.5vw,44px); line-height:1.12; letter-spacing:-.035em; }
.diagnostic-intro p { line-height:1.65; }
.diagnostic-intro .diagnostic-privacy { font-size:14px; color:var(--muted); }
.diagnostic-welcome, .diagnostic-journey, .diagnostic-result { border:1px solid var(--line); border-radius:1.25rem; background:var(--surface); padding:clamp(1.2rem,3vw,2.2rem); }
.diagnostic-welcome > p { max-width:53rem; margin-top:0; }
.diagnostic-actions { display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:center; margin-top:1.4rem; }
.lcbp-diagnostic .button { min-height:46px; height:auto; white-space:normal; text-align:center; }
.lcbp-diagnostic :is(a,button,input):focus-visible { outline:3px solid var(--focus,var(--action)); outline-offset:4px; }
.diagnostic-progress-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.diagnostic-progress-row p { font-size:14px; color:var(--muted); margin:0; }
.diagnostic-text-button { padding:.5rem 0; min-height:44px; border:0; background:none; color:var(--action); font:inherit; font-size:14px; cursor:pointer; text-decoration:underline; text-underline-offset:.2em; }
#diagnostic-progress { display:block; width:100%; height:5px; margin:.55rem 0 1.7rem; accent-color:var(--action); border:0; border-radius:5px; overflow:hidden; background:var(--line); }
#diagnostic-progress::-webkit-progress-bar { background:var(--line); }
#diagnostic-progress::-webkit-progress-value { background:var(--action); }
#diagnostic-progress::-moz-progress-bar { background:var(--action); }
#diagnostic-question { border:0; padding:0; margin:0; min-width:0; }
#diagnostic-question legend { display:block; float:none; width:100%; padding:0; font-size:clamp(23px,2.3vw,30px); line-height:1.25; font-weight:650; color:var(--ink); letter-spacing:-.025em; }
.diagnostic-hint { color:var(--muted); font-size:15px; line-height:1.6; margin:.8rem 0 1.2rem; }
.diagnostic-options { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.diagnostic-option { display:flex; align-items:flex-start; gap:.75rem; padding:1rem 1.1rem; border:1px solid var(--line); border-radius:.75rem; cursor:pointer; background:var(--surface-soft); color:var(--ink); font-size:16px; line-height:1.5; min-width:0; }
.diagnostic-option:hover { border-color:var(--action); }
.diagnostic-option:has(input:checked) { border-color:var(--action); box-shadow:inset 0 0 0 1px var(--action); }
.diagnostic-option input[type=radio] { flex:0 0 19px; width:19px; height:19px; margin:.2rem 0 0; accent-color:var(--action); }
.diagnostic-navigation { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.7rem; padding-top:1.6rem; }
.diagnostic-navigation #diagnostic-next { margin-left:auto; }
.diagnostic-error { font-weight:600; color:var(--action); }
.diagnostic-small { color:var(--muted); font-size:14px; line-height:1.65; }
.diagnostic-small a, .diagnostic-result a:not(.button) { color:var(--action); text-underline-offset:.2em; }
.diagnostic-result h3 { margin:.5rem 0 1rem; font-size:clamp(26px,3vw,36px); line-height:1.16; letter-spacing:-.035em; }
.diagnostic-result h4 { font-size:20px; line-height:1.3; margin:0 0 .7rem; }
.diagnostic-result p { line-height:1.65; }
.diagnostic-result-lead { max-width:58rem; font-size:18px; }
.diagnostic-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.4rem 0; }
.diagnostic-result-panel { min-width:0; padding:1.2rem; border-radius:.8rem; background:var(--surface-soft); border:1px solid var(--line); }
.diagnostic-result-panel > :last-child { margin-bottom:0; }
.diagnostic-result-panel ul { padding-left:1.15rem; margin:.4rem 0 0; }
.diagnostic-result-panel li { padding-left:.15rem; line-height:1.6; margin:.5rem 0; font-size:16px; }
.diagnostic-check { border-left:3px solid var(--action); padding:1.1rem 1.3rem; margin:1.2rem 0; background:var(--surface-soft); }
.diagnostic-check p { margin:.55rem 0 0; font-size:16px; }
.diagnostic-context { padding:1rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:1.4rem 0; }
.diagnostic-context > p { margin:.4rem 0; font-size:16px; }
.diagnostic-context .diagnostic-small { font-size:13px; }
.diagnostic-resources { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0 1.8rem; }
.diagnostic-resource { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:.7rem; border:1px solid var(--line); padding:1.2rem; border-radius:.8rem; }
.diagnostic-resource h4 { font-size:18px; margin:0; }
.diagnostic-resource p { margin:0; font-size:15px; }
.diagnostic-resource a { margin-top:auto; }
.diagnostic-resource-meta { color:var(--muted); font-size:13px !important; }
.diagnostic-offer { border:1px solid var(--line); border-radius:.8rem; padding:1.35rem; margin-block:1.2rem; background:var(--surface-soft); }
.diagnostic-offer h4 { font-size:22px; }
.diagnostic-offer p { font-size:16px; }
.diagnostic-result-controls { display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-items:center; margin-top:1.5rem; padding-top:1.3rem; border-top:1px solid var(--line); }
.diagnostic-result-controls .diagnostic-text-button { margin-right:auto; }
.diagnostic-urgent { border:2px solid var(--action); padding:1.25rem; border-radius:.8rem; margin-block:1.2rem; }
.diagnostic-urgent p { font-size:16px; }
.diagnostic-axis { margin-block:2rem; padding-block:1.6rem; border-top:1px solid var(--line); }
.diagnostic-axis > .eyebrow { margin-top:0; }
.diagnostic-axis > h3 { font-size:clamp(24px,2.7vw,32px); line-height:1.2; max-width:46rem; }
.diagnostic-axis > h4 { margin-top:1.6rem; }
.diagnostic-axis .diagnostic-resource { min-width:0; overflow-wrap:anywhere; }
@media (max-width:760px) {
 .diagnostic-intro, .diagnostic-result-grid, .diagnostic-options, .diagnostic-resources { grid-template-columns:1fr; }
 .diagnostic-intro { gap:.5rem; }
 .diagnostic-intro h2 { font-size:36px; }
 .diagnostic-welcome, .diagnostic-journey, .diagnostic-result { border-radius:1rem; }
 .diagnostic-option { padding:.9rem; }
 .diagnostic-actions .button, .diagnostic-result-controls .button { width:100%; }
 .diagnostic-progress-row { align-items:flex-start; }
 .diagnostic-result h3 { font-size:28px; }
}
@media (max-width:380px) { .diagnostic-intro h2 { font-size:30px; } .diagnostic-navigation .button { padding:.75rem .8rem; font-size:15px; } }




/* The deeper questionnaire keeps one decision on screen at a time. */
.diagnostic-stages { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:1.5rem 0; gap:1rem; counter-reset:diagnostic-stage; }
.diagnostic-stages li { counter-increment:diagnostic-stage; border-top:1px solid var(--line); padding-top:1rem; display:flex; flex-direction:column; gap:.35rem; }
.diagnostic-stages strong::before { content:counter(diagnostic-stage) '. '; color:var(--action); }
.diagnostic-stages span { color:var(--muted); font-size:14px; line-height:1.5; }
.diagnostic-phase { display:block; font-weight:600; font-size:12px; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; color:var(--action); margin:0 0 .8rem; }
.diagnostic-label { font-weight:700; font-size:18px !important; margin:0 0 .75rem; color:var(--ink); }
.diagnostic-evidence { list-style:none; padding:0 !important; margin:.5rem 0 1rem; }
.diagnostic-evidence li { padding:0 !important; margin:0 0 1rem; line-height:1.6; }
.diagnostic-evidence strong, .diagnostic-evidence span { display:block; }
.diagnostic-evidence strong { font-weight:600; margin-bottom:.25rem; }
.diagnostic-evidence span { font-size:15px; color:var(--muted); }
.diagnostic-signals { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:1rem; }
.diagnostic-signals li { background:var(--surface-soft); border-radius:.75rem; padding:1.1rem !important; margin:0; }
.diagnostic-decisions { margin:.9rem 0 1.5rem; padding-left:1.2rem; }
.diagnostic-decisions li { line-height:1.6; margin:.65rem 0; }
.diagnostic-first-step { border-left:4px solid var(--action); padding:1.4rem; background:var(--surface-soft); border-radius:0 .8rem .8rem 0; margin-top:1.6rem; }
.diagnostic-first-step > .eyebrow { font-size:12px; margin:0 0 .6rem; }
.diagnostic-first-step > :last-child { margin-bottom:0; }
.diagnostic-resource-visio { background:var(--surface-soft); border-top:3px solid var(--action); }
.diagnostic-resource .diagnostic-answer-echo { font-size:14px; color:var(--muted); border-left:2px solid var(--line); padding-left:.75rem; }
.diagnostic-next-date { font-weight:650; color:var(--ink); }
.diagnostic-resource .diagnostic-timing { font-size:14px; padding:.8rem; background:var(--surface); border:1px solid var(--line); border-radius:.5rem; }
.diagnostic-secondary { border-top:1px solid var(--line); padding:1.2rem 0; }
.diagnostic-secondary summary { cursor:pointer; font-size:17px; line-height:1.5; color:var(--ink); font-weight:600; padding:.2rem 0; }
.diagnostic-secondary summary:focus-visible { outline:3px solid var(--focus,var(--action)); outline-offset:4px; }
.diagnostic-secondary > p { max-width:54rem; }
@media(max-width:760px) {
 .diagnostic-stages { grid-template-columns:1fr; gap:.6rem; }
 .diagnostic-stages li { padding-top:.6rem; }
 .diagnostic-signals { grid-template-columns:1fr; }
 .diagnostic-result-controls .diagnostic-text-button { margin-right:0; }
 .diagnostic-phase { font-size:11px; }
 .diagnostic-first-step { padding:1.1rem; }
}

/* A useful synthesis precedes the selection; supporting evidence remains in one disclosure. */
.diagnostic-result-lead { max-width:50rem; margin:.5rem 0 1.25rem; font-size:16px; }
.diagnostic-recommendations { margin-top:1.3rem; }
.diagnostic-recommendations > h4, .diagnostic-reading > h4 { font-size:18px; margin:0 0 .6rem; }
.diagnostic-offer-resources { margin:.7rem 0 1.4rem; gap:1rem; }
.diagnostic-offer-resources .diagnostic-resource { gap:.55rem; padding:1rem 1.1rem; }
.diagnostic-resource h5 { margin:0; font:inherit; font-size:20px; line-height:1.3; font-weight:650; color:var(--ink); }
.diagnostic-offer-resources .diagnostic-resource .button { margin-top:.4rem; min-height:44px; padding:.65rem .9rem; font-size:14px; }
.diagnostic-resource .diagnostic-timing { padding:.65rem .75rem; font-size:13px; line-height:1.45; }
.diagnostic-reading { margin:1rem 0 1.25rem; }
.diagnostic-reading > .diagnostic-small { margin:.35rem 0 0; font-size:13px; }
.diagnostic-article-links { list-style:none; padding:0 !important; margin:0; }
.diagnostic-article-links li { padding:0; margin:0; }
.diagnostic-article-links a { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:44px; padding:.55rem 0; font-size:15px; line-height:1.45; }
.diagnostic-article-links a span { flex-shrink:0; }
.diagnostic-article-links li + li { border-top:1px solid var(--line); }
.diagnostic-contact-choice { margin:.75rem 0 1.25rem; font-size:16px; }
.diagnostic-contact-choice a { display:inline-flex; align-items:center; gap:.4rem; min-height:44px; }
.diagnostic-urgent-lead { border-left:3px solid var(--action); padding:.8rem 1rem; background:var(--surface-soft); }
.diagnostic-full-detail { padding:.9rem 0; margin-top:1rem; }
.diagnostic-full-detail summary { min-height:44px; display:list-item; padding:.6rem 0; box-sizing:border-box; font-size:16px; }
.diagnostic-detail-content { max-width:56rem; padding-top:.6rem; }
.diagnostic-detail-content > h4 { margin:1.5rem 0 .65rem; font-size:18px; }
.diagnostic-detail-content > h4:first-child { margin-top:.5rem; }
.diagnostic-detail-content p, .diagnostic-detail-content li { font-size:15px; line-height:1.65; }
.diagnostic-detail-content .diagnostic-small { font-size:14px; }
.diagnostic-offer-reasons { padding-left:1.2rem; }
.diagnostic-offer-reasons li { margin:0 0 1.2rem; padding-left:.2rem; }
.diagnostic-offer-reasons li > p { margin:.4rem 0; }
.diagnostic-result-controls { margin-top:.2rem; padding-top:.7rem; gap:.4rem 1.25rem; }
.diagnostic-result-controls .diagnostic-text-button { margin-right:0; text-align:left; }
@media(max-width:760px) {
 .diagnostic-resource h5 { font-size:19px; }
 .diagnostic-offer-resources { gap:.7rem; }
 .diagnostic-offer-resources .diagnostic-resource { padding:1rem; }
 .diagnostic-result-controls { column-gap:1rem; }
}



/* V6: three clear next steps, before any recommendation. */
.diagnostic-summary { border:1px solid var(--line); border-left:3px solid var(--action); background:var(--surface-soft); border-radius:0 .75rem .75rem 0; padding:1.1rem 1.25rem; margin:1.25rem 0; }
.diagnostic-summary > h4 { font-size:18px; margin:0 0 .8rem; }
.diagnostic-summary dl { margin:0; }
.diagnostic-summary dl > div { display:grid; grid-template-columns:8rem minmax(0,1fr); gap:.3rem 1rem; padding:.6rem 0; }
.diagnostic-summary dl > div + div { border-top:1px solid var(--line); }
.diagnostic-summary dt, .diagnostic-summary dd { font-size:15px; line-height:1.55; margin:0; }
.diagnostic-summary dt { font-weight:650; color:var(--ink); }
.diagnostic-summary dd { overflow-wrap:anywhere; }
.diagnostic-timing-note { font-size:15px; max-width:55rem; }
.diagnostic-later { border-top:1px solid var(--line); padding-top:1.3rem; }
.diagnostic-resource-later { border-top:1px solid var(--line); }
.diagnostic-contact-choice > .diagnostic-small { display:block; max-width:50rem; }
@media(max-width:600px) {
 .diagnostic-summary { padding:.9rem 1rem; }
 .diagnostic-summary dl > div { grid-template-columns:1fr; padding:.7rem 0; }
}
