main#main .tools-intro .wrap,main#main .tools-testing .wrap,main#main .tools-principles .wrap{max-width:1000px}
main#main .tools-testing{background:#e8eff6;border-block:1px solid #d4dfeb}
main#main .tools-page p,main#main .tools-page li{line-height:1.65}
.tool-controls{display:grid;grid-template-columns:2fr 1fr auto auto;gap:16px;align-items:end;margin:26px 0 20px}
.tool-controls .btn{min-height:46px;margin:0}
.tool-reset{border:0;background:transparent;color:#0f2d5b;text-decoration:underline;padding:12px 4px;cursor:pointer;font:inherit;font-size:14px}
.tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
main#main #toolkit{scroll-margin-top:120px}
.technique{min-width:0;background:#f3f6f9;border:1px solid #cedbe8;border-top:3px solid #ff7a00;border-radius:7px;scroll-margin-top:130px}
.technique[hidden]{display:none}
.technique summary{cursor:pointer;padding:24px;list-style:none}
.technique summary::-webkit-details-marker{display:none}
.tool-stage{display:block;color:#a54600;font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:12px}
main#main .technique h3{font-size:23px;margin:0 0 13px;line-height:1.3}
main#main .technique summary p{margin:0 0 16px;font-size:16px;color:#53677e}
.tool-expand{display:flex;justify-content:space-between;gap:18px;color:#0f2d5b;font-size:14px;font-weight:700}
.technique[open] .tool-expand>span{transform:rotate(45deg)}
.tool-detail{border-top:1px solid #d2deeb;margin:0 24px;padding:20px 0 24px}
main#main .tool-detail h4{font-size:15px;color:#0f2d5b;margin:0 0 8px}
main#main .tool-detail p{font-size:16px;margin:0 0 20px}
.tool-services{display:grid;gap:12px;margin:0 0 24px}
.tool-services a{font-size:15px;line-height:1.5;color:#0f2d5b;text-decoration:underline;text-decoration-color:#ff7a00;text-underline-offset:4px}
.tool-source{font-size:14px;text-decoration:underline;color:#53677e}
.tools-sources{margin-top:25px;border-top:1px solid #c6d5e4;padding-top:20px}
.tools-sources summary{cursor:pointer;font-weight:700;color:#0f2d5b;margin-bottom:18px}
.tools-sources a{text-decoration:underline}
.tools-page .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}
.tools-page summary:focus-visible{outline:3px solid #ff7a00;outline-offset:4px}
@media(max-width:1050px){.tool-controls{grid-template-columns:2fr 1fr}.tool-controls .btn,.tool-controls .tool-reset{justify-self:start}}
@media(max-width:700px){.tools-grid,.tool-controls{grid-template-columns:1fr}.tool-controls{gap:18px}.technique summary{padding:22px}.tool-detail{margin:0 22px}.tools-page .page-hero h1{font-size:36px}.tool-controls .tool-reset{padding:6px 0}}

.requirements-hierarchy{display:grid;gap:16px;padding-left:26px;margin:24px 0}.requirements-hierarchy li{padding:16px 20px;border-left:3px solid #ff7a00;background:#fff;border-radius:0 6px 6px 0}.requirements-hierarchy li strong{color:#0f2d5b}@media(max-width:600px){.requirements-hierarchy li{padding:12px}}

.acceptance-evidence{margin:24px 0;padding:20px 24px;background:#fff;border:1px solid #bdcbdb;border-radius:8px}.acceptance-evidence h3{margin-top:0}.acceptance-evidence p:last-child{margin-bottom:0}

/* Change-request guidance follows the requirements and testing discussion. */
main#main .tools-change-requests{background:#fff;border-block:1px solid #d4dfeb}
main#main .tools-change-requests .wrap{max-width:1000px}
.change-triage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0 32px}
.change-triage article{padding:24px;background:#f0f5fa;border:1px solid #c8d6e4;border-top:3px solid #ff7a00;border-radius:8px;min-width:0}
.change-triage h3{font-size:21px;margin:0 0 14px}.change-triage p{margin-bottom:0}
.change-workflow{padding-left:25px;margin:20px 0 28px}.change-workflow li{padding-left:5px;margin-bottom:14px}
.change-example{margin:28px 0;padding:25px;background:#e8eff6;border-left:4px solid #ff7a00}.change-example h3{margin-top:0}.change-example p{margin-bottom:0}
.change-links{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:25px}.change-links .text-link{white-space:normal;max-width:100%}
@media(max-width:800px){.change-triage{grid-template-columns:1fr}.change-triage article{padding:23px}}

main.tools-page .text-link{white-space:normal;max-width:100%}

/* Solution design: three document types with readable mobile stacking. */
main#main .tools-solution-design{background:white;border-block:1px solid #d4dfeb}
main#main .tools-solution-design .wrap{max-width:1000px}
.design-documents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}
.design-documents article{padding:24px;background:#f0f5fa;border:1px solid #c8d6e4;border-top:3px solid #ff7a00;border-radius:8px;min-width:0}
.design-documents h3{font-size:22px;margin:0 0 15px}.design-documents .eyebrow{font-size:11px;line-height:1.6;letter-spacing:1.5px}
.design-documents p:last-child{margin-bottom:0}.design-review-steps{padding-left:25px;margin:20px 0 28px}.design-review-steps li{padding-left:4px;margin-bottom:16px}
.design-trace{background:#e8eff6;border-left:4px solid #ff7a00;padding:25px;margin:28px 0}.design-trace h3{margin-top:0}.design-trace p:last-child{margin-bottom:0}
.design-links{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:26px}.design-links a{white-space:normal;max-width:100%}
@media(max-width:800px){.design-documents{grid-template-columns:1fr}.design-documents article{padding:23px}}

/* BRD context within the requirements discussion. */
.requirements-brd{padding:26px;margin:28px 0;background:white;border:1px solid #bdcbdb;border-left:4px solid #ff7a00;border-radius:0 8px 8px 0}.requirements-brd h3{margin-top:0}.requirements-brd p:last-child{margin-bottom:0}

#business-requirements-document,.design-documents article[id]{scroll-margin-top:140px}
