:root{--brand-accent:#0a6958}
:root{color-scheme:light dark;--bg:#f5f7f5;--surface:#fff;--text:#18201d;--muted:#52615b;--line:#ccd8d2;--accent:#0a6958;--soft:#e8f3ef;--warn:#7a4d00;--danger:#8d2c2c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}
.wrap{width:min(72rem,calc(100% - 2rem));margin-inline:auto}
.skip{position:absolute;left:1rem;top:-5rem;background:var(--text);color:var(--surface);padding:.75rem 1rem;z-index:2}
.skip:focus{top:1rem}
.masthead{background:var(--brand-accent);color:#fff;padding:4rem 0 3rem}
.report-brand{display:flex;align-items:center;gap:1rem}
.report-logo{width:auto;max-width:11rem;max-height:4rem;border:0;border-radius:0;object-fit:contain}
.eyebrow,.criterion{font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.report-brand .eyebrow{margin:0}
.lede{font-size:1.2rem;color:#fff}
.executive-summary{white-space:pre-wrap;max-width:75ch}
h1{font-size:clamp(2rem,7vw,4.2rem);line-height:1.05;max-width:17ch;margin:.3rem 0}
h2{margin-top:3rem;font-size:1.6rem}
h3{font-size:1.25rem}
h4{font-size:1.05rem}
h5{font-size:.95rem}
a{color:var(--accent);text-underline-offset:.18em}
a:focus-visible{outline:3px solid #1d73d4;outline-offset:3px}
table{border-collapse:collapse;width:min(36rem,100%);background:var(--surface)}
caption{text-align:left;font-weight:700;padding:.75rem 0}
th,td{border:1px solid var(--line);padding:.7rem;text-align:left}
.contact-block{margin-top:1.5rem;border-left:4px solid var(--brand-accent);background:var(--surface);padding:.9rem 1rem}
.contact-block h3{margin-top:0}
.contact-block dl,.finding-meta{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin:0}
.contact-block dl div,.finding-meta div{display:grid;min-width:0}
.contact-block dt,.finding-meta dt{color:var(--muted);font-size:.78rem}
.contact-block dd,.finding-meta dd{margin:0;overflow-wrap:anywhere;font-weight:700}
.rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.rubric-grid>section{border-top:3px solid var(--brand-accent);background:var(--surface);padding:1rem}
.rubric-grid h3{margin-top:0}
.rubric-grid dl{display:grid;gap:.65rem;margin:0}
.rubric-grid dt{font-weight:750}
.rubric-grid dd{margin:0;color:var(--muted)}
.finding{scroll-margin-top:1rem;background:var(--surface);border:1px solid var(--line);border-radius:1rem;padding:clamp(1rem,3vw,2rem);margin:1.2rem 0;box-shadow:0 1px 2px #12201810}
.finding-head{display:flex;gap:1rem;justify-content:space-between;align-items:start}
.criterion{color:var(--muted);margin:0}
.status{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:.2rem .6rem;font-size:.8rem;font-weight:700;white-space:nowrap}
.status-fail{color:var(--danger)}
.status-incomplete{color:var(--warn)}
.status-pass{color:var(--accent)}
.component-name{border:1px solid var(--line);border-radius:.5rem;background:var(--soft);padding:.65rem .75rem}
.baseline{border-left:3px solid var(--line);color:var(--muted);padding-left:.75rem}
.finding-copy,.remediation{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.8rem}
.finding-copy p,.remediation>p{white-space:pre-wrap}
.occurrence{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.8rem}
.occurrence a{overflow-wrap:anywhere;word-break:break-word}
.code-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
code{overflow-wrap:anywhere}
pre{background:#111a17;color:#edf6f2;border-radius:.5rem;padding:1rem;overflow:auto;white-space:pre-wrap}
figure{margin:1.5rem 0}
img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:.5rem}
figcaption{color:var(--muted);font-size:.9rem;margin-top:.45rem}
.evidence-context{border-left:3px solid var(--line);margin-top:.75rem;padding:.1rem 0 .1rem .8rem}
.evidence-context p{margin:.25rem 0 .6rem}
.evidence-context dl{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:0}
.evidence-context dl div{display:flex;gap:.3rem}
.evidence-context dt{color:var(--muted)}
.evidence-context dt::after{content:':'}.evidence-context dd{font-weight:650;margin:0}
.retests{border-top:2px solid var(--line);margin-top:2rem;padding-top:1rem}
.retests h4{font-size:1.05rem}
.retests ol{display:grid;gap:.8rem;margin:0;padding:0;list-style:none}
.retests li{border:1px solid var(--line);border-radius:.6rem;padding:1rem}
.retest-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}
.retests li>p:last-child{margin-bottom:0}
footer{border-top:1px solid var(--line);color:var(--muted);margin-top:4rem;padding:2rem 0}
@media(max-width:40rem){.rubric-grid,.code-comparison{grid-template-columns:1fr}.finding-head,.retest-head{display:block}.status{margin-top:.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(prefers-color-scheme:dark){:root{--bg:#111714;--surface:#18211d;--text:#eef5f1;--muted:#afbeb7;--line:#38463f;--accent:#7dd8c4;--soft:#1c332b;--warn:#f0c36a;--danger:#ffaaa2}a:focus-visible{outline-color:#90c2ff}}
@media print{body{background:#fff;color:#111}.masthead{background:#fff;color:#111;border-top:.5rem solid var(--brand-accent);border-bottom:3px solid #111;padding:1.5rem 0}.lede{color:#333}.finding{box-shadow:none;break-inside:avoid}.rubric-grid>section{break-inside:avoid}a{color:#111}.skip{display:none}}

:root{color-scheme:light;--bg:#eef1ee;--surface:#fff;--text:#15211c;--muted:#52615b;--line:#c7d0cb;--accent:#0a6958;--soft:#e5f1ed;--warn:#7a4d00;--danger:#8d2c2c;--success:#146c5c;font-family:Aptos,"Segoe UI",Arial,sans-serif}
body{background:var(--bg);color:var(--text);font-size:1rem;line-height:1.58}
.wrap{width:min(70rem,calc(100% - 2rem))}
.report-cover{display:flex;min-height:min(48rem,92vh);background:var(--brand-accent);color:#fff;padding:2rem 0}
.cover-inner{display:flex;flex-direction:column}
.cover-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;padding-bottom:1.2rem;border-bottom:1px solid #ffffff55}
.report-brand{min-height:4rem}
.report-logo{max-width:12rem;max-height:4rem;border:0;background:#fff;padding:.35rem}
.report-mark,.finding-number,.section-kicker,.contents-number{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:.76rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.report-mark{margin:.2rem 0 0;color:#fff}
.cover-title{margin:auto 0 3rem}
.cover-client{font-size:1.05rem;margin:0 0 .8rem;color:#fff}
.report-cover h1{max-width:18ch;margin:0;font-size:clamp(2.7rem,8vw,5.8rem);line-height:.98;letter-spacing:-.045em}
.cover-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:0 0 1.5rem;padding-top:1rem;border-top:1px solid #ffffff55}
.cover-facts div{min-width:0}
.cover-facts dt{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#ffffffc9}
.cover-facts dd{margin:.2rem 0 0;font-weight:700;overflow-wrap:anywhere}
.cover-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #ffffff66}
.cover-outcome{display:flex;align-items:baseline;gap:.75rem;padding:.85rem 1rem;border-left:1px solid #ffffff66}
.cover-outcome:first-child{border-left:0}
.cover-outcome strong{font-size:1.8rem;line-height:1}
.cover-outcome span{font-size:.82rem;font-weight:700}
.report-section{margin-block:4rem}
.section-kicker{margin:0 0 .5rem;color:var(--brand-accent)}
.report-section>h2{max-width:24ch;margin:.4rem 0 1.5rem;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.08;letter-spacing:-.025em}
.executive-summary{max-width:62ch;font-size:1.18rem;line-height:1.65}
.report-caveat{max-width:70ch;color:var(--muted)}
.summary-grid{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(20rem,1.3fr);gap:1rem;margin-top:2rem;align-items:stretch}
.priority-card{border-top:.35rem solid var(--brand-accent);background:var(--surface);padding:1.2rem}
.priority-card h3{margin:0 0 1.5rem;font-size:.88rem;text-transform:uppercase;letter-spacing:.06em}
.priority-card strong{display:block;font-size:3.5rem;line-height:1;color:var(--brand-accent)}
.priority-card p{margin:.65rem 0 0;color:var(--muted)}
.outcome-table{width:100%;height:100%}
.outcome-table caption{padding:0 0 .65rem;font-size:.88rem;text-transform:uppercase;letter-spacing:.06em}
.outcome-table td{width:7rem;font-size:1.15rem;font-weight:800;text-align:right}
.contact-block{border-left:.35rem solid var(--brand-accent);box-shadow:none}
.context-facts{display:flex;flex-wrap:wrap;gap:1rem 3rem;margin:0 0 1.5rem;padding:1rem 0;border-block:1px solid var(--line)}
.context-facts dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.context-facts dd{margin:.25rem 0 0;font-weight:750}
.assessment-context>section{display:grid;grid-template-columns:minmax(10rem,.3fr) minmax(0,1fr);gap:2rem;border-top:1px solid var(--line);padding:1.2rem 0}
.assessment-context>section h3,.assessment-context>section p{margin:0}
.assessment-context>section p{white-space:pre-wrap}
.contents ol{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}
.contents li{margin:0}
.contents a{display:grid;grid-template-columns:4.5rem minmax(0,1fr) 4rem auto;align-items:center;gap:.9rem;padding:.9rem 0;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}
.contents a:hover .contents-title{text-decoration:underline;text-underline-offset:.2em}
.contents-number{color:var(--brand-accent)}
.contents-title{font-weight:750}
.contents-criterion{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--muted)}
.findings-section{margin-bottom:0}
.finding{position:relative;border:1px solid var(--line);border-top:.42rem solid var(--brand-accent);border-radius:.15rem;box-shadow:0 .45rem 1.4rem #1220180d;padding:clamp(1.2rem,4vw,2.4rem);margin:1.5rem 0 3rem}
.finding-head{align-items:flex-start}
.finding-number{margin:0 0 .35rem;color:var(--brand-accent)}
.criterion{margin:0;font-size:.78rem;letter-spacing:.035em;text-transform:none}
.criterion a{color:var(--muted)}
.finding>h3{max-width:28ch;margin:.85rem 0 1rem;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.12;letter-spacing:-.025em}
.finding-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--line);padding:.8rem 0}
.finding-meta div{padding:0 .9rem;border-left:1px solid var(--line)}
.finding-meta div:first-child{padding-left:0;border-left:0}
.finding-meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.045em}
.finding-meta dd{margin-top:.15rem}
.component-name{border-radius:0}
.finding-copy,.remediation,.occurrences,.evidence-set{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1rem}
.occurrence{border:1px solid var(--line);border-left:.25rem solid var(--line);margin-top:.7rem;padding:1rem}
.occurrence h5{margin:0 0 .35rem;font-size:1rem}
.occurrence p{margin:.35rem 0}
pre{border-radius:.15rem;font-size:.86rem;line-height:1.5}
.evidence-set>h4,.retests>h4{font-size:1.2rem}
.evidence-figure{padding:.85rem;border:1px solid var(--line);background:#f9faf9}
.evidence-figure img{width:100%;border-radius:.15rem}
.evidence-figure figcaption{font-weight:650}
.retests{border-top:.35rem solid var(--line);margin-top:2.2rem;padding-top:1.2rem}
.retests li{border-radius:.15rem;border-left:.3rem solid var(--line)}
.retests li:first-child{border-left-color:var(--brand-accent)}
.retest-evidence{border-top:1px solid var(--line);margin-top:1rem;padding-top:.6rem}
.retest-evidence h5{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.interpretation-guide{border-top:1px solid var(--line);padding-top:2rem}
.rubric-grid>section{border-radius:0}
.limitations{border-top:1px solid var(--line);padding-top:2rem}
footer{background:var(--text);color:#dfe7e3;border:0;padding:1.4rem 0}
@media(max-width:46rem){.report-cover{min-height:auto}.cover-title{margin:5rem 0 3rem}.cover-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:1fr}.assessment-context>section{grid-template-columns:1fr;gap:.4rem}.contents a{grid-template-columns:4rem minmax(0,1fr) auto}.contents-criterion{display:none}.finding-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 0}.finding-meta div:nth-child(3){padding-left:0;border-left:0}.cover-outcome{display:grid;gap:.3rem}.cover-outcome strong{font-size:1.45rem}}
@media print{
  @page{size:A4;margin:14mm 13mm 16mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html,body{background:#fff!important;color:#111!important;font-size:9.5pt}
  .wrap{width:auto;max-width:none;margin:0}
  .skip{display:none}
  .report-cover{min-height:265mm;margin:-14mm -13mm -16mm;padding:16mm 13mm;background:#fff!important;color:#111!important;border-top:8mm solid var(--brand-accent);break-after:page}
  .cover-topline,.cover-facts{border-color:#999}
  .report-mark,.cover-client,.cover-facts dt{color:#333}
  .report-logo{padding:0}
  .cover-title{margin:auto 0 24mm}
  .report-cover h1{font-size:34pt;max-width:17ch}
  .cover-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:5mm 10mm}
  .cover-outcomes{border-color:#888}
  .cover-outcome{border-color:#888;padding:3mm 4mm}
  .report-section{margin:14mm 0}
  .report-summary{margin-top:0}
  .summary-grid{grid-template-columns:58mm 1fr}
  .priority-card,.outcome-table,.contact-block,.rubric-grid>section{break-inside:avoid}
  .contents{break-before:page}
  .contents a{padding:2.5mm 0}
  .findings-section>.section-kicker,.findings-section>h2{display:none}
  .finding{break-before:page;break-inside:auto;margin:0;border:0;border-top:3mm solid var(--brand-accent);padding:6mm 0 0;box-shadow:none}
  .finding>h3{font-size:20pt}
  .finding-head,.finding-meta,.occurrence,.evidence-figure,.retest-head,pre{break-inside:avoid}
  .finding-meta{grid-template-columns:repeat(4,minmax(0,1fr))}
  .evidence-figure{margin:4mm 0;padding:3mm}
  .evidence-figure img{max-height:178mm;object-fit:contain}
  .evidence-set,.retests{break-inside:avoid}
  .retests li{break-inside:avoid}
  .interpretation-guide{break-before:page}
  a{color:#111}
  footer{background:#fff;color:#333;border-top:1px solid #777;margin-top:12mm;padding:5mm 0}
}
