:root { --navy:#082c54; --blue:#0b6fbd; --sky:#2aa5df; --ink:#14283d; --muted:#627388; --line:#dce5ed; --paper:#fff; --wash:#f4f8fb; --green:#087a58; --green-wash:#e7f6ef; --orange:#a54d00; --orange-wash:#fff2e3; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--wash); font:16px/1.55 Arial, Helvetica, sans-serif; }
.shell { width:min(1120px, calc(100% - 40px)); margin:auto; }
.site-header { background:#fff; border-bottom:1px solid var(--line); }
.header-inner { min-height:82px; display:flex; justify-content:space-between; align-items:center; }
.brand { position:relative; color:var(--navy); text-decoration:none; font-size:25px; font-weight:800; letter-spacing:-1.35px; }
.brand em { color:var(--sky); font-size:13px; font-style:normal; vertical-align:top; margin-left:1px; }.brand small { display:block; color:var(--blue); font-size:9px; letter-spacing:2px; line-height:1; margin-top:-1px; }.header-label { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:1.4px; }
.hero { display:grid; grid-template-columns:1fr 280px; gap:50px; padding:62px 0 38px; align-items:end; }.eyebrow,.section-kicker { margin:0 0 7px; color:var(--blue); font-size:11px; line-height:1.2; font-weight:700; letter-spacing:1.4px; }.hero h1 { max-width:780px; margin:0; color:var(--navy); font-size:44px; line-height:1.07; letter-spacing:-1.6px; }.lede { max-width:780px; margin:18px 0 0; color:#496178; font-size:18px; }.hero-aside { display:flex; flex-direction:column; align-items:stretch; gap:46px; }.hero-logo { align-self:flex-end; width:245px; }.hero-logo img { display:block; width:100%; height:auto; }.disclaimer-card { padding:18px 19px; border-top:4px solid var(--sky); background:#eaf7fd; color:#2b5877; font-size:14px; }.disclaimer-card strong { color:var(--navy); }.disclaimer-card p { margin:5px 0 0; }


.hero a,
.hero a:visited {
  color: #0b6fbd;
  text-decoration: underline;
}

.panel,.report { background:var(--paper); border:1px solid var(--line); box-shadow:0 9px 26px rgba(18,53,83,.05); }.panel { margin:18px 0 35px; padding:35px; }.panel-heading { display:flex; align-items:center; gap:14px; margin-bottom:27px; }.panel-heading h2 { margin:0; color:var(--navy); font-size:27px; letter-spacing:-.6px; }.step { flex:0 0 38px; width:38px; height:38px; display:grid; place-items:center; color:white; background:var(--blue); border-radius:50%; font-weight:bold; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.field { color:var(--navy); font-size:14px; font-weight:bold; }.field-wide { grid-column:1/-1; }.field span { color:#a33c35; }.field .optional { color:var(--muted); font-weight:normal; }.field input { width:100%; margin-top:7px; padding:13px 14px; border:1px solid #bdcbd8; border-radius:2px; color:var(--ink); background:#fff; font:16px Arial,sans-serif; }.field input:focus { outline:3px solid #c9e7f8; border-color:var(--blue); }.field small { display:block; margin-top:6px; color:var(--muted); font-weight:normal; }.form-actions { display:flex; align-items:center; gap:20px; margin-top:29px; }.form-actions p { margin:0; color:var(--muted); font-size:13px; }.button { border:0; border-radius:2px; padding:13px 18px; cursor:pointer; font:700 14px Arial,sans-serif; letter-spacing:.15px; }.button.primary { color:#fff; background:var(--blue); }.button.primary:hover { background:#075b9c; }.button:disabled { opacity:.6; cursor:wait; }.button.secondary { color:#fff; background:var(--navy); }.button.text-button { color:var(--blue); background:transparent; }.progress-panel { max-width:740px; margin-inline:auto; }.progress-track { overflow:hidden; width:100%; height:8px; background:#e1ebf2; }.progress-track span { display:block; width:0; height:100%; background:linear-gradient(90deg,var(--blue),var(--sky)); transition:width .5s ease; }.progress-panel #progress-copy { margin:17px 0 0; color:var(--navy); font-weight:bold; }.quiet { color:var(--muted); font-size:13px; }.error { color:#a02323 !important; }.report-actions { display:flex; justify-content:flex-end; gap:8px; margin:12px 0; }.report { overflow:hidden; margin:0 0 45px; }.report-cover { min-height:380px; display:flex; flex-direction:column; padding:52px 55px; color:white; background:linear-gradient(130deg,#082c54 0%,#0d467a 62%,#14699c 100%); }.report-brand { font-size:26px; font-weight:800; letter-spacing:-1.4px; }.report-brand sup,.site-footer sup { font-size:10px; }.report-brand small { display:block; color:#96d8f4; font-size:9px; letter-spacing:2px; }.report-cover .eyebrow { margin-top:auto; color:#a1e0fb; }.report-cover h1 { max-width:720px; margin:5px 0 0; font-size:42px; line-height:1.08; letter-spacing:-1.3px; }.report-url { margin:12px 0 0; color:#d1ebf7; }.report-cover .quiet { color:#b7d2e2; }.cover-note { margin:35px 0 0; color:#b7d2e2; font-size:12px; letter-spacing:.3px; }.report-section { padding:42px 55px; border-bottom:1px solid var(--line); }.report-section h2 { margin:0 0 12px; color:var(--navy); font-size:27px; line-height:1.15; letter-spacing:-.55px; }.report-section p { max-width:830px; }.score-layout { display:grid; grid-template-columns:220px 1fr; gap:23px; margin-top:30px; align-items:stretch; }.overall-score { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:170px; color:#fff; text-align:center; background:var(--navy); }.overall-score span { font-size:58px; line-height:1; font-weight:800; letter-spacing:-3px; }.overall-score small { margin-top:9px; color:#b9e6f9; font-size:12px; text-transform:uppercase; letter-spacing:1px; }.metric-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }.metric-card { display:flex; flex-direction:column; justify-content:center; padding:18px; border:1px solid var(--line); background:#f8fbfd; }.metric-card strong { color:var(--blue); font-size:31px; line-height:1; }.metric-card strong small { font-size:13px; }.metric-card span { margin-top:9px; color:#4d6479; font-size:13px; }.profile-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin:20px 0 0; border-top:1px solid var(--line); border-left:1px solid var(--line); }.profile-grid div { padding:13px 16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.profile-grid div:last-child { grid-column:1/-1; }.profile-grid dt { color:var(--blue); font-size:11px; font-weight:bold; letter-spacing:1px; text-transform:uppercase; }.profile-grid dd { margin:4px 0 0; }.section-intro { color:var(--muted); }.tests { margin-top:23px; }.test { margin:0 0 10px; border:1px solid var(--line); }.test summary { display:grid; grid-template-columns:34px 1fr auto; gap:13px; align-items:center; padding:14px; cursor:pointer; list-style:none; }.test summary::-webkit-details-marker { display:none; }.test-number { display:grid; width:27px; height:27px; place-items:center; color:var(--blue); background:#e8f5fb; border-radius:50%; font-size:12px; font-weight:bold; }.test summary small { display:block; margin-bottom:2px; color:var(--blue); font-size:10px; font-weight:bold; letter-spacing:.9px; text-transform:uppercase; }.summary-status { color:#7c5539; font-size:12px; white-space:nowrap; }.summary-status.positive { color:var(--green); font-weight:bold; }.test-body { padding:0 16px 17px 61px; }.answer { white-space:pre-wrap; color:#3e5367; font-size:14px; }.tags { display:flex; flex-wrap:wrap; gap:6px; }.tag { padding:4px 7px; border-radius:2px; background:#e9eef2; color:#516476; font-size:11px; }.tag.yes { color:#07694d; background:var(--green-wash); }.tag.no { color:#a24918; background:var(--orange-wash); }.test-sources { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:15px; font-size:12px; }.test-sources strong { color:var(--navy); }.test-sources a { color:var(--blue); }.two-column { display:grid; grid-template-columns:1fr 1fr; gap:40px; }.findings { margin:17px 0 0; padding:0; list-style:none; }.finding { position:relative; padding:0 0 12px 21px; }.finding::before { position:absolute; left:0; font-weight:bold; }.good .finding::before { content:'+'; color:var(--green); }.opportunity .finding::before { content:'→'; color:var(--orange); }.sources { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:19px; }.sources a { min-width:0; padding:11px 12px; color:var(--ink); text-decoration:none; border:1px solid var(--line); font-size:13px; }.sources a:hover { border-color:var(--sky); }.sources strong,.sources span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.sources span { margin-top:3px; color:var(--muted); font-size:11px; }.next-steps { background:#f6fafc; }.next-steps ol { max-width:840px; margin:18px 0 0; padding-left:22px; }.next-steps li { margin-bottom:10px; padding-left:6px; }.method-note { margin-top:28px; padding-top:17px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }.site-footer { padding:20px 0 32px; color:#6e7f8f; text-align:center; font-size:11px; letter-spacing:.45px; }
@media (max-width:720px) { .shell { width:min(100% - 28px,1120px); }.header-label { display:none; }.hero { grid-template-columns:1fr; gap:23px; padding-top:40px; }.hero h1 { font-size:35px; }.panel { padding:24px 20px; }.form-grid,.two-column,.score-layout,.sources { grid-template-columns:1fr; }.field-wide { grid-column:auto; }.form-actions { flex-direction:column; align-items:stretch; }.report-section,.report-cover { padding:33px 23px; }.report-cover h1 { font-size:34px; }.metric-cards { grid-template-columns:1fr 1fr; }.profile-grid { grid-template-columns:1fr; }.profile-grid div:last-child { grid-column:auto; }.test summary { grid-template-columns:28px 1fr; }.summary-status { grid-column:2; }.test-body { padding-left:17px; }.report-actions { justify-content:space-between; } }
@media print { @page { size:auto; margin:12mm; } body { background:#fff; print-color-adjust:exact; -webkit-print-color-adjust:exact; }.site-header,.site-footer,.no-print,#intro,#audit-form-section,#progress-section { display:none !important; }.shell { width:100%; }.report { border:0; box-shadow:none; }.report-cover { min-height:250px; break-inside:avoid; page-break-inside:avoid; break-after:page; page-break-after:always; }.report-section { page-break-inside:avoid; }.test { page-break-inside:avoid; }.test:not([open]) .test-body { display:block; }.test summary { cursor:default; }.test summary::after { content:''; }.test-body { display:block; }.sources a { break-inside:avoid; } }
