.audit-notice {
    background: #fff8e3;
    border-bottom: 1px solid #e5d7ad;
    color: var(--ink);
}
.audit-notice[hidden], .audit-close[hidden], .audit-print[hidden] { display: none; }
.audit-notice-inner {
    align-items: center;
    border-left: 5px solid var(--accent);
    display: flex;
    gap: 24px;
    margin: 0 auto;
    max-width: 1200px;
    padding: 16px 24px;
}
.audit-notice-copy { display: grid; flex: 1; gap: 3px; min-width: 0; }
.audit-notice-copy strong { font-size: 18px; line-height: 1.3; }
.audit-notice-copy span { font-size: 14px; }
.audit-notice .button { align-items: center; flex-shrink: 0; font-size: 14px; gap: 10px; }
.audit-close {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--brand-dark);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 44px;
    height: 44px;
    justify-content: center;
    padding: 10px;
}
.audit-page { background: #fff; }
.audit-page h1, .audit-page h2, .audit-page h3 { letter-spacing: 0; }
.audit-page h2 { font-size: 36px; line-height: 1.2; margin: 0 0 18px; }
.audit-page h3 { font-size: 20px; line-height: 1.35; }
.audit-page .button { align-items: center; gap: 10px; text-align: center; }
.audit-page a:focus-visible, .audit-page button:focus-visible,
.audit-page input:focus-visible, .audit-page summary:focus-visible,
.audit-notice a:focus-visible, .audit-close:focus-visible {
    outline: 3px solid #15a2b8;
    outline-offset: 4px;
}
.audit-hero {
    background-image: linear-gradient(90deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .08)), var(--audit-image);
    background-position: center;
    background-size: cover;
    color: #fff;
}
.audit-hero-copy { margin: 0 auto; max-width: 1200px; padding: 132px 24px 100px; }
.audit-hero h1 { font-size: 56px; line-height: 1.12; margin: 0 0 20px; max-width: 750px; }
.audit-hero p { font-size: 26px; font-weight: 700; line-height: 1.4; margin-bottom: 30px; max-width: 590px; }
.audit-actions { display: flex; flex-wrap: wrap; gap: 16px; }
.audit-page .audit-primary { background: var(--accent); border-color: var(--accent); color: #172033; }
.audit-page .audit-hero-secondary { background: rgba(0, 0, 0, .2); border-color: #fff; color: #fff; }
.audit-hero-checklist { align-items: center; color: #fff; display: inline-flex; gap: 10px; margin-top: 24px; text-decoration: underline; text-underline-offset: 4px; }
.audit-hero-checklist svg, .audit-page .button svg { flex: 0 0 24px; }
.audit-content { margin: 0 auto; max-width: 1200px; padding: 64px 24px; }
.audit-lead { color: #475467; font-size: 19px; max-width: 950px; }
.audit-evidence-gap { background: #fff8e3; border-left: 4px solid var(--accent); margin-top: 32px; padding: 24px 28px; }
.audit-evidence-gap h3 { margin: 0 0 14px; }
.audit-evidence-gap h4 { font-size: 18px; margin: 24px 0 12px; }
.audit-evidence-gap p { color: #475467; margin: 12px 0; max-width: 960px; }
.audit-evidence-gap .audit-evidence-nuance { border-top: 1px solid #e5d7ad; font-size: 14px; margin: 20px 0 0; padding-top: 16px; }
.audit-evidence-nuance a { text-decoration: underline; }
.audit-steps { display: grid; gap: 32px; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 40px 0 28px; padding: 0; }
.audit-steps li + li { border-left: 1px solid var(--line); padding-left: 28px; }
.audit-steps li > span { align-items: center; background: var(--brand); border-radius: 50%; color: #fff; display: flex; font-weight: 700; height: 40px; justify-content: center; margin-bottom: 18px; width: 40px; }
.audit-steps p { color: #475467; margin: 0; }
.audit-transition { border-top: 1px solid var(--line); padding-top: 22px; }
.audit-transition summary, .audit-checklist summary { cursor: pointer; }
.audit-transition summary { color: var(--brand-dark); font-weight: 700; }
.audit-transition > div { font-size: 15px; max-width: 920px; padding: 24px 0 0; }
.audit-checklist-section { border-top: 1px solid var(--line); padding-top: 48px; scroll-margin-top: 110px; }
.audit-checklist-heading { align-items: center; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 24px; }
.audit-checklist-heading h2 { margin-bottom: 12px; }
.audit-checklist-heading p { color: #475467; margin: 0; }
.audit-checklist-heading > div:first-child { max-width: 720px; }
.audit-checklist-tools { display: grid; flex: 0 0 auto; gap: 10px; max-width: 100%; }
.audit-checklist-tools .button { font-size: 14px; justify-content: center; }
.audit-download-meta { color: #475467; font-size: 13px; line-height: 1.5; }
.audit-print { flex: 0 0 auto; font-family: inherit; font-size: 14px; cursor: pointer; }
.audit-checklist-layout { align-items: start; display: grid; gap: 32px; grid-template-columns: 235px minmax(0, 1fr); }
.audit-progress { background: #eef6f8; border-radius: 8px; padding: 24px; }
.audit-progress h3 { margin: 0 0 20px; }
.audit-progress-number { display: grid; margin: 0 0 16px; }
.audit-progress-number strong { font-size: 64px; line-height: 1.1; }
.audit-progress-number span { color: #475467; font-size: 14px; margin-top: 8px; }
.audit-progress progress { accent-color: var(--brand-dark); height: 10px; width: 100%; }
.audit-progress [role="status"] { font-size: 14px; margin: 16px 0; }
.audit-progress small { color: #475467; display: block; font-size: 13px; }
.audit-check-row { align-items: start; border-top: 1px solid var(--line); display: grid; gap: 20px; grid-template-columns: 24px minmax(0, 1fr); padding: 18px 0; }
.audit-check-row:last-child { border-bottom: 1px solid var(--line); }
.audit-check-row > input { accent-color: var(--brand-dark); cursor: pointer; height: 22px; margin: 4px 0; width: 22px; }
.audit-checklist summary { color: var(--brand-dark); font-size: 17px; list-style-position: outside; margin-left: 18px; padding-left: 4px; }
.audit-checklist summary > span { display: inline-grid; gap: 4px; }
.audit-checklist summary strong { color: var(--ink); }
.audit-checklist summary span span { color: #475467; font-size: 14px; font-weight: 400; }
.audit-check-body { font-size: 15px; padding: 18px 0 0; }
.audit-check-body ul { padding-left: 22px; }
.audit-check-body li { margin-bottom: 10px; }
.audit-check-body p:last-child { margin-bottom: 0; }
.audit-reference { color: #475467; font-size: 13px; }
.audit-source-note { color: #475467; font-size: 13px; margin-top: 28px; }
.audit-source-note a { text-decoration: underline; }
.audit-product-band { background: #eef6f8; border-top: 1px solid var(--line); }
.audit-product-layout { align-items: start; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); margin-top: 36px; }
.audit-balance-example { background: #fff; border: 1px solid #b7d1d8; border-radius: 8px; margin: 0; min-width: 0; overflow: hidden; }
.audit-balance-example figcaption { background: var(--brand-dark); color: #fff; display: grid; gap: 5px; padding: 18px 24px; }
.audit-balance-example figcaption span { font-size: 13px; }
.audit-balance-heading { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; padding: 24px 24px 12px; }
.audit-balance-heading h3 { margin: 0; }
.audit-balance-heading > span { color: #475467; font-size: 13px; }
.audit-balance-example table { border-collapse: collapse; font-size: 14px; margin: 0; table-layout: fixed; width: 100%; }
.audit-balance-example th, .audit-balance-example td { border-bottom: 1px solid var(--line); padding: 12px 16px; text-align: right; }
.audit-balance-example thead { background: #eef6f8; color: var(--brand-dark); }
.audit-balance-example th:first-child { padding-left: 24px; text-align: left; width: 48%; }
.audit-balance-example tbody th { font-weight: 400; }
.audit-balance-example td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.audit-balance-example .audit-balance-total { background: #eef6f8; color: var(--brand-dark); }
.audit-balance-example .audit-balance-total th, .audit-balance-total td { font-weight: 700; }
.audit-balance-difference { border-left: 4px solid var(--accent); display: grid; gap: 8px; margin: 20px 24px 24px; padding-left: 16px; }
.audit-balance-difference strong { font-size: 15px; }
.audit-balance-difference span, .audit-product-note { color: #475467; font-size: 13px; }
.audit-product-benefits h3 { margin: 0 0 24px; }
.audit-product-benefits dl { margin: 0 0 28px; }
.audit-product-benefits dl > div { border-bottom: 1px solid #b7d1d8; padding: 0 0 22px; margin-bottom: 22px; }
.audit-product-benefits dt { font-weight: 700; margin-bottom: 8px; }
.audit-product-benefits dd { color: #475467; margin: 0; }
.audit-product-note { margin: 18px 0 0; }
.audit-visually-hidden { clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.audit-cta { align-items: center; background: var(--brand-dark); color: #fff; display: flex; gap: 40px; justify-content: space-between; padding: 44px max(24px, calc((100% - 1152px) / 2)); }
.audit-cta h2 { font-size: 30px; }
.audit-cta p { margin: 0; max-width: 780px; }
.audit-cta .audit-trial { font-weight: 700; margin-top: 16px; }
.audit-cta .button { flex-shrink: 0; }
@media (max-width: 900px) {
    .audit-notice-inner { flex-wrap: wrap; gap: 14px; padding: 14px 20px; position: relative; }
    .audit-notice-copy { flex-basis: calc(100% - 50px); padding-right: 28px; }
    .audit-close { position: absolute; right: 8px; top: 8px; }
    .audit-hero-copy { padding: 100px 24px 80px; }
    .audit-hero h1 { font-size: 44px; }
    .audit-steps { gap: 24px; }
    .audit-steps li + li { padding-left: 20px; }
    .audit-checklist-layout { gap: 24px; grid-template-columns: 200px minmax(0, 1fr); }
    .audit-product-layout { gap: 32px; grid-template-columns: 1fr; }
    .audit-cta { align-items: start; flex-direction: column; gap: 24px; }
}
@media (max-width: 600px) {
    .audit-notice-inner { border-left-width: 4px; }
    .audit-notice-copy strong { font-size: 16px; }
    .audit-hero { background-position: 40% center; }
    .audit-hero-copy { padding: 64px 20px; }
    .audit-hero h1 { font-size: 36px; }
    .audit-hero p { font-size: 22px; }
    .audit-actions { align-items: stretch; flex-direction: column; }
    .audit-content { padding: 40px 20px; }
    .audit-page h2 { font-size: 28px; }
    .audit-lead { font-size: 17px; }
    .audit-evidence-gap { padding: 20px; }
    .audit-steps { grid-template-columns: 1fr; margin-top: 28px; }
    .audit-steps li + li { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0 0; }
    .audit-checklist-heading { align-items: start; flex-direction: column; }
    .audit-checklist-layout { grid-template-columns: 1fr; }
    .audit-progress { padding: 20px; }
    .audit-progress h3 { margin-bottom: 12px; }
    .audit-progress-number { align-items: center; display: flex; gap: 16px; }
    .audit-progress-number strong { font-size: 42px; }
    .audit-check-row { gap: 14px; }
    .audit-balance-example figcaption { padding: 18px 16px; }
    .audit-balance-heading { padding: 20px 16px 12px; }
    .audit-balance-heading h3 { font-size: 17px; }
    .audit-balance-example th, .audit-balance-example td { padding: 10px 8px; }
    .audit-balance-example th:first-child { padding-left: 16px; width: 44%; }
    .audit-balance-difference { margin: 20px 16px; padding-left: 12px; }
    .audit-cta { padding: 36px 20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print {
    .site-header, .site-footer, footer, .cookie-banner, .audit-actions, .audit-hero-checklist, .audit-checklist-tools, .audit-evidence-gap, .audit-product-band, .audit-cta { display: none !important; }
    body, .audit-page { background: #fff !important; color: #000 !important; }
    .audit-hero { background: none !important; color: #000; }
    .audit-hero-copy { padding: 12px 0 24px; }
    .audit-hero h1 { font-size: 28px; }
    .audit-hero p { font-size: 16px; margin: 0; max-width: none; }
    .audit-content { max-width: none; padding: 18px 0; }
    .audit-page h2 { font-size: 22px; }
    .audit-lead, .audit-steps { display: none; }
    .audit-checklist-layout { display: block; }
    .audit-progress { background: none; border: 1px solid #777; margin-bottom: 16px; padding: 12px; }
    .audit-progress h3, .audit-progress-number, .audit-progress progress { display: none; }
    .audit-progress [role="status"] { margin: 0 0 8px; }
    .audit-check-row { break-inside: avoid; padding: 14px 0; }
    .audit-check-row input { appearance: auto; print-color-adjust: exact; }
    .audit-checklist summary { font-size: 16px; }
    .audit-check-body { font-size: 13px; padding-top: 10px; }
    .audit-transition > div, .audit-source-note { font-size: 12px; }
    .audit-page details > :not(summary) { display: block !important; }
    .audit-page a { color: #000; text-decoration: underline; }
}
