/* The earlier tabbed explorer style, with one A/B/C panel visible at a time. */
.application-matcher { padding-top: 28px; padding-bottom: 70px; scroll-margin-top: 108px; }
.matcher-screen { border: 1px solid #a9b8ba; border-radius: 8px; background: #fff; overflow: clip; }
.matcher-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; padding: 12px; border-bottom: 1px solid #a9b8ba; border-radius: 7px 7px 0 0; position: sticky; top: 88px; z-index: 15; background: #fff; }
.matcher-tabs > button { display: flex; gap: 12px; align-items: center; min-height: 58px; padding: 14px 19px; border: 1px solid #35516a; border-radius: 4px; background: #102338; color: #b4cada; font-size: 14px; font-weight: 500; line-height: 1.5; text-align: left; transition: border-color .15s,background .15s; }
.matcher-tabs > button > .matcher-tab-letter { font: 12px/1.5 var(--mono); color: #819fb9; }
.matcher-tab-label { min-width: 0; overflow-wrap: anywhere; }
.matcher-tabs > button:hover { border-color: #63959a; color: #c6e9ed; }
.matcher-tabs > button[aria-selected=true] { background: #1c4449; color: #9adce4; border-color: #54b2be; }
.matcher-tabs > button[aria-selected=true] > .matcher-tab-letter { color: #71c6cf; }
.matcher-panel { position: relative; border: 0; border-radius: 0; background: #fff; padding: 36px; min-height: 360px; scroll-margin-top: 108px; }
.matcher-panel:focus-visible { outline-offset: -4px; }
.matcher-panel-heading { margin-bottom: 28px; }
.matcher-panel-heading .eyebrow { margin-bottom: 14px; }
.matcher-panel-heading h3 { font-size: 29px; line-height: 1.3; max-width: 950px; margin: 0; }
.matcher-question-list, .matcher-output-list, .matcher-module-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; list-style: none; padding: 0; margin: 0; }
.matcher-output-list > li { display: flex; min-width: 0; margin: 0; }
.matcher-question, .matcher-output { width: 100%; min-height: 180px; border: 1px solid #35516a; border-radius: 5px; background: #11263c; color: #bdccda; font-size: 16px; line-height: 1.7; padding: 23px 20px; transition: background .18s,border-color .18s,color .18s; }
.matcher-question { display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer; }
.matcher-choice-number { flex: 0 0 19px; align-self: flex-start; margin-top: 3px; font: 12px/1.6 var(--mono); color: #8ea9bc; }
.matcher-question > span:last-child { flex: 1; min-width: 0; }
.matcher-question:hover, .matcher-output:hover { background: #173047; border-color: #7bcdd3; color: #f2f6fa; }
.matcher-question.is-active, .matcher-output.is-active, .matcher-module.is-active { background: #193b3f; border-color: #68b1ba; box-shadow: inset 0 0 0 1px #68b1ba; color: #f2f6fa; }
.matcher-question.is-active .matcher-choice-number { color: var(--teal-bright); }
.matcher-output { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.matcher-output strong { color: inherit; font-size: 23px; line-height: 1.4; letter-spacing: -.02em; }
.matcher-output > span { flex-shrink: 0; color: #8ca8be; font-size: 23px; }
.matcher-output.is-active > span { color: var(--teal-bright); }
.matcher-module-list.is-empty { min-height: 190px; }
.matcher-module { min-height: 120px; border: 1px solid #35516a; border-radius: 5px; background: #11263c; color: #bdccda; font-size: 16px; line-height: 1.65; }
.matcher-module > a, .matcher-module > span { display: block; padding: 22px 19px; }
.matcher-module > a:hover { color: #fff; }
.matcher-anchor { scroll-margin-top: 175px; }
.matcher-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1100px) {
 .matcher-panel { padding: 29px; }
 .matcher-question, .matcher-output { padding-inline: 18px; }
}
@media (max-width: 1190px) {
 .matcher-tabs { top: 76px; }
}
@media (max-width: 800px) {
 .matcher-panel { padding: 25px; }
 .matcher-question-list, .matcher-output-list, .matcher-module-list { grid-template-columns: 1fr; }
 .matcher-question, .matcher-output { min-height: 100px; padding: 22px; }
 .matcher-tabs > button { padding: 13px 12px; font-size: 13px; gap: 9px; }
}
@media (max-width: 500px) {
 .application-matcher { padding-top: 24px; padding-bottom: 44px; }
 .matcher-tabs { grid-template-columns: minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.2fr); gap: 6px; padding: 10px; top: 70px; }
 .matcher-tabs > button { padding: 10px 4px; min-height: 86px; flex-direction: column; align-items: flex-start; gap: 7px; font-size: 12px; }
 .matcher-panel { padding: 23px 19px; }
 .matcher-panel-heading h3 { font-size: 25px; }
 .matcher-question { padding: 20px 17px; gap: 10px; }
 .matcher-output { min-height: 91px; padding: 20px; }
 .matcher-output strong { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
 .matcher-tabs > button, .matcher-question, .matcher-output { transition: none; }
}

/* Organization and purpose filters stay inside A; B/C show only the selected route. */
.application-matcher [hidden] { display: none !important; }
.matcher-panel-heading > p:not(.eyebrow) { margin: 17px 0 0; font-size: 16px; line-height: 1.7; color: #b4cada; max-width: 850px; }
.matcher-choice-group + .matcher-choice-group { margin-top: 30px; padding-top: 26px; border-top: 1px solid #2b435b; }
.matcher-choice-group h4 { margin: 0 0 16px; font-size: 19px; line-height: 1.5; letter-spacing: -.01em; }
.matcher-choice-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.matcher-choice-list-organization, .matcher-choice-list-goal { grid-template-columns: repeat(2,minmax(0,1fr)); }
.matcher-choice-list .matcher-question { min-height: 118px; padding: 20px; font-size: 16px; line-height: 1.65; }
.matcher-choice-list-route .matcher-question { min-height: 164px; }
.matcher-choice-copy { min-width: 0; }
.matcher-choice-copy small { display: block; margin-top: 9px; font-size: 14px; line-height: 1.6; color: #a6bdcf; }
.matcher-next { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.matcher-pending { padding: 22px 0; }
.matcher-pending p, .matcher-scope { font-size: 15px; line-height: 1.8; color: #a8bfd1; }
.matcher-pending p { margin: 0 0 22px; }
.matcher-result { margin-top: 24px; padding: 28px; border: 1px solid #4b8992; border-radius: 5px; background: #112d3a; }
.matcher-result .eyebrow { margin-bottom: 12px; }
.matcher-result h4 { font-size: 26px; line-height: 1.4; margin: 0 0 12px; letter-spacing: -.02em; }
.matcher-result p:not(.eyebrow) { font-size: 16px; line-height: 1.75; color: #bfd1df; margin: 0 0 19px; max-width: 820px; }
.matcher-scope { margin: 22px 0 0; }
.matcher-report-example { display: grid; grid-template-columns: minmax(120px,160px) minmax(0,1fr); gap: 25px; align-items: center; margin-top: 26px; padding: 25px; border: 1px solid #35516a; border-radius: 5px; background: #102338; }
.matcher-example-page { margin: 0; }
.matcher-example-page img { display: block; width: 100%; height: auto; border: 1px solid #dce3e9; border-radius: 3px; background: #fff; }
.matcher-example-page figcaption { margin-top: 9px; font-size: 12px; line-height: 1.6; color: #a8bfd1; }
.matcher-example-copy { min-width: 0; }
.matcher-example-copy .eyebrow { margin-bottom: 10px; }
.matcher-example-copy h4 { margin: 0 0 12px; font-size: 21px; line-height: 1.4; }
.matcher-example-copy p:not(.eyebrow) { margin: 0 0 16px; font-size: 15px; line-height: 1.75; }
.matcher-example-copy .text-link { max-width: 100%; overflow-wrap: anywhere; }
.matcher-flow-intro { margin: 0 0 24px; max-width: 900px; }
.matcher-flow-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; list-style: none; padding: 0; margin: 0; }
.matcher-flow-step { position: relative; min-width: 0; margin: 0; padding: 21px; border: 1px solid #35516a; border-radius: 5px; background: #11263c; }
.matcher-flow-number { display: block; font: 12px/1.6 var(--mono); color: #98b9cd; margin-bottom: 13px; }
.matcher-flow-step h4 { margin: 0 0 10px; font-size: 18px; line-height: 1.5; letter-spacing: -.01em; overflow-wrap: anywhere; }
.matcher-flow-step p { margin: 0; font-size: 14px; line-height: 1.75; color: #b4cada; }
.matcher-flow-step.is-result { background: #193b3f; border-color: #68b1ba; }
.matcher-flow-step.is-result .matcher-flow-number { color: #8cdae1; }
.matcher-feedback { margin-top: 26px; padding: 26px 28px; border-left: 3px solid #68b1ba; background: #10283a; }
.matcher-feedback h4 { font-size: 21px; line-height: 1.5; margin: 0 0 13px; }
.matcher-feedback p { margin: 0; max-width: 900px; font-size: 15px; line-height: 1.85; color: #bed0de; }
.matcher-feedback p + p { margin-top: 12px; }
.matcher-blueprint-note { margin: 0 0 24px; padding: 18px 20px; border-left: 3px solid #587b98; background: #122b40; color: #cfdee9; font-size: 16px; line-height: 1.75; }
.matcher-flow-step.is-blueprint:not(.is-result) { border-color: #587b98; background: #152d43; }
@media (max-width: 1100px) {
 .matcher-choice-list .matcher-question { padding: 19px 16px; }
 .matcher-flow-step { padding: 19px 17px; }
}
@media (max-width: 800px) {
 .matcher-choice-list, .matcher-flow-list { grid-template-columns: 1fr; }
 .matcher-choice-list .matcher-question { min-height: 94px; padding: 20px; }
 .matcher-choice-group + .matcher-choice-group { margin-top: 25px; padding-top: 24px; }
 .matcher-result, .matcher-feedback { padding: 24px; }
}
@media (max-width: 500px) {
 .matcher-choice-list .matcher-question { padding: 19px 16px; }
 .matcher-choice-group h4 { font-size: 18px; }
 .matcher-next { flex-direction: column; }
 .matcher-result, .matcher-feedback { padding: 21px 18px; }
 .matcher-result h4 { font-size: 23px; overflow-wrap: anywhere; }
 .matcher-feedback h4 { font-size: 19px; }
 .matcher-report-example { grid-template-columns: 1fr; padding: 21px 18px; gap: 20px; }
 .matcher-example-page { max-width: 160px; }
}
