/* The standalone quality policy only; existing page styles and forms are unchanged. */
.quality-policy-page { color:#173b55; }
.quality-policy-page .page-breadcrumbs { display:flex; flex-wrap:wrap; gap:7px; max-width:860px; margin:20px auto 24px; padding:0; list-style:none; font-size:12px; line-height:1.8; color:#586b78; }
.quality-policy-page .page-breadcrumbs li { margin:0; padding:0; }
.quality-policy-page .qp-inner { max-width:860px; margin-inline:auto; }
.quality-policy-page .qp-page-head { padding:6px 0 23px; margin-bottom:18px; border-bottom:2px solid #173b55; }
.quality-policy-page .qp-local-label { margin:0 0 8px; font-size:12px; letter-spacing:.04em; color:#586b78; }
.quality-policy-page h1 { margin:0; font-size:34px; line-height:1.5; color:#173b55; }
.quality-policy-page a:focus-visible,.quality-policy-page summary:focus-visible { outline:3px solid #36769a; outline-offset:4px; }
.quality-policy-page .qp-toc { margin-bottom:30px; padding:15px 20px; border:1px solid #cbdbe5; }
.quality-policy-page .qp-toc summary { cursor:pointer; min-height:28px; font-size:15px; font-weight:700; }
.quality-policy-page .qp-toc summary span { margin-left:12px; color:#586b78; font-size:12px; font-weight:400; }
.quality-policy-page .qp-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:12px 22px; list-style:none; padding:17px 0 0; margin:0; }
.quality-policy-page .qp-toc ol > li > a { font-size:13px; font-weight:700; }
.quality-policy-page .qp-toc ul { padding:5px 0 0 15px; margin:0; list-style:none; }
.quality-policy-page .qp-toc ul li { margin:5px 0; line-height:1.7; }
.quality-policy-page .qp-toc ul a { font-size:12px; }
.quality-policy-page .qp-body { font-size:15px; line-height:2; color:#344653; }
.quality-policy-page .qp-body h2 { margin:37px 0 16px; padding-bottom:11px; border-bottom:1px solid #cbdbe5; color:#173b55; font-size:23px; line-height:1.7; scroll-margin-top:105px; }
.quality-policy-page .qp-body h3 { margin:25px 0 12px; color:#173b55; font-size:18px; line-height:1.8; scroll-margin-top:105px; }
.quality-policy-page .qp-body p { margin:0 0 17px; }
.quality-policy-page .qp-body ul { margin:0 0 20px; padding-left:24px; }
.quality-policy-page .qp-body li { margin:5px 0; }
.quality-policy-page .qp-body strong { color:#173b55; }
.quality-policy-page .qp-body hr { border:0; border-top:1px solid #d3e0e8; margin:30px 0; }
.quality-policy-page .qp-body .qp-deadline-paragraph { padding:15px 18px; border:1px solid #cbdbe5; background:#edf3f7; }
.quality-policy-page .qp-body .qp-important-paragraph { padding:12px 18px; border-left:3px solid #36769a; background:#f5f8fa; }
.quality-policy-page .qp-sample { margin:23px 0; padding:24px; border:1px dashed #a7bdcc; background:#f8fafc; text-align:center; }
.quality-policy-page .qp-sample > strong { display:block; font-size:16px; }
.quality-policy-page .qp-sample > p { margin:6px 0 4px; color:#586b78; font-size:14px; }
.quality-policy-page .qp-sample small { display:block; color:#586b78; font-size:12px; line-height:1.8; }
.quality-policy-page .qp-related { display:flex; flex-wrap:wrap; gap:12px 24px; padding-top:23px; margin-top:34px; border-top:1px solid #cbdbe5; font-size:13px; }
@media(max-width:760px) {
 .quality-policy-page .qp-page-head { padding-bottom:17px; margin-bottom:16px; }
 .quality-policy-page h1 { font-size:27px; }
 .quality-policy-page .qp-toc { padding:13px 14px; margin-bottom:24px; }
 .quality-policy-page .qp-toc summary span { display:block; margin:3px 0 0 18px; }
 .quality-policy-page .qp-toc ol { grid-template-columns:1fr; gap:13px; }
 .quality-policy-page .qp-body { font-size:14px; line-height:1.95; }
 .quality-policy-page .qp-body h2 { margin-top:29px; font-size:21px; scroll-margin-top:82px; }
 .quality-policy-page .qp-body h3 { margin-top:22px; font-size:17px; scroll-margin-top:82px; }
 .quality-policy-page .qp-body .qp-deadline-paragraph,.quality-policy-page .qp-body .qp-important-paragraph { padding:12px 13px; }
 .quality-policy-page .qp-sample { padding:20px 15px; }
 .quality-policy-page .qp-related { display:grid; gap:12px; }
}

/* Completed sample artwork already contains its heading and explanation. */
.quality-policy-page .qp-sample.qp-sample-image { padding:0; border:0; background:transparent; }
.quality-policy-page .qp-sample-trigger { display:block; width:100%; margin:0; padding:0; border:0; background:transparent; color:#36769a; font:inherit; text-align:right; cursor:zoom-in; }
.quality-policy-page .qp-sample-trigger:focus-visible { outline:3px solid #36769a; outline-offset:4px; }
.quality-policy-page .qp-sample-trigger img { display:block; width:100%; height:auto; max-width:100%; object-fit:contain; filter:none; }
.quality-policy-page .qp-sample-hint { display:block; margin-top:6px; font-size:12px; line-height:1.7; text-decoration:underline; text-underline-offset:3px; }
