/* How To Stop The Bailiffs - main stylesheet
   Design principles: one primary colour (navy) for brand and headings, one action colour (yellow) for the main
   call to action, neutrals for everything else. Red is reserved for urgent warnings. Square panels, 4px radius on
   controls, no gradients, no shadows on content, no hover animations. Typography does the work. */

@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/source-sans-3-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/source-sans-3-latin-700-normal.woff2") format("woff2"); }

:root {
  --navy: #0b2545;        /* brand, headings, primary UI */
  --navy-hover: #1b3a63;
  --navy-50: #eef2f7;     /* tinted panels */
  --navy-100: #d6dfeb;
  --link: #1d4f8c;        /* 8:1 on white */
  --yellow: #ffc72c;      /* main call to action only */
  --yellow-hover: #ffd451;
  --yellow-edge: #d9a300;
  --yellow-50: #fff7dc;
  --red: #b3261e;         /* urgent warnings only */
  --red-50: #fcefee;
  --ink: #1d232b;
  --body: #2b323b;
  --muted: #4c5562;       /* 7:1 on white */
  --line: #c6cdd6;
  --line-soft: #e1e5ea;
  --grey-50: #f5f6f8;
  --field-border: #6b7480;
  --radius: 4px;
  --font: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --measure: 38rem;      /* about 70 characters at body size */
  --gutter: 20px;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 24px; }
body { margin: 0; font-family: var(--font); font-size: 1.125rem; line-height: 1.6; color: var(--body); background: #fff; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--link); text-decoration-thickness: 1px; text-underline-offset: .15em; }
a:hover { color: var(--navy); text-decoration-thickness: 2px; }
a:focus-visible { outline: none; color: var(--navy); background: var(--yellow); box-shadow: 0 -2px var(--yellow), 0 3px var(--navy); text-decoration: none; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--yellow); outline-offset: 0; box-shadow: 0 0 0 5px var(--navy); }
h1, h2, h3, h4 { color: var(--navy); font-weight: 700; line-height: 1.2; margin: 1.8em 0 .5em; letter-spacing: 0; }
h1 { font-size: 2.5rem; margin-top: .25em; line-height: 1.12; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.3125rem; }
h4, .h4 { font-size: 1.125rem; }
p { margin: 0 0 1em; }
strong { font-weight: 700; }
small, .small { font-size: 1rem; }
.tiny { font-size: .9375rem; color: var(--muted); margin: .5em 0 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: -999px; top: 8px; background: var(--yellow); color: var(--navy); padding: 10px 16px; z-index: 1000; font-weight: 700; }
.skip-link:focus { left: 8px; }
.container { width: 100%; max-width: 1160px; margin: 0 auto; padding: 0 var(--gutter); }
@media (max-width: 640px) {
  body { font-size: 1.0625rem; }
  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.1875rem; }
}

/* ---------- independence notice and header ---------- */
.site-notice { background: var(--grey-50); border-bottom: 1px solid var(--line-soft); color: var(--ink); font-size: .9375rem; line-height: 1.45; padding: 9px 0; }
.site-notice p { margin: 0; }
@media (max-width: 640px) { .site-notice .notice-detail { display: none; } }
.site-notice strong { color: var(--navy); }
.site-notice a { color: var(--link); }
.site-header { background: #fff; border-bottom: 1px solid var(--line); }
.header-top { display: flex; align-items: center; gap: 24px; min-height: 84px; }
.brand { display: inline-flex; flex-shrink: 0; }
.brand img { display: block; height: 46px; width: auto; }
.utility-nav { margin-left: auto; }
.utility { display: flex; flex-wrap: wrap; gap: 4px 22px; list-style: none; margin: 0; padding: 0; font-size: 1rem; }
.utility a { color: var(--ink); }
.utility a:hover { color: var(--navy); }
.header-cta { flex-shrink: 0; }
.site-nav { border-top: 1px solid var(--line-soft); }
.site-nav ul { display: flex; flex-wrap: wrap; gap: 0 30px; list-style: none; margin: 0; padding: 0; }
.site-nav a { display: block; padding: 13px 0 11px; color: var(--navy); font-weight: 600; text-decoration: none; border-bottom: 4px solid transparent; }
.site-nav a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.site-nav a[aria-current="page"] { border-bottom-color: var(--navy); }
.site-nav .nav-secondary { display: none; }
.nav-toggle { display: none; margin-left: auto; background: #fff; color: var(--navy); border: 1px solid var(--navy); border-radius: var(--radius); padding: 7px 14px; font: 600 1rem/1.2 var(--font); cursor: pointer; }
.nav-toggle::after { content: ""; display: inline-block; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: 0 0 3px 9px; }
.nav-toggle[aria-expanded="true"]::after { transform: rotate(-135deg); margin-bottom: -2px; }
@media (max-width: 1000px) {
  .utility-nav, .header-top .header-cta { display: none; }
  .header-top { min-height: 70px; }
  .brand img { height: 40px; }
  .nav-toggle { display: inline-block; }
  .site-nav { display: none; }
  .site-nav.open { display: block; }
  .site-nav ul { display: block; }
  .site-nav li { border-bottom: 1px solid var(--line-soft); }
  .site-nav a { padding: 12px 0; border-bottom: 0; }
  .site-nav a[aria-current="page"] { border-left: 4px solid var(--navy); padding-left: 12px; }
  .site-nav .nav-secondary { display: block; margin: 8px 0 16px; }
  .site-nav .nav-secondary li { border: 0; }
  .site-nav .nav-secondary a { font-weight: 400; color: var(--link); padding: 6px 0; text-decoration: underline; }
}

/* ---------- buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 20px; border-radius: var(--radius); font: 700 1.0625rem/1.25 var(--font); text-decoration: none; border: 2px solid transparent; cursor: pointer; text-align: center; }
.btn:hover { text-decoration: none; }
.btn-cta { background: var(--yellow); color: var(--navy); border-color: var(--yellow); box-shadow: 0 2px 0 var(--yellow-edge); }
.btn-cta:hover { background: var(--yellow-hover); border-color: var(--yellow-hover); color: var(--navy); }
.btn-cta:active { box-shadow: none; transform: translateY(2px); }
.btn-primary { background: var(--navy); color: #fff; border-color: var(--navy); }
.btn-primary:hover { background: var(--navy-hover); border-color: var(--navy-hover); color: #fff; }
.btn-outline { background: #fff; color: var(--navy); border-color: var(--navy); }
.btn-outline:hover { background: var(--navy-50); color: var(--navy); }
.btn-lg { padding: 13px 24px; font-size: 1.125rem; }
.btn-block { display: flex; width: 100%; }
.btn:focus-visible { outline: 3px solid var(--yellow); outline-offset: 0; box-shadow: 0 0 0 5px var(--navy); background-color: var(--yellow); color: var(--navy); }
.link-button { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.arrow-link { font-weight: 700; }

/* ---------- breadcrumbs and page headers ---------- */
.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 0; margin: 0 0 20px; font-size: .9375rem; color: var(--muted); }
.breadcrumbs li:not(:last-child)::after { content: "\203A"; margin-left: 8px; color: var(--muted); }
.breadcrumbs a { color: var(--ink); }
@media (max-width: 640px) { .breadcrumbs li[aria-current] { display: none; } }
.page-header { padding: 28px 0 8px; }
.page-narrow { max-width: 880px; padding-bottom: 64px; }
.page-wide { padding-bottom: 64px; }
.lede { font-size: 1.25rem; line-height: 1.5; color: var(--body); max-width: var(--measure); }
.eyebrow { font-size: 1rem; font-weight: 600; color: var(--muted); margin: 0 0 6px; }
.eyebrow a { color: var(--muted); }

/* ---------- article layout ---------- */
.article-layout { display: grid; grid-template-columns: minmax(0, 40rem) 340px; justify-content: space-between; gap: 48px; padding-top: 28px; padding-bottom: 72px; }
.article { min-width: 0; }
.article-header { margin-bottom: 28px; }
.article-header h1 { max-width: 24ch; }
.article-facts, .disclaimer-top, .featured, .inline-form, .cta-box { max-width: var(--measure); }
.sidebar { min-width: 0; }
.sidebar-sticky { position: sticky; top: 24px; display: grid; gap: 20px; }
@media (max-width: 1000px) {
  .article-layout { grid-template-columns: 1fr; gap: 0; }
  .sidebar { display: none; }
}

/* E-E-A-T panel: who wrote it, how it was checked, when, and where it applies */
.article-facts { display: grid; grid-template-columns: 1fr; gap: 14px; margin: 24px 0 0; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 1rem; }
.fact-author { display: flex; gap: 12px; align-items: center; }
.fact-author img { width: 52px; height: 52px; border-radius: 50%; flex-shrink: 0; background: var(--grey-50); }
.fact-label { display: block; color: var(--muted); font-size: .9375rem; line-height: 1.3; }
.fact-author a { font-weight: 700; }
.fact-sub { display: block; color: var(--muted); font-size: .9375rem; line-height: 1.3; }
.facts-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 12px 24px; margin: 0; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.facts-list div { min-width: 0; }
.facts-list dt { color: var(--muted); font-size: .9375rem; line-height: 1.3; }
.facts-list dd { margin: 2px 0 0; font-weight: 600; color: var(--ink); line-height: 1.35; }
@media (max-width: 760px) { .facts-list { grid-template-columns: 1fr 1fr; } }

.disclaimer-top { font-size: 1rem; line-height: 1.5; color: var(--ink); background: var(--grey-50); border-left: 5px solid var(--navy); padding: 12px 16px; margin: 20px 0 0; }
.featured { margin: 0 0 28px; }
.featured img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; }

.contents { margin: 0 0 36px; max-width: var(--measure); }
.contents-title { font-size: 1.125rem; margin: 0 0 8px; }
.contents ol { list-style: none; margin: 0; padding: 0; }
.contents li { position: relative; padding-left: 24px; margin: 0 0 6px; }
.contents li::before { content: "\2014"; position: absolute; left: 0; color: var(--muted); }

/* ---------- prose ---------- */
.prose { max-width: var(--measure); }
.page-wide .prose { max-width: none; }
.page-wide .prose > p { max-width: var(--measure); }
.prose > :first-child { margin-top: 0; }
.prose h2 { margin-top: 1.9em; }
.prose h3 { margin-top: 1.6em; }
.prose ul, .prose ol { padding-left: 1.25em; margin: 0 0 1.1em; }
.prose li { margin-bottom: .45em; }
.prose li > ul, .prose li > ol { margin-top: .45em; }
.prose blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--line); color: var(--ink); }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 2.4em 0; }
.prose strong { color: var(--ink); }
.table-wrap { overflow-x: auto; margin: 1.4em 0 1.8em; }
.prose table, .compare-table { border-collapse: collapse; width: 100%; font-size: 1rem; line-height: 1.45; min-width: 540px; }
.prose th, .prose td, .compare-table th, .compare-table td { text-align: left; padding: 12px 14px 12px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.prose thead th, .compare-table thead th { color: var(--navy); font-weight: 700; border-bottom: 2px solid var(--navy); }
.prose th:last-child, .prose td:last-child { padding-right: 0; }
.prose h2#sources + ul, .prose h2#sources + ol { font-size: 1rem; color: var(--muted); }
.prose h2#sources + ol li, .prose h2#sources + ul li { margin-bottom: .6em; }
.prose h2#frequently-asked-questions ~ h3 { font-size: 1.1875rem; margin-top: 1.4em; padding-top: 1.1em; border-top: 1px solid var(--line-soft); }

/* ---------- callouts (one system: tinted panel + left rule) ---------- */
.callout { margin: 1.8em 0; padding: 18px 22px; background: var(--grey-50); border-left: 5px solid var(--muted); }
.callout > :first-child { margin-top: 0; }
.callout > :last-child { margin-bottom: 0; }
.callout-title { font-weight: 700; color: var(--navy); font-size: 1.1875rem; margin: 0 0 .4em; }
.callout-key { background: var(--navy-50); border-left-color: var(--navy); }
.callout-info { background: var(--grey-50); border-left-color: var(--link); }
.callout-warning { background: var(--yellow-50); border-left-color: var(--yellow-edge); }
.callout-urgent { background: var(--red-50); border-left-color: var(--red); }
.callout-urgent .callout-title { color: var(--red); }
.callout-disclaimer { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--muted); font-size: 1rem; }
.callout-disclaimer ul { padding-left: 1.2em; }

/* ---------- call to action ---------- */
.cta-box { display: grid; grid-template-columns: 1fr auto; gap: 16px 32px; align-items: center; margin: 2.2em 0; padding: 24px; background: #fff; border: 2px solid var(--navy); }
.cta-title { color: var(--navy); margin: 0 0 .3em; font-size: 1.3125rem; font-weight: 700; line-height: 1.25; }
.cta-box p { margin: 0; }
.cta-box .tiny { margin-top: 10px; }
@media (max-width: 640px) { .cta-box { grid-template-columns: 1fr; padding: 20px; } .cta-box .btn { width: 100%; } }

/* ---------- end-of-article trust blocks ---------- */
.author-box { display: grid; grid-template-columns: 72px 1fr; gap: 16px; align-items: start; margin: 48px 0 0; padding-top: 24px; border-top: 1px solid var(--line); max-width: var(--measure); }
.author-box img { width: 72px; height: 72px; border-radius: 50%; background: var(--grey-50); }
.author-box p { margin: 0 0 8px; }
.author-box-label { font-size: .9375rem; color: var(--muted); margin: 0 !important; }
.author-box-name { font-weight: 700; color: var(--navy); font-size: 1.1875rem; margin: 0 !important; }
.author-box-role { color: var(--muted); font-size: 1rem; }
.trust-box { margin: 32px 0 0; padding: 22px 24px; background: var(--grey-50); border-top: 4px solid var(--navy); max-width: var(--measure); font-size: 1rem; }
.trust-box h2 { margin: 0 0 .6em; font-size: 1.3125rem; }
.trust-box ul { margin: 0 0 1em; padding-left: 1.2em; }
.trust-box li { margin-bottom: .5em; }
.trust-box p:last-child { margin: 0; }
.related { margin-top: 48px; max-width: var(--measure); }
.related h2 { margin-top: 0; font-size: 1.5rem; }

/* ---------- sidebar ---------- */
.side-free { font-size: 1rem; background: var(--grey-50); border: 1px solid var(--line-soft); padding: 16px 18px; }
.side-free p { margin: 0; }
.side-meta { font-size: .9375rem; color: var(--muted); padding: 0 2px; }
.side-meta p { margin: 0 0 6px; }

/* ---------- lists of articles (replaces card grids) ---------- */
.post-list, .prose .post-list { list-style: none; margin: 0 0 1.5em; padding: 0; border-top: 1px solid var(--line); }
.post-list--2col { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
.post-list--2col > li:nth-child(-n+2) { border-top: 0; }
.post-row { padding: 18px 0 20px; border-bottom: 1px solid var(--line-soft); margin: 0 !important; }
.post-row-meta { font-size: .9375rem; color: var(--muted); margin: 0 0 4px; }
.post-row h3 { font-size: 1.1875rem; margin: 0 0 6px; line-height: 1.3; }
.post-row h3 a { color: var(--link); font-weight: 700; }
.post-row p:last-child { margin: 0; color: var(--body); font-size: 1rem; }
@media (max-width: 760px) { .post-list--2col { grid-template-columns: 1fr; } }

/* Topic navigation */
.chips { margin: 8px 0 32px; padding: 18px 22px; background: var(--grey-50); border: 1px solid var(--line-soft); }
.chips-title { font-weight: 700; color: var(--navy); margin: 0 0 8px; }
.chips ul { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 32px; }
.chips li { margin: 0 0 6px; break-inside: avoid; }
.chips a[aria-current="page"] { color: var(--ink); font-weight: 700; text-decoration: none; }
@media (max-width: 760px) { .chips ul { columns: 2; column-gap: 16px; } }
.lede-sm { font-size: 1.1875rem; color: var(--body); max-width: var(--measure); }
.section-intro { color: var(--muted); max-width: var(--measure); margin-top: -.2em; }
.index-section { margin-top: 8px; }
.index-section h2 { margin-top: 1.6em; }
.more-link { font-weight: 700; }

/* ---------- home ---------- */
.hero { background: var(--grey-50); border-bottom: 1px solid var(--line-soft); padding: 44px 0 56px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: start; }
.hero h1 { font-size: 2.75rem; margin: 0 0 .4em; max-width: 18ch; }
.hero .lede { margin-bottom: 1.2em; }
.hero-points { list-style: none; margin: 0 0 24px; padding: 0; }
.hero-points li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.hero-points li::before { content: ""; position: absolute; left: 2px; top: .45em; width: 7px; height: 12px; border-right: 3px solid var(--navy); border-bottom: 3px solid var(--navy); transform: rotate(45deg); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; margin: 0 0 20px; }
.hero-note { font-size: 1rem; color: var(--muted); max-width: 52ch; }
@media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 32px; } .hero { padding: 28px 0 40px; } .hero h1 { font-size: 2.125rem; } }

.notice { display: flex; gap: 12px 20px; align-items: baseline; flex-wrap: wrap; border: 1px solid var(--line); border-left: 6px solid var(--navy); background: #fff; padding: 14px 20px; margin: 32px 0 0; }
.notice-label { font-weight: 700; color: var(--navy); }
.notice p { margin: 0; flex: 1 1 420px; }

.section { padding: 56px 0; }
.section-tight { padding: 36px 0 8px; }
.section-soft { background: var(--grey-50); border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.section-head { max-width: 760px; margin-bottom: 28px; }
.section-head h2 { margin-top: 0; }
.section-head p { color: var(--body); font-size: 1.125rem; margin: 0; }
.section-foot { margin: 24px 0 0; }
@media (max-width: 640px) { .section { padding: 40px 0; } }

.doorstep { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 16px 40px; }
.doorstep h2 { margin-top: 0; font-size: 1.5rem; color: var(--red); }
.doorstep ol { margin: 0; padding-left: 1.3em; }
.doorstep li { margin-bottom: 8px; }
@media (max-width: 900px) { .doorstep { grid-template-columns: 1fr; } }

/* Key figures: a sourced list rather than decorative tiles */
.figures { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px 32px; }
.figures li { border-top: 3px solid var(--navy); padding-top: 14px; }
.figure-num { display: block; font-size: 2.125rem; font-weight: 700; color: var(--navy); line-height: 1.1; }
.figure-text { display: block; margin: 8px 0 10px; }
.figure-src { display: block; font-size: .9375rem; color: var(--muted); }
.figure-src a { color: var(--muted); }
@media (max-width: 960px) { .figures { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .figures { grid-template-columns: 1fr; } }

.compare-table { min-width: 760px; background: #fff; }
.compare-table th[scope="row"] { color: var(--navy); font-weight: 700; }
.compare-table td:last-child, .compare-table th:last-child { white-space: nowrap; }
.section-soft .table-wrap { background: #fff; padding: 4px 20px 8px; border: 1px solid var(--line-soft); }
.yes, .no, .partly { font-weight: 700; }
.yes { color: var(--navy); }
.no { color: var(--red); }
.partly { color: var(--ink); }

.split { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 24px 56px; align-items: start; }
.split > div > h2:first-child { margin-top: 0; }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; } }
.rights { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.rights li { border-top: 1px solid var(--line); padding: 14px 0 16px; }
.rights strong { display: block; color: var(--navy); }
@media (max-width: 640px) { .rights { grid-template-columns: 1fr; } }

.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 32px; counter-reset: step; }
.steps li { counter-increment: step; border-top: 3px solid var(--navy); padding-top: 12px; }
.steps li::before { content: "Step " counter(step); display: block; font-weight: 700; color: var(--muted); font-size: .9375rem; margin-bottom: 4px; }
.steps h3 { margin: 0 0 .35em; font-size: 1.1875rem; }
.steps p { margin: 0; }
@media (max-width: 760px) { .steps { grid-template-columns: 1fr; } }

.disclosure { background: #fff; border: 1px solid var(--line); border-left: 5px solid var(--navy); padding: 16px 20px; margin-top: 28px; }
.disclosure p { margin: 0; }

.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 40px; }
.trust-grid > div { border-top: 1px solid var(--line); padding-top: 16px; }
.trust-grid h3 { margin: 0 0 .4em; font-size: 1.1875rem; }
.trust-grid p { margin: 0 0 .7em; }
.trust-person { display: flex; gap: 12px; align-items: center; margin-bottom: 10px; }
.trust-person img { width: 56px; height: 56px; border-radius: 50%; background: #fff; }
.trust-person p { margin: 0; line-height: 1.35; }
@media (max-width: 900px) { .trust-grid { grid-template-columns: 1fr; } }
.independence { margin-top: 32px; padding: 18px 22px; border: 1px solid var(--line); border-left: 5px solid var(--navy); background: #fff; }
.independence p { margin: 0; }

.link-list, .prose .link-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; border-top: 1px solid var(--line); }
.link-list li { padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
.link-list a { font-weight: 700; }
.link-list p { margin: 4px 0 0; font-size: 1rem; color: var(--body); }
@media (max-width: 760px) { .link-list { grid-template-columns: 1fr; } }

.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 14px 36px 14px 0; font-weight: 700; color: var(--navy); cursor: pointer; list-style: none; position: relative; }
.faq-list summary:hover { text-decoration: underline; text-underline-offset: .15em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: ""; position: absolute; right: 6px; top: 20px; width: 8px; height: 8px; border-right: 2px solid var(--navy); border-bottom: 2px solid var(--navy); transform: rotate(45deg); }
.faq-list details[open] summary::after { transform: rotate(-135deg); top: 24px; }
.faq-list details p { margin: 0 0 16px; }

/* ---------- footer ---------- */
.site-footer { background: var(--navy); color: #d7dfea; padding: 48px 0 32px; font-size: 1rem; }
.site-footer a { color: #fff; }
.site-footer a:hover { color: #fff; text-decoration-thickness: 2px; }
.site-footer a:focus-visible { color: var(--navy); }
.footer-independence { border: 1px solid rgba(255, 255, 255, .4); padding: 18px 22px; margin-bottom: 40px; }
.footer-independence h2 { color: #fff; font-size: 1.1875rem; margin: 0 0 6px; }
.footer-independence p { margin: 0; max-width: 980px; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(255, 255, 255, .25); }
.footer-grid h2 { color: #fff; font-size: 1.0625rem; margin: 0 0 12px; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-grid li { margin-bottom: 8px; line-height: 1.4; }
.footer-logo { height: 40px; width: auto; margin-bottom: 14px; display: block; }
.footer-contact p { margin: 0 0 10px; }
.footer-contact dl { margin: 0; }
.footer-contact dt { color: #b9c5d6; font-size: .9375rem; }
.footer-contact dd { margin: 0 0 10px; color: #fff; }
.footer-legal { padding-top: 24px; font-size: .9375rem; color: #c3cddb; }
.footer-legal p { max-width: 1000px; }
.legal-links { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; padding: 0; margin: 18px 0; }
.legal-links .link-button { color: #fff; font-size: .9375rem; }
@media (max-width: 960px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .footer-grid { grid-template-columns: 1fr; } }

/* ---------- cookie banner: full-width bar ---------- */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; background: #fff; border-top: 4px solid var(--navy); box-shadow: 0 -2px 10px rgba(11, 37, 69, .12); padding: 18px 0; z-index: 200; font-size: 1rem; }
.cookie-banner .container { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 32px; align-items: center; }
.cookie-banner h2 { margin: 0 0 4px; font-size: 1.1875rem; }
.cookie-banner p { margin: 0; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 760px) { .cookie-banner .container { grid-template-columns: 1fr; } }

/* ---------- enquiry form (all placements) ---------- */
.lead-widget { background: #fff; color: var(--ink); border: 1px solid var(--line); border-top: 5px solid var(--navy); padding: 22px 24px 20px; }
.form-heading { font-size: 1.375rem; font-weight: 700; color: var(--navy); margin: 0 0 2px; line-height: 1.25; }
.form-sub { font-size: 1rem; color: var(--muted); margin: 0 0 16px; }
.progress { height: 6px; background: var(--line-soft); overflow: hidden; margin-bottom: 8px; }
.progress span { display: block; height: 100%; width: 0; background: var(--navy); transition: width .25s; }
.progress-label { display: flex; justify-content: space-between; gap: 8px; font-size: .9375rem; color: var(--muted); margin-bottom: 16px; }
.req-note { margin: 0; font-size: .9375rem; color: var(--muted); }
.req { color: var(--red); font-weight: 700; }
.step-panel { border: 0; padding: 0; margin: 0; min-width: 0; }
.step-panel legend { font-size: 1.1875rem; font-weight: 700; color: var(--navy); margin-bottom: 12px; padding: 0; line-height: 1.3; }
.choices { display: grid; gap: 8px; margin-bottom: 4px; }
.choices--row { grid-template-columns: repeat(5, 1fr); }
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; inset: 0; cursor: pointer; margin: 0; }
.choice span { display: block; position: relative; border: 1px solid var(--field-border); border-radius: var(--radius); padding: 11px 14px 11px 46px; font-weight: 600; color: var(--ink); background: #fff; cursor: pointer; line-height: 1.3; }
.choice span::before { content: ""; position: absolute; left: 14px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border: 2px solid var(--ink); border-radius: 50%; background: #fff; }
.choice input[type="checkbox"] + span::before { border-radius: 2px; }
.choice:hover span { border-color: var(--navy); background: var(--grey-50); }
.choice input:checked + span { border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); background: var(--navy-50); }
.choice input:checked + span::before { border-color: var(--navy); background: var(--navy); box-shadow: inset 0 0 0 4px #fff; }
.choice input:focus-visible + span { outline: 3px solid var(--yellow); outline-offset: 0; box-shadow: 0 0 0 5px var(--navy); }
.choices--row .choice span { padding: 11px 4px; text-align: center; }
.choices--row .choice span::before { display: none; }
.field { margin-bottom: 16px; }
.field label { display: block; font-weight: 700; color: var(--ink); margin-bottom: 6px; line-height: 1.35; }
.field input, .field select, .field textarea { width: 100%; font: inherit; font-size: 1.0625rem; padding: 10px 12px; border: 1px solid var(--field-border); border-radius: var(--radius); background: #fff; color: var(--ink); }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid var(--yellow); outline-offset: 0; border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: end; }
.field-hint { font-size: .9375rem; color: var(--muted); margin: 4px 0 0; }
.consent { display: flex; gap: 12px; align-items: flex-start; font-size: .9375rem; line-height: 1.45; background: var(--grey-50); border: 1px solid var(--line-soft); padding: 12px 14px; margin-bottom: 12px; }
.consent input { margin-top: 2px; width: 22px; height: 22px; flex-shrink: 0; accent-color: var(--navy); }
.form-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 20px; }
.form-nav [data-next], .form-nav [data-submit] { margin-left: auto; }
.form-error { color: var(--red); font-weight: 700; font-size: 1rem; margin: 10px 0 0; padding-left: 12px; border-left: 4px solid var(--red); }
.form-disclaimer { font-size: .875rem; color: var(--muted); line-height: 1.45; margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.hp { position: absolute; left: -5000px; }
.result-panel .callout { margin: 1.2em 0; }
.lead-widget.is-done-elsewhere .lead-form { opacity: .55; }
@media (max-width: 520px) { .field-row { grid-template-columns: 1fr; } .lead-widget { padding: 18px 16px; } }

/* compact placements */
.lead-widget--sidebar .choice span, .lead-widget--hero .choice span { padding: 9px 12px 9px 42px; font-size: 1rem; }
.lead-widget--sidebar .choice span::before, .lead-widget--hero .choice span::before { left: 12px; width: 18px; height: 18px; margin-top: -9px; }
.lead-widget--sidebar .choices--row .choice span, .lead-widget--hero .choices--row .choice span { padding: 9px 2px; }
.lead-widget--sidebar .field-row { grid-template-columns: 1fr; gap: 0; }
.lead-widget--sidebar .step-panel legend { font-size: 1.0625rem; }
.lead-widget--sidebar .form-heading { font-size: 1.25rem; }
.lead-widget--sidebar { padding: 18px 18px 16px; }
.lead-widget--sidebar .consent { font-size: .875rem; }
.inline-form { margin: 48px 0 0; display: none; }
@media (max-width: 1000px) { .inline-form { display: block; } }

/* get-help page */
.lead-shell { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
@media (max-width: 960px) { .lead-shell { grid-template-columns: 1fr; } }
.lead-aside { display: grid; gap: 16px; }
.lead-aside .panel { border: 1px solid var(--line); padding: 18px 20px; background: #fff; font-size: 1rem; }
.lead-aside .panel h2 { font-size: 1.125rem; margin: 0 0 8px; }
.lead-aside .panel ul { padding-left: 1.2em; margin: 0 0 10px; }
.lead-aside .panel-urgent { background: var(--red-50); border-color: var(--red-50); border-left: 5px solid var(--red); }
.lead-aside .panel-urgent h2 { color: var(--red); }
.lead-aside .panel-quiet { background: var(--grey-50); border-color: var(--line-soft); }
.trust-list { list-style: disc; padding-left: 1.2em !important; margin: 0; }
.trust-list li { margin-bottom: 6px; }

/* mobile call-to-action bar */
.mobile-cta { display: none; }
@media (max-width: 1000px) {
  .mobile-cta { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff; border-top: 1px solid var(--line); padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); transition: transform .2s; }
  .mobile-cta .btn { width: 100%; flex-wrap: wrap; gap: 0 6px; padding: 10px 16px; }
  .mobile-cta .btn span { font-weight: 400; }
  .mobile-cta.is-hidden { transform: translateY(110%); pointer-events: none; }
  body { padding-bottom: 72px; }
  body.type-form { padding-bottom: 0; }
}

/* ---------- calculator ---------- */
.calc { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--navy); padding: 22px 24px; margin: 1.6em 0; }
.calc-title { margin: 0 0 .3em; font-size: 1.375rem; font-weight: 700; color: var(--navy); }
.calc-result { margin-top: 16px; }
.calc-result table { min-width: 0; }
.calc-total td { font-weight: 700; color: var(--navy); }
.calc-note { font-size: 1rem; background: var(--grey-50); border-left: 5px solid var(--navy); padding: 12px 16px; margin: 16px 0 0; }

/* ---------- authors ---------- */
.author-profile { display: grid; grid-template-columns: 180px 1fr; gap: 32px; align-items: start; max-width: 900px; }
.author-profile img { border-radius: 50%; background: var(--grey-50); }
.author-role { color: var(--muted); font-weight: 600; font-size: 1.125rem; }
.prose .topic-list, .topic-list { columns: 2; column-gap: 40px; padding-left: 1.2em; }
.topic-list li { break-inside: avoid; }
@media (max-width: 640px) { .author-profile { grid-template-columns: 1fr; } .author-profile img { width: 140px; height: 140px; } .prose .topic-list, .topic-list { columns: 1; } }

.sitemap-list { columns: 2; column-gap: 40px; }
@media (max-width: 640px) { .sitemap-list { columns: 1; } }

/* ---------- diagrams ---------- */
.diagram { margin: 2em 0; padding: 20px 22px; border: 1px solid var(--line); background: #fff; max-width: var(--measure); }
.diagram-title { font-weight: 700; color: var(--navy); font-size: 1.125rem; margin: 0 0 16px; line-height: 1.35; }
.diagram-caption { font-size: .9375rem; color: var(--muted); margin: 16px 0 0; }
.prose .flow, .prose .checklist, .prose .flow-options { padding-left: 0; }
.flow { list-style: none; margin: 0; padding: 0; counter-reset: flow; display: grid; gap: 18px; }
.flow-step { counter-increment: flow; position: relative; background: var(--grey-50); border-left: 4px solid var(--navy); padding: 10px 14px 10px 52px; display: grid; gap: 2px; margin: 0 !important; }
.flow-step::before { content: counter(flow); position: absolute; left: 14px; top: 10px; width: 26px; height: 26px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .875rem; }
.flow-step:not(:last-child)::after { content: ""; position: absolute; left: 26px; bottom: -18px; width: 2px; height: 18px; background: var(--line); }
.flow-label { font-weight: 700; color: var(--navy); }
.flow-note { font-size: 1rem; color: var(--body); }
.flow-step--warn { background: var(--red-50); border-left-color: var(--red); }
.flow-step--warn::before { background: var(--red); }
.flow-step--good { background: var(--navy-50); border-left-color: var(--navy); }
.flow-step--good .flow-label::after { content: " \2014 recommended"; font-weight: 400; color: var(--muted); }
.flow-options { list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 6px; }
.flow-options li { margin: 0 !important; background: #fff; border: 1px solid var(--line-soft); padding: 7px 10px; font-size: .9375rem; font-weight: 600; color: var(--ink); }
.flow-aside { margin-top: 16px; background: var(--yellow-50); border-left: 4px solid var(--yellow-edge); padding: 10px 14px; font-size: 1rem; }
.checklist { list-style: none; counter-reset: c; padding: 0; margin: 0; display: grid; gap: 8px; }
.checklist li { counter-increment: c; background: var(--grey-50); border-left: 4px solid var(--navy); padding: 10px 14px 10px 52px; position: relative; margin: 0 !important; font-weight: 600; color: var(--ink); }
.checklist li::before { content: counter(c); position: absolute; left: 14px; top: 10px; width: 26px; height: 26px; border-radius: 50%; border: 2px solid var(--navy); color: var(--navy); display: grid; place-items: center; font-weight: 700; font-size: .875rem; }
.check-result { margin-top: 14px; background: var(--navy-50); padding: 12px 16px; font-size: 1rem; }
.split-diagram { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.split-col { background: var(--grey-50); border-top: 4px solid var(--navy); padding: 12px 16px; }
.split-col--warn { background: var(--red-50); border-top-color: var(--red); }
.split-head { font-weight: 700; color: var(--navy); margin: 0; }
.split-col--warn .split-head { color: var(--red); }
.split-sub { font-size: .9375rem; color: var(--muted); margin: 0 0 8px; }
.split-col ul { margin: 0; padding-left: 1.1em; font-size: 1rem; }
.split-col li { margin-bottom: 4px; }
.matrix { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; }
.matrix-cell { background: var(--grey-50); border-top: 3px solid var(--navy); padding: 10px 14px; }
.matrix-cell p { margin: 0; font-size: 1rem; }
.matrix-head { font-weight: 700; color: var(--navy); margin-bottom: 4px !important; }
.matrix-cell--accent { background: var(--navy-50); }
@media (max-width: 560px) { .split-diagram { grid-template-columns: 1fr; } .diagram { padding: 16px; } }

/* ---------- print and motion ---------- */
@media print {
  .site-notice, .site-header, .site-footer, .sidebar, .cookie-banner, .cta-box, .related, .inline-form, .mobile-cta { display: none !important; }
  .article-layout { display: block; }
  a { color: inherit; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
