.explorer-page { background: #f5f8f3; }
.explorer-intro { background: #173e22; border-bottom: 5px solid #dfa915; color: #fff; padding: 42px 22px; }
.explorer-intro-inner { align-items: center; display: grid; gap: 44px; grid-template-columns: minmax(0,1.2fr) minmax(390px,.8fr); margin: 0 auto; max-width: 1180px; }
.explorer-intro h1 { font-size: 42px; font-weight: 950; line-height: 1.08; margin: 0; max-width: 790px; }
.explorer-intro p:not(.eyebrow) { color: #dcebd9; font-size: 16px; font-weight: 650; line-height: 1.65; margin: 17px 0 0; max-width: 760px; }
.explorer-intro-proof { display: grid; gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.explorer-intro-proof span { align-items: center; background: #22582f; border: 1px solid rgba(255,255,255,.18); border-top: 3px solid #dfa915; display: flex; flex-direction: column; min-height: 132px; padding: 20px 10px; text-align: center; }
.explorer-intro-proof span:nth-child(2) { border-top-color: #fff; }
.explorer-intro-proof span:nth-child(3) { border-top-color: #c9362c; }
.explorer-intro-proof i { color: #f5cb49; font-size: 22px; }
.explorer-intro-proof strong { color: #fff; font-size: 16px; line-height: 1.25; margin-top: 11px; }
.explorer-intro-proof small { color: #e0ecde; font-size: 13px; line-height: 1.4; margin-top: 5px; }

.explorer-shell { padding: 36px 22px 72px; }
.explorer-layout { align-items: start; display: grid; gap: 24px; grid-template-columns: 310px minmax(0,1fr); margin: 0 auto; max-width: 1180px; }
.explorer-controls { background: #fff; border: 1px solid #d7e2d7; border-top: 5px solid #16843f; box-shadow: 0 16px 38px rgba(23,62,34,.09); padding: 22px; position: sticky; top: 94px; }
.control-heading { align-items: center; border-bottom: 1px solid #dce7d9; display: flex; gap: 12px; padding-bottom: 18px; }
.control-heading > span { align-items: center; background: #173e22; color: #fff; display: flex; font-size: 15px; font-weight: 950; height: 38px; justify-content: center; width: 38px; }
.control-heading .eyebrow { margin-bottom: 4px; }
.control-heading h2 { color: #173e22; font-size: 20px; line-height: 1.1; margin: 0; }
.choice-group, .priority-group { border: 0; margin: 22px 0 0; padding: 0; }
.choice-group legend, .priority-group legend, .select-control > span, .module-search > span { color: #263b2b; font-size: 14px; font-weight: 950; margin-bottom: 9px; }
.priority-group legend small { color: #5f6d62; display: block; font-size: 12px; font-weight: 750; line-height: 1.4; margin-top: 4px; }
.segmented-choice { display: grid; gap: 5px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.segmented-choice label, .priority-options label { cursor: pointer; min-width: 0; }
.segmented-choice input, .priority-options input { opacity: 0; pointer-events: none; position: absolute; }
.segmented-choice span { align-items: center; background: #f2f6f0; border: 1px solid #cfddcd; color: #33483a; display: flex; flex-direction: column; font-size: 13px; font-weight: 900; gap: 6px; justify-content: center; min-height: 64px; padding: 9px 5px; text-align: center; }
.segmented-choice input:checked + span { background: #173e22; border-color: #173e22; box-shadow: inset 0 -3px #dfa915; color: #fff; }
.segmented-choice input:focus-visible + span, .priority-options input:focus-visible + span { outline: 3px solid rgba(47,122,62,.25); outline-offset: 2px; }
.select-control, .module-search { display: block; margin-top: 21px; }
.select-control select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23173e22' d='m1 1 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 13px center; border: 1px solid #b8cab7; border-radius: 5px; color: #203326; font-size: 15px; min-height: 48px; padding: 10px 38px 10px 12px; width: 100%; }
.select-control select:focus { border-color: #2f7a3e; box-shadow: 0 0 0 3px rgba(47,122,62,.12); outline: 0; }
.priority-options { display: grid; gap: 6px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.priority-options span { align-items: center; background: #f6f8f5; border: 1px solid #d7e2d7; border-left: 3px solid #aebead; color: #3e5044; display: flex; font-size: 13px; font-weight: 850; gap: 7px; min-height: 48px; padding: 9px; }
.priority-options input:checked + span { background: #e9f3e6; border-color: #86ae87; border-left-color: #16843f; color: #173e22; }
.priority-options input:checked + span i { color: #16843f; }
.module-search > div { align-items: center; background: #fff; border: 1px solid #b8cab7; display: grid; grid-template-columns: 38px minmax(0,1fr) 36px; min-height: 46px; }
.module-search > div:focus-within { border-color: #2f7a3e; box-shadow: 0 0 0 3px rgba(47,122,62,.12); }
.module-search > div > i { color: #2f7a3e; text-align: center; }
.module-search input { border: 0; color: #203326; font-size: 15px; min-width: 0; outline: 0; padding: 10px 3px; }
.module-search button { align-items: center; align-self: stretch; background: #eef4ec; border: 0; border-left: 1px solid #d7e2d7; color: #173e22; cursor: pointer; display: flex; justify-content: center; }
.reset-selection { background: transparent; border: 0; color: #205c2f; cursor: pointer; font-size: 14px; font-weight: 900; margin-top: 17px; padding: 8px 0; }
.reset-selection i { margin-right: 6px; }

.explorer-results { min-width: 0; }
.recommendation-summary { align-items: center; background: #fff; border: 1px solid #d7e2d7; border-left: 5px solid #c9362c; display: flex; gap: 28px; justify-content: space-between; padding: 21px 22px; }
.summary-copy { min-width: 0; }
.summary-copy .eyebrow { margin-bottom: 5px; }
.summary-copy h2 { color: #173e22; font-size: 24px; line-height: 1.16; margin: 0; }
.summary-copy > p:last-child { color: #4f5f53; font-size: 15px; font-weight: 650; line-height: 1.55; margin: 8px 0 0; }
.recommendation-summary .btn { flex: 0 0 auto; }
.coverage-panel { align-items: center; background: #173e22; color: #fff; display: grid; gap: 14px; grid-template-columns: 86px minmax(150px,1fr) auto; margin-top: 10px; min-height: 82px; padding: 15px 18px; }
.coverage-score span { color: #f1c642; display: block; font-size: 26px; font-weight: 950; }
.coverage-score small { color: #e0ecde; display: block; font-size: 11px; font-weight: 850; line-height: 1.35; text-transform: uppercase; }
.coverage-track { background: #345e3e; height: 9px; overflow: hidden; }
.coverage-track i { background: linear-gradient(90deg,#16843f,#dfa915); display: block; height: 100%; transition: width .35s ease; width: 100%; }
.coverage-detail { text-align: right; }
.coverage-detail strong { display: block; font-size: 14px; }
.coverage-detail span { color: #e0ecde; display: block; font-size: 12px; margin-top: 4px; }
.rollout-path { align-items: center; background: #edf3eb; border: 1px solid #d1dfce; display: grid; gap: 8px; grid-template-columns: 1fr auto 1fr auto 1fr; margin-top: 10px; padding: 12px; }
.rollout-path > span { align-items: center; display: grid; gap: 3px 9px; grid-template-columns: 30px 1fr; }
.rollout-path b { align-items: center; background: #173e22; color: #fff; display: flex; font-size: 13px; grid-row: 1 / 3; height: 32px; justify-content: center; width: 32px; }
.rollout-path span:nth-of-type(2) b { background: #2f7a3e; }
.rollout-path span:nth-of-type(3) b { background: #a5221b; }
.rollout-path strong { color: #173e22; font-size: 14px; }
.rollout-path small { color: #56665a; font-size: 11px; line-height: 1.35; }
.rollout-path > i { color: #829384; font-size: 12px; }

.recommendation-groups { display: grid; gap: 18px; margin-top: 22px; }
.recommendation-group { min-width: 0; }
.group-heading { align-items: end; border-bottom: 1px solid #cad9c8; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 10px; padding: 0 2px 9px; }
.group-heading > div { align-items: center; display: flex; gap: 9px; }
.group-heading > div > span { align-items: center; background: #173e22; color: #fff; display: flex; font-size: 13px; font-weight: 950; height: 32px; justify-content: center; width: 32px; }
.recommendation-group:nth-child(2) .group-heading > div > span { background: #2f7a3e; }
.recommendation-group:nth-child(3) .group-heading > div > span { background: #a5221b; }
.group-heading h3 { color: #173e22; font-size: 18px; margin: 0; }
.group-heading p { color: #546359; font-size: 13px; font-weight: 750; line-height: 1.35; margin: 2px 0 0; }
.group-heading > span { color: #4e6054; font-size: 13px; font-weight: 900; }
.module-recommendations { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.module-recommendation { background: #fff; border: 1px solid #d5e0d3; border-top: 4px solid #2f7a3e; display: grid; gap: 13px; grid-template-columns: 46px minmax(0,1fr); min-height: 230px; padding: 19px; }
.recommendation-group:nth-child(2) .module-recommendation { border-top-color: #dfa915; }
.recommendation-group:nth-child(3) .module-recommendation { border-top-color: #c9362c; }
.module-icon { align-items: center; background: #e9f3e6; color: #17612b; display: flex; font-size: 18px; height: 42px; justify-content: center; width: 42px; }
.recommendation-group:nth-child(2) .module-icon { background: #fbf1d9; color: #906200; }
.recommendation-group:nth-child(3) .module-icon { background: #f8e8e5; color: #a5221b; }
.module-copy { min-width: 0; }
.module-copy > span { color: #496052; display: block; font-size: 11px; font-weight: 950; letter-spacing: .02em; text-transform: uppercase; }
.module-copy h4 { color: #173e22; font-size: 19px; line-height: 1.25; margin: 5px 0 8px; }
.module-copy p { color: #4f5e54; font-size: 14px; line-height: 1.6; margin: 0; }
.module-signals { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 12px; }
.module-signals span { background: #f0f5ee; border: 1px solid #d8e3d6; color: #36523d; font-size: 11px; font-weight: 900; padding: 6px 8px; }
.module-outcome { align-items: flex-start; border-top: 1px solid #e1e9df; color: #284631; display: flex; font-size: 13px; font-weight: 800; gap: 7px; grid-column: 1 / -1; line-height: 1.55; padding-top: 12px; }
.module-outcome i { color: #16843f; margin-top: 1px; }
.explorer-empty { align-items: center; background: #fff; border: 1px dashed #adbeaa; color: #6a776d; display: flex; flex-direction: column; gap: 7px; margin-top: 22px; padding: 42px 20px; text-align: center; }
.explorer-empty i { color: #c9362c; font-size: 28px; }
.explorer-empty strong { color: #173e22; font-size: 16px; }
.explorer-empty span { font-size: 12px; }
.print-heading { display: none; }

.workflow-band { background: #111713; border-block: 5px solid #dfa915; color: #fff; padding: 50px 22px; }
.workflow-inner { align-items: center; display: grid; gap: 44px; grid-template-columns: minmax(260px,.7fr) minmax(0,1.3fr); margin: 0 auto; max-width: 1180px; }
.workflow-inner h2 { color: #fff; font-size: 28px; line-height: 1.18; margin: 0; }
.workflow-steps { align-items: center; display: grid; gap: 10px; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; }
.workflow-steps > span { align-items: center; border-top: 3px solid #16843f; display: flex; flex-direction: column; min-height: 130px; padding: 19px 8px 10px; text-align: center; }
.workflow-steps > span:nth-of-type(2) { border-color: #dfa915; }
.workflow-steps > span:nth-of-type(3) { border-color: #c9362c; }
.workflow-steps > span:nth-of-type(4) { border-color: #fff; }
.workflow-steps span i { color: #f1c642; font-size: 21px; }
.workflow-steps b { font-size: 15px; margin-top: 10px; }
.workflow-steps small { color: #d9e1da; font-size: 12px; line-height: 1.5; margin-top: 5px; }
.workflow-steps > i { color: #79857c; font-size: 11px; }

.explorer-next { background: #fff; padding: 62px 22px; }
.explorer-next-inner { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0,1fr) auto; margin: 0 auto; max-width: 1080px; }
.explorer-next h2 { color: #173e22; font-size: 32px; line-height: 1.15; margin: 0; }
.explorer-next p:not(.eyebrow) { color: #637166; font-size: 14px; line-height: 1.65; margin: 13px 0 0; }
.explorer-next-inner > div:last-child { display: flex; flex-direction: column; gap: 8px; min-width: 220px; }

@media (max-width: 1040px) {
    .explorer-intro-inner { grid-template-columns: 1fr; }
    .explorer-intro-proof { max-width: 580px; }
    .explorer-layout { grid-template-columns: 270px minmax(0,1fr); }
    .priority-options { grid-template-columns: 1fr; }
    .module-recommendations { grid-template-columns: 1fr; }
    .workflow-inner { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .explorer-intro { padding: 32px 18px; }
    .explorer-intro h1 { font-size: 34px; }
    .explorer-intro-proof { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .explorer-intro-proof span { min-height: 112px; padding: 15px 5px; }
    .explorer-shell { padding: 22px 14px 52px; }
    .explorer-layout { grid-template-columns: 1fr; }
    .explorer-controls { position: static; }
    .priority-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .recommendation-summary { align-items: stretch; flex-direction: column; gap: 16px; }
    .coverage-panel { grid-template-columns: 72px minmax(100px,1fr); }
    .coverage-detail { grid-column: 1 / -1; text-align: left; }
    .rollout-path { align-items: stretch; grid-template-columns: 1fr; }
    .rollout-path > i { display: none; }
    .rollout-path > span { border-bottom: 1px solid #d5e1d2; padding: 5px 0 10px; }
    .rollout-path > span:last-child { border-bottom: 0; padding-bottom: 5px; }
    .workflow-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .workflow-steps > i { display: none; }
    .explorer-next-inner { align-items: stretch; grid-template-columns: 1fr; }
}

@media (max-width: 460px) {
    .explorer-intro h1 { font-size: 30px; }
    .explorer-intro-proof { grid-template-columns: 1fr; }
    .explorer-intro-proof span { align-items: center; display: grid; gap: 2px 10px; grid-template-columns: 34px 1fr; min-height: 72px; padding: 12px; text-align: left; }
    .explorer-intro-proof i { grid-row: 1 / 3; }
    .explorer-intro-proof strong, .explorer-intro-proof small { margin: 0; }
    .priority-options { grid-template-columns: 1fr; }
    .segmented-choice { grid-template-columns: 1fr; }
    .segmented-choice span { flex-direction: row; min-height: 42px; }
    .module-recommendation { grid-template-columns: 38px minmax(0,1fr); padding: 14px; }
    .module-icon { height: 36px; width: 36px; }
    .group-heading { align-items: flex-start; }
    .workflow-steps { grid-template-columns: 1fr; }
    .workflow-steps > span { min-height: 104px; }
}

@media print {
    @page { margin: 15mm; size: A4 portrait; }
    .site-header, .explorer-intro, .explorer-controls, .rollout-path, .workflow-band, .explorer-next, .site-footer, .recommendation-summary .btn { display: none !important; }
    body, .explorer-page { background: #fff !important; color: #111; }
    .explorer-shell { padding: 0; }
    .explorer-layout { display: block; max-width: none; }
    .print-heading { align-items: center; border-bottom: 3px solid #173e22; display: flex; justify-content: space-between; margin-bottom: 14px; padding-bottom: 10px; }
    .print-heading img { height: 52px; width: auto; }
    .print-heading > div { text-align: right; }
    .print-heading strong, .print-heading span { display: block; }
    .print-heading strong { color: #173e22; font-size: 14px; }
    .print-heading span { color: #555; font-size: 9px; margin-top: 4px; }
    .recommendation-summary { border: 1px solid #aaa; box-shadow: none; padding: 12px; }
    .summary-copy h2 { font-size: 19px; }
    .coverage-panel { background: #fff; border: 1px solid #aaa; color: #111; margin-top: 7px; min-height: 0; padding: 10px; }
    .coverage-score span, .coverage-detail strong { color: #173e22; }
    .coverage-score small, .coverage-detail span { color: #555; }
    .coverage-track { border: 1px solid #aaa; }
    .recommendation-groups { gap: 10px; margin-top: 12px; }
    .module-recommendations { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .module-recommendation { break-inside: avoid; box-shadow: none; min-height: 0; padding: 10px; }
    .module-copy h4 { font-size: 12px; }
    .module-copy p { font-size: 8px; }
    .module-signals span, .module-outcome { font-size: 7px; }
    .group-heading { margin-bottom: 6px; padding-bottom: 5px; }
    .group-heading h3 { font-size: 14px; }
}
