/* Delayed assessment request, approved black/blue interior palette. */
[hidden] { display: none !important; }
.calculator { max-width: 960px; margin-top: 32px; }
.assessment-card { border: 1px solid #303841; border-radius: 18px; background: #0a0d10; padding: clamp(22px, 5vw, 48px); }
.assessment-intro { max-width: 62ch; }
.assessment-intro h3 { font-size: clamp(1.4rem, 3vw, 2rem); margin: 0 0 16px; }
.calculator form { max-width: 680px; margin: 30px 0 24px; }
.calculator label { display: block; }
.calculator input { width: 100%; box-sizing: border-box; }
.calculator input[type="checkbox"] { width: 20px; height: 20px; margin: 3px 0 0; padding: 0; flex: 0 0 20px; accent-color: var(--blue); }
.calculator .assessment-consent { display: flex; align-items: flex-start; gap: 12px; line-height: 1.6; margin-top: 24px; }
.calculator input:invalid:not(:placeholder-shown):not([type="checkbox"]) { border-color: #b87979; }
.check-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.calculator button { cursor: pointer; text-align: left; }
#assessment-status { color: var(--muted); min-height: 1.7em; font-size: .85rem; overflow-wrap: anywhere; margin-top: 18px; }
#assessment-privacy, #assessment-url-help { color: var(--muted); line-height: 1.7; overflow-wrap: anywhere; }
#assessment-url-help { margin: -8px 0 22px; }
.assessment-steps { max-width: 960px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 32px; }
.assessment-steps p { color: var(--muted); font-size: .9rem; }
.check-method { max-width: 780px; margin-top: 32px; }
.check-method summary { cursor: pointer; color: var(--muted); }
.check-method p { color: var(--muted); font-size: .85rem; margin-top: 20px; }
@media (max-width: 640px) { .assessment-steps { grid-template-columns: 1fr; gap: 12px; } }

/* On-page report tile; text content only, no dynamic HTML or external assets. */
.report-card { margin: 30px 0; padding: clamp(20px,4vw,36px); border: 1px solid #24567a; border-radius: 16px; background: #05090d; scroll-margin-top: 24px; }
.report-card:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.report-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.report-top h3 { font-size: clamp(1.3rem,3vw,2rem); margin: 10px 0; }
.report-url, .report-devices p, .report-findings li, #report-notes { overflow-wrap: anywhere; }
.report-grade { display: grid; justify-items: center; flex: 0 0 96px; padding: 16px 12px; border: 1px solid #24567a; border-radius: 12px; }
#report-grade { color: var(--blue); font-size: 4rem; font-weight: 600; line-height: 1.1; }
#report-score { color: var(--muted); font-size: .85rem; margin-top: 6px; }
.report-devices { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 24px; }
.report-devices section { min-width: 0; padding: 20px 0; border-top: 1px solid #303841; }
.report-devices h4, .report-card h4 { font-size: 1rem; margin: 0 0 18px; }
.report-devices dl { margin: 0; }
.report-devices dl div { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; }
.report-devices dt, .report-devices p, .report-findings p { font-size: .85rem; color: var(--muted); }
.report-devices dd { margin: 0; white-space: nowrap; }
.report-findings { padding-left: 20px; }
.report-findings li { margin-bottom: 22px; }
.report-findings p { margin: 8px 0; }
.report-contact { display: inline-block; margin-top: 15px; }
@media(max-width:640px) { .report-devices { grid-template-columns: 1fr; gap: 0; } .report-top { flex-direction: column-reverse; } .report-grade { flex-basis: auto; min-width: 96px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
