@font-face{font-family:Jakarta;src:url('/assets/jakarta-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Jakarta;src:url('/assets/jakarta-bold.ttf') format('truetype');font-weight:600 800;font-style:normal;font-display:swap}
:root{color-scheme:dark;--black:#050505;--soft:#0b0b0b;--card:#121212;--border:#242424;--muted:#a1a1a1;--white:#f5f5f5;--good:#aad0b5;--warn:#e4c28d;--bad:#f2aaa4}
*{box-sizing:border-box}body{margin:0;background:var(--black);color:var(--white);font:400 14px/1.65 Jakarta,Arial,sans-serif}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button,summary{cursor:pointer}button{min-height:48px;border:1px solid var(--white);border-radius:4px;background:var(--white);color:var(--black);font-weight:700;padding:12px 20px}button:hover{background:#d9d9d9}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,pre:focus-visible{outline:2px solid var(--white);outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(1100px,calc(100% - 40px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:22px;border-bottom:1px solid var(--border)}.wordmark{font-size:14px;font-weight:700;letter-spacing:.04em;text-decoration:none;white-space:nowrap}.edition{display:none;font-size:9px;letter-spacing:.1em;color:var(--muted);text-align:right}.intro{padding:58px 0 44px;max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--muted);margin:0 0 16px}h1{font-size:clamp(32px,6vw,60px);line-height:1.15;letter-spacing:-.05em;font-weight:700;margin:0 0 22px}.intro-copy{color:var(--muted);font-size:15px;max-width:570px;margin:0 0 32px}label{display:block;font-size:12px;margin-bottom:9px}.input-row{display:flex;flex-direction:column;gap:10px}input{width:100%;min-width:0;background:var(--soft);border:1px solid #3b3b3b;border-radius:4px;color:var(--white);padding:14px 16px;font-size:16px;min-height:52px}.input-row button{display:flex;justify-content:center;gap:24px;align-items:center}.fine-print{font-size:12px;color:var(--muted)}.loading{display:flex;align-items:center;gap:12px;padding:16px 0;color:var(--muted);font-size:12px}.spinner{width:16px;height:16px;flex-shrink:0;border:2px solid var(--border);border-top-color:var(--white);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:14px;border:1px solid #68443f;border-radius:4px;color:var(--bad);background:var(--soft)}.scope{padding:28px 0 48px;border-top:1px solid var(--border)}.scope>div{display:grid;gap:16px}.scope p{margin:0}.scope .eyebrow{margin-bottom:20px}.scope strong,.scope span{display:block}.scope strong{font-size:14px;margin-bottom:5px}.scope span{color:var(--muted);font-size:12px;max-width:260px}footer{border-top:1px solid var(--border);padding:24px 0 32px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.06em;color:var(--muted)}#results{border-top:1px solid var(--border);padding-top:30px;margin-bottom:48px;scroll-margin-top:20px}.result-heading{display:flex;flex-direction:column;gap:12px}.result-heading .eyebrow{margin-bottom:8px}h2{font-size:clamp(22px,4vw,32px);letter-spacing:-.04em;line-height:1.2;margin:0;overflow-wrap:anywhere}#result-url{overflow-wrap:anywhere}.secondary{background:transparent;color:var(--white);border-color:var(--border);font-size:12px;align-self:flex-start}.secondary:hover{background:var(--card)}.overview{display:grid;gap:18px;padding:28px 0}.overall .eyebrow{margin-bottom:4px}.score{margin:0;line-height:1.1;font-size:76px;letter-spacing:-.07em;font-weight:700}.score-denominator{font-size:20px;letter-spacing:-.03em;color:var(--muted);font-weight:400}.summary>p:first-child{font-size:18px;line-height:1.6;margin-top:0;max-width:580px}.categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border)}.category{background:var(--soft);padding:16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.category:last-child{grid-column:1/-1}.category h3{font-size:11px;font-weight:400;color:var(--muted);margin:0 0 10px}.category-score{font-size:26px;margin:0;line-height:1.2;letter-spacing:-.04em}.category-score span{font-size:12px;color:var(--muted);letter-spacing:0}.category .fine-print{font-size:10px;margin-bottom:0}.counts{display:flex;flex-wrap:wrap;gap:9px 18px;padding:22px 0;color:var(--muted);font-size:11px}.finding-group{margin:24px 0 32px}.group-heading{display:flex;gap:12px;align-items:baseline;margin-bottom:6px}.group-heading h3{font-size:21px;letter-spacing:-.03em;margin:0}.group-heading span{font-size:12px;color:var(--muted)}.group-description{font-size:12px;color:var(--muted);margin:0 0 16px}.finding{border:1px solid var(--border);border-radius:4px;background:var(--soft);padding:18px;margin-bottom:10px;overflow-wrap:anywhere}.finding-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.badge{font-size:9px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);border-radius:3px;padding:3px 7px}.badge.high,.status-fail{color:var(--bad)}.badge.medium,.status-warning{color:var(--warn)}.badge.positive,.status-pass{color:var(--good)}.badge.low{color:var(--muted)}.finding-category{font-size:10px;color:var(--muted)}.finding h4{font-size:16px;letter-spacing:-.02em;margin:0 0 10px}.finding p{font-size:12px;margin:8px 0;color:var(--muted)}.finding p.explanation{color:var(--white);font-size:13px}.finding p strong{color:var(--white);font-weight:700}.finding details{margin-top:14px}.finding summary{font-size:11px;color:var(--muted);min-height:30px}.finding pre,.method pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--card);padding:12px;border-radius:3px}.method{border-top:1px solid var(--border);padding:18px 0;color:var(--muted);font-size:12px}.method summary{color:var(--white);min-height:30px}.method li{margin:8px 0}.method ul{padding-left:20px}.next-step{padding:28px 0;border-top:1px solid var(--border)}.skip-link{position:absolute;left:20px;top:-100px;background:var(--white);color:var(--black);padding:12px;z-index:2}.skip-link:focus{top:10px}.empty-group{color:var(--muted);font-size:12px}
@media(min-width:640px){.wrap{width:min(1100px,calc(100% - 80px))}.site-header{padding-block:26px}.wordmark{font-size:17px}.edition{display:block;font-size:10px}.intro{padding:76px 0 56px}.intro-copy{font-size:16px}.input-row{flex-direction:row}.input-row button{white-space:nowrap;min-width:170px}.scope>div{grid-template-columns:repeat(3,1fr)}.result-heading{flex-direction:row;justify-content:space-between;align-items:center}.overview{grid-template-columns:230px 1fr;align-items:center;padding:38px 0}.categories{grid-template-columns:repeat(5,minmax(0,1fr))}.category:last-child{grid-column:auto}.finding{padding:22px}.finding p{font-size:13px}footer{font-size:10px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
/* QA adjustments: preserve the design while improving touch targets and report scanning. */
.finding summary,.method summary,.passed-checks>summary{min-height:44px;padding-block:11px;font-size:12px}
.passed-checks>summary{color:var(--muted);margin-bottom:10px}
#start-here{font-size:14px;color:var(--white)}
@media(min-width:640px) and (max-width:1023px){.categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Supplied logo: reserved dimensions prevent layout shift; original aspect ratio preserved. */
.wordmark{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0}
.wordmark img{display:block;width:160px;height:auto;border-radius:2px}
@media(min-width:640px){.wordmark img{width:200px}}
@media(max-width:359px){.site-header{gap:8px}.wordmark{gap:6px}.wordmark img{width:138px}}

/* Minimal phone-first lead gate, using the existing visual system. */
#phone{width:100%;margin-bottom:18px}
.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;border:1px solid var(--white);border-radius:4px;background:var(--white);color:var(--black);font-weight:700;text-decoration:none;margin-top:6px}
.contact-link:hover{background:#d9d9d9}
.next-step h3{font-size:24px;margin:0 0 12px;letter-spacing:-.03em}
.next-step>p{max-width:620px}
