@font-face {
  font-family: 'Bricolage Grotesque';
  src: url('./fonts/bricolage-grotesque.woff2') format('woff2');
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
}
@font-face {
  font-family: 'Public Sans';
  src: url('./fonts/public-sans.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  color-scheme: dark;
  --bg: #0a101d;
  --panel: #111c2c;
  --panel-2: #162337;
  --panel-3: #1b293b;
  --inset: #0d1726;
  --line: #25344a;
  --line-strong: #394c66;
  --ink: #eef3fa;
  --text-2: #b1c1d4;
  --muted: #95a6bd;
  --faint: #7e94b0;
  --cyan: #67e4dc;
  --cyan-text: #8aeee6;
  --violet: #b2a6ff;
  --amber: #e9c98b;
  --on-cyan: #062a30;
  /* Editorial score bands; independent of action and evidence-status hues. */
  --score-excellent: #8be0af;
  --score-strong: #95caff;
  --score-positive: #edd18e;
  --score-mixed: #f4b58d;
  --score-low: #f2a7b7;
  --brand-paper: #fff;
  --r-1: 6px; --r-2: 10px; --r-3: 14px; --r-pill: 999px;
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px;
  --s-5: 24px; --s-6: 32px; --s-7: 48px; --s-8: 72px;
  --t-xs: 14px; --t-sm: 14px; --t-md: 16px; --t-base: 18px;
  --t-lg: 20px; --t-xl: 24px; --t-2xl: 30px; --t-3xl: 38px;
  --t-h1: clamp(36px, 24px + 2.5vw, 60px);
  --t-hero: clamp(44px, 24px + 3.2vw, 70px);
  --t-card: clamp(24px, 20px + .5vw, 28px);
  --t-price: clamp(36px, 24px + 1.5vw, 48px);
  --leading-body: 1.7; --leading-heading: 1.15; --leading-ui: 1.5;
  --w-narrow: 1008px; --w-content: 1536px; --w-wide: 1760px;
  --w-card: 448px;
  --gutter: clamp(20px, 4vw, 32px);
  --target: 44px;
  --comparison-label: calc(var(--w-narrow) / 6);
  --comparison-cell: calc(var(--w-narrow) / 4);
  --logging-provider-width: calc(var(--w-card) / 2);
  --icon-xs: 16px; --icon-sm: 20px; --icon-md: 24px; --icon-lg: 32px;
  --heading: 'Bricolage Grotesque', system-ui, sans-serif;
  --body: 'Public Sans', system-ui, sans-serif;
  --mono: ui-monospace, 'Cascadia Code', 'Liberation Mono', monospace;
  font: var(--t-base)/1.6 var(--body);
  font-synthesis: none;
  font-optical-sizing: auto;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--s-8) + var(--s-7));
  scrollbar-color: var(--line-strong) var(--bg);
}
* { box-sizing: border-box; }
body { margin: 0; background: radial-gradient(ellipse at 82% 5%, color-mix(in srgb, var(--panel-2) 33.3%, transparent), transparent 34%), var(--bg); color: var(--ink); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--cyan); }
button, input, select { font: inherit; }
button, select, input[type=checkbox] { cursor: pointer; }
button { color: inherit; }
a, button, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--cyan); margin: 0; flex-shrink: 0; }
button:disabled { cursor: default; }
[hidden] { display: none !important; }
h1, h2, h3, h4 { font-family: var(--heading); text-wrap: balance; }
.icon { width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
.icon use { pointer-events: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -var(--s-1); overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -70px; left: 20px; z-index: 40; background: var(--cyan); color: var(--bg); padding: var(--s-3) var(--s-5); border-radius: var(--r-1); }
.skip-link:focus { top: 10px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); padding: var(--s-2) max(var(--gutter),calc((100% - var(--w-wide))/2 + var(--gutter))); border-bottom: 1px solid var(--line); color: var(--text-2); font: var(--t-sm)/1.5 var(--body); }
.topbar>span { letter-spacing: 1.7px; font-size: var(--t-xs); font-weight: 600; }
.topbar a { text-decoration: none; }
.topbar a>span { color: var(--cyan); margin-left: var(--s-2); }

.brand { display: inline-flex; align-items: center; color: var(--ink); font: 700 var(--t-2xl)/1 var(--heading); letter-spacing: -1.1px; text-decoration: none; white-space: nowrap; }
.brand-light { font-weight: 500; color: var(--text-2); }
.brand-dot { color: var(--cyan); }
.brand-icon { display: grid; place-items: center; width: 39px; height: 43px; background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); color: var(--cyan); margin-right: var(--s-3); transform: rotate(-5deg); }
.brand-icon .icon { width: 25px; height: 25px; }

.shortlist-link { display: flex; gap: var(--s-2); align-items: center; text-decoration: none; border: 1px solid var(--line-strong); background: var(--panel); border-radius: var(--r-1); padding: var(--s-3) var(--s-3); font-size: var(--t-md); font-weight: 600; white-space: nowrap; }
.shortlist-link .icon { width: 16px; height: 16px; color: var(--text-2); }
.shortlist-link>span { min-width: 21px; text-align: center; background: var(--panel-3); color: var(--cyan); border-radius: var(--r-1); font-size: var(--t-sm); line-height: 21px; }
.hero { position: relative; isolation: isolate; max-width: var(--w-wide); margin: auto; padding: var(--s-8) var(--s-6) var(--s-7); display: grid; grid-template-columns: 1.12fr 1fr; align-items: center; gap: var(--s-7); min-height: 540px; }
.hero:before { content: ''; position: absolute; inset: 0; z-index: -2; background: url('./circuit.svg') center / cover no-repeat; pointer-events: none; }
.eyebrow { color: var(--cyan); font-size: var(--t-sm); font-weight: 600; letter-spacing: 1.9px; line-height: 1.7; margin: 0 0 var(--s-4); }
.tiny-dot { display: inline-block; width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; margin-right: var(--s-2); box-shadow: 0 0 12px color-mix(in srgb, var(--cyan) 26.7%, transparent); flex-shrink: 0; }
.hero h1 { font-size: var(--t-hero); font-weight: 700; line-height: 1.07; letter-spacing: -2.5px; margin: var(--s-5) 0; }
.hero h1>span { color: var(--cyan); }
.hero-intro { color: var(--text-2); font-size: var(--t-lg); line-height: 1.85; max-width: 450px; margin: 0 0 var(--s-6); }
.hero-actions { display: flex; gap: var(--s-5); align-items: center; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-5); padding: var(--s-3) var(--s-5); border: 1px solid transparent; border-radius: var(--r-1); font-size: var(--t-md); line-height: 1.5; font-weight: 650; text-decoration: none; transition: background .18s, border-color .18s, transform .18s; }
.button-dark, .button-lime { color: var(--on-cyan); background: var(--cyan); border-color: var(--cyan); box-shadow: 0 2px 0 var(--line-strong); }
.button-dark:hover, .button-lime:hover { color: var(--on-cyan); background: var(--cyan-text); border-color: var(--cyan); transform: translateY(-1px); }
.button-outline { background: var(--panel); color: var(--ink); border-color: var(--line-strong); box-shadow: none; }
.button-outline:hover { background: var(--panel-2); color: var(--cyan); border-color: var(--line-strong); }
.quiet-link { font-size: var(--t-md); font-weight: 500; text-decoration: none; color: var(--text-2); }
.hero-principles { display: flex; flex-wrap: wrap; gap: var(--s-4); margin-top: var(--s-6); color: var(--muted); font-size: var(--t-sm); }
.hero-principles>span { display: flex; align-items: center; gap: var(--s-2); }
.hero-principles .icon { width: 15px; height: 15px; color: var(--muted); }
.hero-art { position: relative; min-height: 430px; padding-top: var(--s-8); display: flex; align-items: flex-end; justify-content: center; isolation: isolate; }
.hero-art:before { content: ''; position: absolute; inset: -50px -15px -20px; background-image: linear-gradient(color-mix(in srgb, var(--line-strong) 3.9%, transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb, var(--line-strong) 3.9%, transparent) 1px,transparent 1px),radial-gradient(ellipse at 45% 35%, color-mix(in srgb, var(--panel-3) 18.8%, transparent), transparent 65%); background-size: 28px 28px,28px 28px,100% 100%; mask-image: radial-gradient(ellipse at center,var(--ink) 25%,transparent 73%); z-index: -1; pointer-events: none; }
.network-globe { position: absolute; top: -37px; right: -15px; width: calc(100% + 30px); height: 275px; z-index: -1; }
.cost-receipt { width: 365px; max-width: 100%; background: linear-gradient(120deg,var(--panel-2),var(--panel)); border: 1px solid var(--line-strong); border-radius: var(--r-3); box-shadow: 0 25px 65px #0005, 0 1px 0 color-mix(in srgb, var(--line-strong) 2.4%, transparent) inset; position: relative; }
.cost-receipt:before { content: ''; position: absolute; height: 2px; top: -1px; left: 25px; right: 25px; background: linear-gradient(90deg,transparent,var(--cyan),var(--line-strong),transparent); }
.receipt-head { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-4) var(--s-5); border-bottom: 1px solid color-mix(in srgb, var(--line-strong) 60.0%, transparent); font-size: var(--t-xs); font-weight: 600; letter-spacing: .8px; color: var(--text-2); }
.receipt-head .icon { width: 14px; height: 14px; color: var(--cyan); }
.receipt-head>span { margin-left: auto; color: var(--muted); font-size: var(--t-xs); }
.receipt-main { padding: var(--s-4) var(--s-5) var(--s-4); }
.receipt-main>div:first-child { display: flex; align-items: center; justify-content: space-between; }
.receipt-provider { margin: 0; font: 650 var(--t-xl)/1.4 var(--heading); letter-spacing: -.3px; }
.receipt-provider>span { display: block; color: var(--muted); font: var(--t-sm)/1.6 var(--body); margin-top: var(--s-1); }
.receipt-source { display: grid; place-items: center; border: 1px solid var(--line-strong); width: 28px; height: 28px; border-radius: var(--r-1); text-decoration: none; font-size: var(--t-lg); color: var(--text-2); }
.receipt-price { display: flex; align-items: center; gap: var(--s-3); margin-top: var(--s-3); color: var(--ink); font: 700 var(--t-hero)/1.1 var(--heading); letter-spacing: -2px; font-variant-numeric: tabular-nums; }
.receipt-price>span { font: var(--t-sm)/1.9 var(--body); color: var(--text-2); letter-spacing: 0; }
.receipt-price b { display: block; font-size: var(--t-xs); letter-spacing: 1.5px; font-weight: 500; color: var(--muted); }
.receipt-line { display: flex; justify-content: space-between; gap: var(--s-3); padding: var(--s-3) var(--s-5); border-top: 1px solid color-mix(in srgb, var(--line-strong) 33.3%, transparent); font-size: var(--t-md); color: var(--text-2); }
.receipt-line strong { color: var(--text-2); font-weight: 600; }
.receipt-foot { display: flex; align-items: center; justify-content: center; padding: var(--s-3); border-top: 1px solid color-mix(in srgb, var(--line-strong) 33.3%, transparent); color: var(--muted); font-size: var(--t-xs); }
.receipt-foot .tiny-dot { width: 4px; height: 4px; margin-right: var(--s-2); }
.trust-strip { max-width: var(--w-wide); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr 1fr 1.25fr; border: 1px solid var(--line); border-radius: var(--r-2); background: var(--inset); }
.trust-strip>span { display: flex; gap: var(--s-3); align-items: center; padding: var(--s-5) var(--s-5); border-right: 1px solid var(--line); }
.trust-strip b { font: 600 var(--t-3xl)/1 var(--heading); color: var(--text-2); letter-spacing: -1px; }
.trust-strip>span>span { color: var(--text-2); font-size: var(--t-sm); line-height: 1.7; max-width: 100px; }
.trust-strip>a { padding: var(--s-4) var(--s-5); text-decoration: none; font-size: var(--t-md); color: var(--ink); align-self: center; line-height: 1.7; }
.trust-strip>a>span { font-size: var(--t-xs); color: var(--cyan-text); }
.catalog-section, .guides-section { max-width: var(--w-wide); margin: auto; padding: var(--s-8) var(--s-6); }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--s-6); margin-bottom: var(--s-5); }
.section-head .eyebrow { margin-bottom: var(--s-2); }
.section-head .eyebrow { display: flex; align-items: center; gap: var(--s-3); }
.section-head .eyebrow:before { content: ''; width: 24px; height: 7px; flex-shrink: 0; background: radial-gradient(circle at 4px 3.5px,var(--bg) 1.5px,color-mix(in srgb, var(--cyan) 53.3%, transparent) 2px,color-mix(in srgb, var(--cyan) 53.3%, transparent) 3px,transparent 3.5px),linear-gradient(color-mix(in srgb, var(--cyan) 26.7%, transparent),color-mix(in srgb, var(--cyan) 26.7%, transparent)) right center / 17px 1px no-repeat; }
h2 { font-size: var(--t-3xl); font-weight: 650; letter-spacing: -1.1px; line-height: 1.18; margin: 0; }
.section-head>p { color: var(--muted); font-size: var(--t-md); line-height: 1.9; margin: 0; }
.filters { display: flex; gap: 0; align-items: center; padding: var(--s-4) var(--s-4); background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.filters>label { display: flex; flex-direction: column; color: var(--muted); font-size: var(--t-xs); gap: var(--s-2); min-width: 145px; padding: 0 var(--s-4); border-left: 1px solid var(--line); }
.filters>.search-label { flex: 1; flex-direction: row; align-items: center; gap: var(--s-3); min-width: 170px; padding-left: 0; border-left: 0; }
.search-label>span { font-size: var(--t-2xl); line-height: 1; color: var(--cyan-text); }
input[type=search] { width: 100%; min-width: 0; padding: var(--s-3) 0; border: 0; color: var(--ink); background: transparent; font-size: var(--t-md); }
input[type=search]::placeholder { color: var(--muted); }
select { border: 0; max-width: 100%; min-height: 24px; padding-right: var(--s-3); background: transparent; color: var(--text-2); font-size: var(--t-md); }
select option { color: var(--ink); background: var(--panel); }
select option:disabled { color: var(--faint); }
.filter-extras { display: flex; align-items: center; gap: var(--s-5); padding: var(--s-4) 0 var(--s-3); font-size: var(--t-md); color: var(--text-2); }
.filter-extras label { display: flex; gap: var(--s-2); align-items: center; }
.text-button { border: 0; background: transparent; padding: var(--s-1) 0; color: var(--text-2); font-size: var(--t-md); text-decoration: underline; text-underline-offset: 4px; }
.text-button:hover { color: var(--cyan); }
.filter-extras .text-button { margin-left: auto; }
.results-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); color: var(--faint); font-size: var(--t-sm); padding: var(--s-2) 0 var(--s-4); }
.results-meta p { margin: 0; }
.provider-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(min(100%,var(--w-card)),1fr)); gap: var(--s-5); }
.provider-card { --provider: var(--cyan); min-width: 0; border: 1px solid var(--line); border-radius: var(--r-2); background: linear-gradient(125deg,color-mix(in srgb, var(--panel-2) 40.0%, transparent),transparent 65%),var(--panel); padding: var(--s-5); transition: transform .18s, border-color .18s, box-shadow .18s; position: relative; }
.provider-card:hover { border-color: var(--line-strong); transform: translateY(-3px); box-shadow: 0 10px 30px #0002; }
.provider-card:before { content: ''; position: absolute; left: 26px; top: -1px; width: 71px; height: 6px; background: radial-gradient(circle at 68px 2px,var(--line-strong) 1.5px,transparent 2px),linear-gradient(90deg,var(--line-strong),var(--line-strong)) left 1px / 66px 1px no-repeat; opacity: .65; pointer-events: none; }
.provider-card:has(input:checked):before { background: radial-gradient(circle at 68px 2px,var(--cyan) 1.5px,transparent 2px),linear-gradient(90deg,var(--cyan),var(--cyan)) left 1px / 66px 1px no-repeat; opacity: 1; }
.provider-card:has(input:checked) { border-color: var(--cyan); box-shadow: 0 0 0 1px color-mix(in srgb, var(--cyan) 12.5%, transparent); }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); }
.provider-name { display: flex; align-items: center; gap: var(--s-3); min-width: 0; }
.provider-mark { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--r-2); border: 1px solid color-mix(in srgb,var(--provider) 35%,transparent); background: color-mix(in srgb,var(--provider) 12%,var(--panel)); color: var(--provider); font: 750 var(--t-2xl)/1 var(--heading); flex-shrink: 0; letter-spacing: -.7px; }
.mark-expressvpn { --provider: #ff8b86; font-style: italic; }
.mark-nordvpn { --provider: #91adff; }
.mark-pia { --provider: #9bdbab; font-size: var(--t-lg); }
.mark-protonvpn { --provider: #b7a0ff; }
.mark-surfshark { --provider: #6adee0; }
.mark-cyberghost, .mark-hideme, .mark-purevpn, .mark-privadovpn, .mark-privatevpn { --provider: var(--text-2); }
.mark-purevpn, .mark-privadovpn, .mark-privatevpn { font-size: var(--t-lg); }
.provider-name h3 { margin: 0 0 var(--s-1); font-size: var(--t-xl); line-height: 1.2; font-weight: 650; letter-spacing: -.5px; }
.provider-name h3 a { text-decoration: none; }
.provider-name>div>span { display: block; font-size: var(--t-sm); color: var(--text-2); }
.compare-check { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-sm); color: var(--text-2); cursor: pointer; white-space: nowrap; border: 1px solid var(--line-strong); border-radius: var(--r-1); padding: var(--s-2) var(--s-2); background: color-mix(in srgb, var(--inset) 40.0%, transparent); }
.compare-check input { width: 13px; height: 13px; }
.provider-summary { color: var(--text-2); font-size: var(--t-md); line-height: 1.8; min-height: 44px; max-width: 95%; margin: var(--s-5) 0 var(--s-4); }
.price { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--s-2); margin: 0 0 var(--s-4); }
.price strong { font: 700 var(--t-hero)/1.1 var(--heading); font-variant-numeric: tabular-nums; letter-spacing: -1.6px; color: var(--text-2); }
.price span { color: var(--text-2); font-size: var(--t-sm); }
.price .unpriced { font-size: var(--t-3xl); letter-spacing: -.8px; }
.first-bill { padding: var(--s-3) var(--s-3) var(--s-1); margin: 0; border: 1px solid var(--line-strong); border-bottom: 0; border-radius: var(--r-1) var(--r-1) 0 0; background: var(--inset); color: var(--ink); font-size: var(--t-md); font-weight: 550; }
.renewal { padding: 0 var(--s-3) var(--s-3); margin: 0; border: 1px solid var(--line-strong); border-top: 0; border-radius: 0 0 var(--r-1) var(--r-1); background: var(--inset); color: var(--muted); font-size: var(--t-sm); min-height: 28px; }
.card-facts { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-3); margin-top: var(--s-4); font-size: var(--t-sm); color: var(--text-2); }
.card-facts i { color: var(--cyan); font-style: normal; margin-right: var(--s-1); }
.card-facts a { text-decoration: none; color: var(--text-2); }
.card-facts a:hover { color: var(--cyan); }
.card-actions { display: flex; align-items: center; gap: var(--s-5); margin-top: var(--s-5); }
.card-actions .button { flex: 1; padding: var(--s-3) var(--s-4); background: var(--panel-2); border-color: var(--line-strong); color: var(--cyan-text); box-shadow: none; }
.card-actions .button:hover { background: color-mix(in srgb, var(--cyan) 12%, var(--panel)); border-color: var(--line-strong); color: var(--cyan-text); }
.profile-link { color: var(--text-2); font-size: var(--t-md); text-decoration: none; white-space: nowrap; }
.observed { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-xs); color: var(--muted); margin: var(--s-4) 0 0; }
.observed:before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--line-strong); }
.catalog-note { max-width: var(--w-narrow); color: var(--muted); font-size: var(--t-sm); line-height: 1.9; margin: var(--s-5) 0 0; }
.catalog-note a { color: var(--text-2); }
.difference { position: relative; isolation: isolate; overflow: hidden; max-width: var(--w-wide); margin: 0 auto; padding: var(--s-7) var(--s-7); border: 1px solid var(--line-strong); border-radius: var(--r-3); background: radial-gradient(ellipse at 90% 70%,color-mix(in srgb, var(--panel-3) 60.0%, transparent),transparent 55%),linear-gradient(110deg,var(--panel),var(--panel)); }
.difference:before { content: ''; position: absolute; inset: 0; background: url('./circuit.svg') center right / cover no-repeat; opacity: .75; pointer-events: none; z-index: -1; }
.difference .eyebrow { color: var(--text-2); }
.difference h2 { font-size: var(--t-h1); max-width: 650px; }
.difference>p:not(.eyebrow) { max-width: 560px; color: var(--text-2); font-size: var(--t-base); line-height: 1.9; margin: var(--s-4) 0 var(--s-5); }
.guides-section { padding-top: var(--s-8); padding-bottom: var(--s-8); }
.guide-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s-4); }
.guide-tile { --accent: var(--cyan); position: relative; overflow: hidden; display: flex; flex-direction: column; background: linear-gradient(140deg,var(--panel-2),var(--panel) 70%); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--s-5); min-height: 245px; text-decoration: none; transition: border-color .18s,transform .18s; }
.guide-tile:nth-child(2) { --accent: var(--text-2); background: linear-gradient(140deg,var(--panel-2),var(--panel) 70%); }
.guide-tile:nth-child(3) { --accent: var(--text-2); background: linear-gradient(140deg,var(--panel-2),var(--panel) 70%); }
.guide-tile:hover { border-color: color-mix(in srgb,var(--accent) 50%,transparent); transform: translateY(-3px); color: var(--ink); }
.guide-number { color: var(--accent); font-size: var(--t-xs); letter-spacing: 1.2px; font-weight: 500; }
.guide-illustration { position: absolute; width: 53px; height: 53px; right: 20px; top: 30px; color: var(--accent); opacity: .22; transform: rotate(8deg); stroke-width: 1; }
.guide-tile h3 { font-size: var(--t-2xl); font-weight: 600; letter-spacing: -.6px; line-height: 1.18; margin: var(--s-7) 0 var(--s-5); max-width: 260px; }
.guide-tile>span:last-child { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); color: var(--text-2); font-size: var(--t-sm); line-height: 1.7; margin-top: auto; padding-top: var(--s-3); border-top: 1px solid var(--line); }
.guide-tile b { font-size: var(--t-xl); font-weight: 400; color: var(--accent); }
footer { max-width: var(--w-wide); margin: auto; padding: var(--s-6) 0 var(--s-7); border-top: 1px solid var(--line); }
.footer-top, .footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: var(--s-5); }
.footer-top .brand { font-size: var(--t-2xl); }
.footer-top p { color: var(--text-2); font-size: var(--t-md); }
.footer-bottom { margin-top: var(--s-5); color: var(--muted); font-size: var(--t-sm); line-height: 1.8; }
.footer-bottom nav { display: flex; gap: var(--s-5); }
.footer-bottom a { color: var(--muted); text-decoration: none; white-space: nowrap; }
.shortlist-tray { position: fixed; z-index: 20; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: var(--s-5); width: max-content; max-width: calc(100% - 24px); padding: var(--s-3) var(--s-5); border: 1px solid var(--line-strong); border-radius: var(--r-2); color: var(--ink); background: color-mix(in srgb, var(--panel-2) 96.1%, transparent); backdrop-filter: blur(12px); box-shadow: 0 15px 60px #0008; font-size: var(--t-md); }
.shortlist-tray>span strong { color: var(--cyan); }
.shortlist-tray .button { font-size: var(--t-md); padding: var(--s-3) var(--s-4); }
.shortlist-tray .text-button { color: var(--text-2); }
.page-heading { max-width: var(--w-wide); margin: auto; padding: var(--s-7) var(--s-6) var(--s-7); }
.page-heading h1 { max-width: var(--w-narrow); font-size: var(--t-h1); line-height: 1.08; font-weight: 700; letter-spacing: -2px; margin: var(--s-4) 0 var(--s-5); }
.page-heading .lead { max-width: 740px; }
.breadcrumb { display: block; margin-bottom: var(--s-6); color: var(--text-2); text-decoration: none; font-size: var(--t-md); }
.lead { color: var(--text-2); font-size: var(--t-lg); line-height: 1.85; }
.content-section { max-width: var(--w-wide); margin: auto; padding: var(--s-5) var(--s-6) var(--s-7); }
.content-section>h2 { margin-bottom: var(--s-5); }
.small-note, .intro-note { color: var(--text-2); font-size: var(--t-md); line-height: 1.9; }
.small-note { font-size: var(--t-sm); margin-top: var(--s-5); }
.intro-note { max-width: var(--w-narrow); margin: 0 0 var(--s-5); }
.profile-title { display: flex; align-items: center; gap: var(--s-5); }
.profile-title .provider-mark { width: 72px; height: 72px; font-size: var(--t-h1); border-radius: var(--r-3); }
.profile-title .mark-pia { font-size: var(--t-2xl); }
.profile-title .eyebrow { margin: 0 0 var(--s-2); }
.profile-title h1 { margin: 0; }
.profile-notes { display: grid; grid-template-columns: 1fr 1.3fr; gap: var(--s-8); padding-top: var(--s-6); border-top: 1px solid var(--line); }
.profile-notes>div>p { color: var(--text-2); font-size: var(--t-base); line-height: 1.9; margin-top: 0; }
.table-scroll { background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); overflow: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; font-size: var(--t-md); line-height: 1.75; font-variant-numeric: tabular-nums; }
th, td { padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--line); vertical-align: top; min-width: 155px; }
th { background: var(--panel-2); color: var(--text-2); font-size: var(--t-md); font-weight: 600; }
td { color: var(--ink); }
td small { display: block; color: var(--text-2); font-size: var(--t-sm); margin-top: var(--s-1); }
td strong { color: var(--cyan); font-weight: 600; }
td a { color: var(--cyan-text); text-decoration: none; }
tbody tr:last-child td, tbody tr:last-child th { border-bottom: 0; }
tbody tr:hover td { background: color-mix(in srgb, var(--panel-2) 40.0%, transparent); }
.review-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap: var(--s-5); }
.review-card { min-width: 0; background: linear-gradient(125deg,color-mix(in srgb, var(--panel-2) 33.3%, transparent),transparent 75%),var(--panel); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--s-5); }
.review-card .eyebrow { color: var(--text-2); font-size: var(--t-xs); margin-bottom: var(--s-4); }
.review-card h3 { margin: 0 0 var(--s-5); font-weight: 600; font-size: var(--t-2xl); line-height: 1.3; letter-spacing: -.5px; }
.review-card h3 a { text-decoration: none; }
.publisher-score { display: inline-block; padding: var(--s-1) var(--s-2); border: 1px solid var(--line-strong); border-radius: var(--r-1); color: var(--cyan-text); background: var(--panel); font-size: var(--t-sm); margin-bottom: var(--s-2); }
.review-card p:not(.eyebrow) { color: var(--text-2); font-size: var(--t-md); }
.review-card small { display: block; color: var(--muted); font-size: var(--t-sm); line-height: 1.9; }
.prose { max-width: var(--w-narrow); margin: var(--s-3) auto var(--s-8); padding: var(--s-6) var(--s-6); }
.prose.wide { max-width: var(--w-content); }
.prose h1 { color: var(--ink); font-size: var(--t-h1); line-height: 1.1; font-weight: 700; letter-spacing: -1.8px; margin: var(--s-4) 0 var(--s-5); }
.prose h2 { color: var(--text-2); font-size: var(--t-2xl); font-weight: 650; letter-spacing: -.5px; margin: var(--s-6) 0 var(--s-4); }
.prose p:not(.eyebrow):not(.lead) { color: var(--text-2); font-size: var(--t-base); line-height: 1.95; }
.prose .button { margin-top: var(--s-5); }
.prose .table-scroll { margin-top: var(--s-6); }
.notice { padding: var(--s-5); border: 1px solid var(--line-strong); border-left: 3px solid var(--cyan); border-radius: var(--r-1); background: var(--panel); color: var(--text-2); font-size: var(--t-md); line-height: 1.9; }
.empty-state { padding: var(--s-7) var(--s-5); text-align: center; border: 1px dashed var(--line-strong); border-radius: var(--r-2); background: color-mix(in srgb, var(--panel) 40.0%, transparent); }
.empty-state h3 { font-size: var(--t-2xl); font-weight: 600; }
.empty-state p { color: var(--muted); font-size: var(--t-base); }
.compare-picker { display: flex; flex-wrap: wrap; gap: var(--s-3); }
.compare-picker label { display: flex; align-items: center; gap: var(--s-2); border: 1px solid var(--line-strong); border-radius: var(--r-1); background: var(--panel); padding: var(--s-3) var(--s-4); color: var(--text-2); font-size: var(--t-md); cursor: pointer; }
.compare-picker label:has(:checked) { background: color-mix(in srgb, var(--cyan) 12%, var(--panel)); border-color: var(--line-strong); color: var(--cyan-text); }
.compare-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--s-5); margin: var(--s-5) 0; color: var(--text-2); font-size: var(--t-md); }
.compare-toolbar select { margin-left: var(--s-3); background: var(--panel); padding: var(--s-2) var(--s-3); border: 1px solid var(--line-strong); border-radius: var(--r-1); }

/* Privacy intelligence: restrained evidence labels, without a safety ranking. */
.eyes-badge { display: inline-flex; align-items: center; width: max-content; max-width: 100%; border: 1px solid var(--line-strong); border-radius: var(--r-1); background: var(--panel-3); padding: var(--s-1) var(--s-2); color: var(--text-2); font-size: var(--t-xs); font-weight: 550; line-height: 1.4; white-space: nowrap; }
.eyes-five { color: var(--amber); background: var(--panel-2); border-color: var(--line-strong); }
.eyes-nine { color: var(--text-2); background: var(--panel-2); border-color: var(--line-strong); }
.eyes-fourteen { color: var(--text-2); background: var(--panel-2); border-color: var(--line-strong); }
.eyes-outside, .eyes-unknown { color: var(--text-2); background: var(--panel-3); border-color: var(--line-strong); }
.jurisdiction-row { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-3) 0; margin: 0 0 var(--s-5); border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.jurisdiction-row>span:first-child { min-width: 0; flex: 1; }
.jurisdiction-caption { display: block; color: var(--muted); font-size: var(--t-xs); letter-spacing: 1px; margin-bottom: var(--s-1); }
.jurisdiction-row strong { display: block; font-size: var(--t-md); font-weight: 500; line-height: 1.6; color: var(--ink); }
.jurisdiction-row>span:last-child { color: var(--muted); font-size: var(--t-base); }
.jurisdiction-row:hover strong, .jurisdiction-row:hover>span:last-child { color: var(--cyan); }
.jurisdiction-help { margin: 0 0 var(--s-4); max-width: var(--w-content); color: var(--muted); font-size: var(--t-sm); line-height: 1.9; }
.jurisdiction-help a { color: var(--text-2); }
.filters>.eyes-filter { min-width: 185px; }
.privacy-teaser { display: flex; align-items: center; justify-content: space-between; gap: var(--s-6); max-width: var(--w-wide); margin: var(--s-5) auto; padding: var(--s-6) var(--s-6); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: linear-gradient(110deg,var(--panel-2),var(--panel)); }
.privacy-teaser .eyebrow { font-size: var(--t-xs); margin-bottom: var(--s-2); }
.privacy-teaser h2 { font-size: var(--t-3xl); }
.privacy-teaser p:not(.eyebrow) { max-width: 650px; font-size: var(--t-md); color: var(--text-2); line-height: 1.9; margin: var(--s-3) 0 0; }
.privacy-teaser .button { flex-shrink: 0; font-size: var(--t-md); }
.dossier-panel { background: linear-gradient(125deg,color-mix(in srgb, var(--panel-2) 40.0%, transparent),transparent 65%),var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); overflow: hidden; }
.dossier-heading { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); padding: var(--s-4) var(--s-5); border-bottom: 1px solid var(--line); }
.dossier-heading>.eyes-badge { font-size: var(--t-md); }
.dossier-heading>span:last-child:not(.eyes-badge) { margin-left: auto; font-size: var(--t-sm); color: var(--muted); }
.context-tag { font-size: var(--t-sm); color: var(--text-2); }
.dossier-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s-5) var(--s-6); margin: 0; padding: var(--s-5); border-bottom: 1px solid var(--line); }
.dossier-facts>div { min-width: 0; }
.dossier-facts dt { color: var(--text-2); font-size: var(--t-sm); margin-bottom: var(--s-2); }
.dossier-facts dd { margin: 0; color: var(--text-2); font-size: var(--t-base); line-height: 1.7; }
.dossier-notes { padding: 0 var(--s-5); }
.dossier-notes>div { padding: var(--s-5) 0; border-bottom: 1px solid var(--line); }
.dossier-notes h3 { font-size: var(--t-xl); font-weight: 600; letter-spacing: -.4px; margin: 0 0 var(--s-3); }
.dossier-notes p { color: var(--text-2); font-size: var(--t-base); line-height: 1.9; margin: 0 0 var(--s-3); max-width: 960px; }
.evidence-links, .dossier-notes .evidence-links { color: var(--muted); font-size: var(--t-sm); line-height: 1.9; }
.evidence-links a { color: var(--text-2); text-decoration-color: var(--line-strong); }
.evidence-links a:hover { color: var(--cyan); }
.dossier-limit { padding: var(--s-5) var(--s-5); margin: 0; color: var(--text-2); font-size: var(--t-sm); line-height: 1.9; background: color-mix(in srgb, var(--inset) 25.1%, transparent); }
.dossier-limit a { color: var(--cyan-text); }
.intelligence-heading h1>span { color: var(--cyan); }
.intelligence-heading .lead { max-width: 790px; }
.intelligence-nav { display: flex; gap: var(--s-5); flex-wrap: wrap; margin-top: var(--s-6); color: var(--text-2); font-size: var(--t-md); }
.intelligence-nav a { text-decoration: none; }
.intelligence-callout { border: 1px solid var(--line-strong); border-left: 3px solid var(--line-strong); border-radius: var(--r-1); padding: var(--s-5) var(--s-5); background: var(--panel); }
.intelligence-callout strong { display: block; font-weight: 550; font-size: var(--t-lg); color: var(--ink); }
.intelligence-callout p { color: var(--text-2); font-size: var(--t-md); line-height: 1.9; margin: var(--s-3) 0 0; }
.jurisdiction-matrix th[scope=row] { background: var(--panel); }
.jurisdiction-matrix th[scope=row] a { color: var(--text-2); text-decoration: none; font-size: var(--t-md); }
.jurisdiction-matrix .territory-note { color: var(--amber); }
.jurisdiction-matrix td { font-size: var(--t-md); }
.alliance-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,calc(var(--w-narrow) / 3)),1fr)); gap: var(--s-5); }
.alliance-card { --alliance-color: var(--amber); position: relative; display: flex; flex-direction: column; border: 1px solid var(--line-strong); border-radius: var(--r-2); background: var(--panel); padding: var(--s-5); }
.alliance-nine { --alliance-color: var(--text-2); }
.alliance-fourteen { --alliance-color: var(--text-2); }
.alliance-number { display: block; color: var(--alliance-color); font: 650 var(--t-hero)/1.1 var(--heading); letter-spacing: -2px; margin-bottom: var(--s-4); }
.alliance-card h3 { font-size: var(--t-xl); font-weight: 600; letter-spacing: -.4px; margin: 0 0 var(--s-3); }
.alliance-card p { color: var(--text-2); font-size: var(--t-base); line-height: 1.9; margin: 0 0 var(--s-5); }
.alliance-card>a { display: block; margin-top: auto; padding-top: var(--s-4); border-top: 1px solid var(--line); color: var(--alliance-color); font-size: var(--t-base); text-decoration: none; }
.alliance-emblem { display: block; width: 100%; max-width: calc(var(--w-narrow) / 3); height: auto; aspect-ratio: 1; object-fit: contain; align-self: center; margin-bottom: var(--s-5); }
.alliance-countries { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s-2) var(--s-3); list-style: none; padding: 0; margin: 0 0 var(--s-5); color: var(--text-2); font-size: var(--t-base); }
.intelligence-reading { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--s-7); padding: var(--s-6); background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.intelligence-reading h2 { font-size: var(--t-3xl); }
.intelligence-reading p:not(.eyebrow) { color: var(--text-2); font-size: var(--t-base); line-height: 1.9; }
.intelligence-reading .button { margin-top: var(--s-3); }
.intelligence-checklist { align-self: center; }
.intelligence-checklist p { display: flex; align-items: baseline; gap: var(--s-4); border-bottom: 1px solid var(--line); padding: var(--s-3) 0 var(--s-4); margin: 0; }
.intelligence-checklist p:last-child { border: 0; }
.intelligence-checklist span { color: var(--cyan-text); font: 600 var(--t-lg)/1 var(--heading); }
.ownership-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s-5); margin-top: var(--s-5); }
.ownership-grid article { border: 1px solid var(--line); border-radius: var(--r-2); background: var(--panel); padding: var(--s-5); }
.ownership-grid h3 { color: var(--text-2); font-size: var(--t-2xl); font-weight: 600; margin: 0 0 var(--s-4); }
.ownership-grid p { font-size: var(--t-md); line-height: 1.9; color: var(--text-2); }
.ownership-grid .evidence-links { font-size: var(--t-sm); }
.intelligence-sources { padding: var(--s-5) var(--s-5); border: 1px solid var(--line-strong); background: var(--panel); border-radius: var(--r-2); }
.intelligence-sources summary { cursor: pointer; color: var(--text-2); font-size: var(--t-base); font-weight: 500; }
.intelligence-sources ul { padding: 0; list-style: none; }
.intelligence-sources li { padding: var(--s-3) 0; border-bottom: 1px solid var(--line); font-size: var(--t-md); }
.intelligence-sources li:last-child { border: 0; }
.intelligence-sources a { color: var(--text-2); text-decoration: none; }
.source-kind { display: block; font-size: var(--t-xs); text-transform: uppercase; letter-spacing: 1px; color: var(--muted); margin-bottom: var(--s-1); }
.prose ol { color: var(--text-2); padding-left: var(--s-5); font-size: var(--t-base); line-height: 1.9; }
.prose ol li { padding: var(--s-1) 0 var(--s-1) var(--s-2); }
.privacy-primer, .privacy-factor-grid, .software-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s-5); }
.privacy-primer article { padding: var(--s-6); background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.term-kicker { color: var(--cyan); font-size: var(--t-xs); letter-spacing: 1.3px; font-weight: 600; }
.privacy-primer h3 { font-size: var(--t-2xl); margin: var(--s-4) 0; }
.privacy-primer p { color: var(--text-2); font-size: var(--t-base); line-height: 1.85; }
.privacy-primer .evidence-links { font-size: var(--t-sm); }
.privacy-reasoning { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: var(--s-5); border: 1px solid var(--line); border-radius: var(--r-2); overflow: hidden; }
.privacy-reasoning>div { padding: var(--s-5); background: var(--panel); border-right: 1px solid var(--line); }
.privacy-reasoning>div:last-child { border: 0; }
.privacy-reasoning span { display: block; color: var(--cyan); font: 600 var(--t-xl) var(--heading); margin-bottom: var(--s-2); }
.privacy-reasoning strong { font-size: var(--t-base); }
.privacy-reasoning p { color: var(--muted); font-size: var(--t-md); margin-bottom: 0; }
.privacy-factor { align-self: start; background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); overflow: hidden; }
.privacy-factor summary { display: flex; align-items: baseline; gap: var(--s-4); padding: var(--s-5); cursor: pointer; list-style: none; }
.privacy-factor summary::-webkit-details-marker { display: none; }
.factor-index { color: var(--cyan-text); font: 600 var(--t-lg) var(--heading); }
.privacy-factor summary strong { display: block; font: 600 var(--t-xl)/1.25 var(--heading); margin-bottom: var(--s-2); }
.privacy-factor summary>span:nth-child(2)>span { display: block; color: var(--text-2); font-size: var(--t-md); line-height: 1.7; }
.factor-toggle { margin-left: auto; color: var(--cyan); font-size: var(--t-xl); }
.privacy-factor[open] .factor-toggle { transform: rotate(45deg); }
.privacy-factor[open] { border-color: var(--line-strong); }
.factor-body { padding: 0 var(--s-5) var(--s-5); border-top: 1px solid var(--line); }
.factor-body h4 { font-size: var(--t-xl); margin: var(--s-5) 0 var(--s-2); }
.factor-body p { color: var(--text-2); font-size: var(--t-md); line-height: 1.85; margin: 0 0 var(--s-4); }
.factor-body .evidence-links { font-size: var(--t-sm); }
.evidence-key { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s-5); }
.evidence-key article { padding: var(--s-5); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-2); }
.evidence-key article>span { color: var(--text-2); font-size: var(--t-xs); letter-spacing: 1px; }
.evidence-key h3 { font-size: var(--t-2xl); margin: var(--s-4) 0; }
.evidence-key p { color: var(--text-2); font-size: var(--t-md); line-height: 1.85; margin-bottom: 0; }
.audit-example { margin-top: var(--s-5); padding: var(--s-5) var(--s-6); border-left: 3px solid var(--line-strong); background: var(--panel-2); border-radius: 0 var(--r-2) var(--r-2) 0; }
.audit-example h3 { font-size: var(--t-2xl); margin: 0 0 var(--s-3); }
.audit-example p { color: var(--text-2); font-size: var(--t-md); line-height: 1.85; }
.software-feature { max-width: var(--w-wide); margin: var(--s-6) auto var(--s-8); padding: var(--s-7); display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-8); border: 1px solid var(--line-strong); border-radius: var(--r-3); background: url('/assets/circuit.svg') right center/auto 100% no-repeat, linear-gradient(115deg,var(--panel),var(--panel)); }
.software-feature h2 { font: 600 var(--t-h1)/1.1 var(--heading); letter-spacing: -1.1px; margin: var(--s-4) 0 var(--s-5); }
.software-feature>div>p:not(.eyebrow) { color: var(--text-2); font-size: var(--t-base); line-height: 1.85; max-width: 460px; }
.software-feature .button { margin-top: var(--s-4); }
.software-feature-projects { align-self: center; }
.software-feature-projects>a { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-4) 0; border-bottom: 1px solid var(--line-strong); text-decoration: none; font: 550 var(--t-xl) var(--heading); }
.software-feature-projects>a>span { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line-strong); border-radius: var(--r-2); color: var(--cyan); font-size: var(--t-base); background: var(--panel); }
.software-feature-projects b { margin-left: auto; font-size: var(--t-base); color: var(--cyan); }
.software-feature .software-feature-projects>p { font-size: var(--t-sm); color: var(--text-2); margin-top: var(--s-5); }
.software-heading h1 span { color: var(--cyan); }
.software-card { display: flex; flex-direction: column; padding: var(--s-6); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: linear-gradient(140deg,var(--panel),var(--panel) 65%); }
.software-card-top { display: flex; justify-content: space-between; align-items: center; gap: var(--s-4); margin-bottom: var(--s-5); }
.software-mark { display: grid; place-items: center; width: 58px; height: 58px; color: var(--cyan); background: color-mix(in srgb, var(--cyan) 12%, var(--panel)); border: 1px solid var(--line-strong); border-radius: var(--r-2); font: 650 var(--t-xl) var(--heading); }
.software-free { color: var(--cyan-text); border: 1px solid var(--line-strong); border-radius: var(--r-pill); background: color-mix(in srgb, var(--cyan) 12%, var(--panel)); padding: var(--s-1) var(--s-3); font-size: var(--t-xs); letter-spacing: .5px; }
.software-card .eyebrow { color: var(--text-2); font-size: var(--t-xs); margin: 0 0 var(--s-3); letter-spacing: 1px; }
.software-card h3 { font-size: var(--t-3xl); letter-spacing: -.6px; margin: 0 0 var(--s-3); }
.software-card h3 a { text-decoration: none; }
.software-card>p:not(.eyebrow) { color: var(--text-2); font-size: var(--t-base); line-height: 1.85; margin-top: 0; }
.software-fit { margin-top: auto; padding: var(--s-4) 0; border-bottom: 1px solid var(--line); }
.software-fit strong { color: var(--ink); font-size: var(--t-md); }
.software-fit p { color: var(--text-2); font-size: var(--t-md); margin: var(--s-2) 0 0; line-height: 1.8; }
.software-facts { margin: var(--s-3) 0 var(--s-5); }
.software-facts>div { display: grid; grid-template-columns: 85px minmax(0,1fr); gap: var(--s-4); padding: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.software-facts dt { color: var(--muted); font-size: var(--t-sm); }
.software-facts dd { color: var(--ink); font-size: var(--t-md); margin: 0; overflow-wrap: anywhere; }
.software-facts a { color: var(--cyan-text); }
.software-actions { display: flex; align-items: center; gap: var(--s-5); flex-wrap: wrap; }
.software-actions>a:not(.button) { color: var(--text-2); font-size: var(--t-sm); }
.software-resources li { padding: var(--s-2) 0; }
.software-detail .intelligence-callout { margin-top: var(--s-6); }
#software-or-service table { min-width: 760px; }

/* A local visual vocabulary: circuit glyphs, research lenses and category paths. */

.glyph { --glyph-color: var(--cyan); position: relative; display: inline-grid; place-items: center; width: 58px; height: 58px; flex-shrink: 0; border: 1px solid color-mix(in srgb,var(--glyph-color) 30%,transparent); border-radius: var(--r-2); background: radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--glyph-color) 13%,transparent),color-mix(in srgb,var(--glyph-color) 2.5%,transparent)); color: var(--glyph-color); transition: border-color .2s, box-shadow .2s, transform .2s; }
.glyph .icon { width: 29px; height: 29px; }
.glyph:before, .glyph:after { content: ''; position: absolute; width: 9px; height: 9px; opacity: .5; pointer-events: none; }
.glyph:before { left: -4px; top: -4px; border-left: 1px solid var(--glyph-color); border-top: 1px solid var(--glyph-color); border-radius: var(--r-1) 0 0; }
.glyph:after { right: -4px; bottom: -4px; border-right: 1px solid var(--glyph-color); border-bottom: 1px solid var(--glyph-color); border-radius: 0 0 var(--r-1); }
.glyph-violet { --glyph-color: var(--text-2); }
.glyph-blue { --glyph-color: var(--text-2); }
.explore-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s-4); max-width: var(--w-wide); margin: var(--s-6) auto 0; }
.explore-path { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-5) var(--s-5); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: linear-gradient(125deg,color-mix(in srgb, var(--panel-2) 50.2%, transparent),color-mix(in srgb, var(--panel) 60.0%, transparent)); text-decoration: none; transition: border-color .2s, background .2s; }
.explore-path>span:nth-child(2) { min-width: 0; }
.path-kicker { display: block; color: var(--muted); font: var(--t-xs)/1.5 var(--mono); letter-spacing: .9px; margin-bottom: var(--s-2); }
.explore-violet .path-kicker { color: var(--text-2); }
.explore-blue .path-kicker { color: var(--text-2); }
.explore-path strong { display: block; color: var(--text-2); font: 600 var(--t-xl)/1.25 var(--heading); letter-spacing: -.3px; }
.path-description { display: block; color: var(--text-2); font-size: var(--t-sm); line-height: 1.6; margin-top: var(--s-2); }
.explore-path .path-arrow { width: 17px; height: 17px; color: var(--muted); margin-left: auto; }
.explore-path:hover { background: var(--panel-2); border-color: var(--line-strong); }
.explore-path:hover .glyph, .explore-path:focus-visible .glyph { border-color: var(--glyph-color); box-shadow: 0 0 20px color-mix(in srgb,var(--glyph-color) 13%,transparent); transform: translateY(-2px); }
.filter-caption { display: inline-flex; align-items: center; gap: var(--s-2); }
.filter-caption .icon { width: 15px; height: 15px; color: var(--muted); }
.search-label>.icon { width: 24px; height: 24px; color: var(--cyan); }
.card-facts>span, .card-facts>a { display: inline-flex; align-items: center; gap: var(--s-2); }
.card-facts .icon { width: 17px; height: 17px; color: var(--muted); }
.jurisdiction-caption { display: flex; align-items: center; gap: var(--s-2); }
.jurisdiction-caption .icon { width: 14px; height: 14px; color: var(--muted); }
.jurisdiction-row>.icon { width: 15px; height: 15px; color: var(--muted); }
.review-card .eyebrow { display: flex; align-items: center; gap: var(--s-2); }
.review-card .eyebrow .icon { width: 19px; height: 19px; color: var(--text-2); }
.privacy-teaser>.glyph { width: 69px; height: 69px; }
.privacy-teaser>div { flex: 1; }
.privacy-teaser>.glyph .icon { width: 34px; height: 34px; }
.privacy-primer article>.glyph { display: grid; margin: var(--s-1) 0 var(--s-5); }
.intel-lenses { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-3); margin: var(--s-5) 0 var(--s-3); }
.intel-lenses>span { display: inline-flex; align-items: center; gap: var(--s-2); padding: var(--s-2) var(--s-3); font: var(--t-sm)/1.5 var(--mono); border: 1px solid var(--line-strong); border-radius: var(--r-1); color: var(--text-2); background: color-mix(in srgb, var(--panel) 53.3%, transparent); }
.intel-lenses .icon { width: 19px; height: 19px; color: var(--text-2); }
.factor-marker { display: flex; flex-direction: column; align-items: center; gap: var(--s-3); flex-shrink: 0; }
.factor-marker .glyph { width: 44px; height: 44px; border-radius: var(--r-2); }
.factor-marker .glyph .icon { width: 24px; height: 24px; }
.factor-marker .glyph:before, .factor-marker .glyph:after { width: 6px; height: 6px; }
.privacy-factor summary { align-items: flex-start; gap: var(--s-5); }
.factor-index { font: var(--t-xs)/1 var(--mono); letter-spacing: 1.1px; color: var(--muted); }
.factor-toggle { display: flex; margin-top: var(--s-1); }
.factor-toggle .icon { width: 20px; height: 20px; }
.privacy-factor summary>span:nth-child(2) { min-width: 0; flex: 1; }
.privacy-factor[open] .factor-marker .glyph { border-color: var(--line-strong); }
.evidence-key article>.glyph { display: grid; margin-bottom: var(--s-5); }
.alliance-watermark { position: absolute; top: 25px; right: 24px; width: 63px; height: 63px; color: var(--alliance-color); opacity: .25; }
.software-mark .icon { width: 31px; height: 31px; }
.software-feature-projects>a>span .icon { width: 24px; height: 24px; }
.software-facts dt { display: flex; align-items: center; gap: var(--s-2); }
.software-facts dt .icon { width: 15px; height: 15px; color: var(--muted); }
.software-facts>div { grid-template-columns: 96px minmax(0,1fr); }
.software-resources { list-style: none; padding-left: 0; }
.software-resources li { display: flex; align-items: baseline; gap: var(--s-3); padding: var(--s-3) 0; }
.software-resources .icon { width: 19px; height: 19px; color: var(--cyan-text); align-self: center; }
.software-detail-emblem { margin: var(--s-3) 0 var(--s-6); }
.software-detail-emblem .glyph { width: 76px; height: 76px; }
.software-detail-emblem .glyph .icon { width: 38px; height: 38px; }
.path-kicker, .term-kicker, .software-free, .source-kind, .software-card .eyebrow, .evidence-key article>span:not(.glyph) { font-family: var(--mono); }

/* Source-backed investigations, with explicit evidence and event dates. */
.investigation-heading h1 span { color: var(--violet); }
.case-teaser { max-width: var(--w-wide); margin: var(--s-6) auto var(--s-8); padding: var(--s-6); display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-8); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: radial-gradient(ellipse at 5% 15%,color-mix(in srgb, var(--line-strong) 11.0%, transparent),transparent 65%),var(--panel); }
.case-teaser>div>.glyph { float: right; margin-left: var(--s-4); }
.case-teaser h2 { font-size: var(--t-3xl); line-height: 1.15; margin: var(--s-4) 0 var(--s-5); letter-spacing: -.8px; }
.case-teaser p:not(.eyebrow) { color: var(--text-2); font-size: var(--t-base); line-height: 1.85; }
.case-teaser-links { align-self: center; }
.case-teaser-links>a { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-5) 0; border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.case-teaser-links>a:last-child { border: 0; }
.case-teaser-links>a>.icon { color: var(--violet); width: 24px; height: 24px; }
.case-teaser-links>a>.icon:last-child { width: 17px; height: 17px; margin-left: auto; }
.case-teaser-links strong { display: block; color: var(--ink); font: 600 var(--t-xl)/1.3 var(--heading); }
.case-teaser-links span>span { display: block; color: var(--text-2); font-size: var(--t-sm); margin-top: var(--s-2); }
.case-grid, .logging-grid, .ownership-traces { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s-5); }
.case-grid, .logging-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,var(--w-card)),1fr)); }
.case-card { display: flex; flex-direction: column; min-width: 0; padding: var(--s-5); background: linear-gradient(135deg,var(--panel-2),var(--panel)); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.case-card-meta { display: flex; align-items: center; gap: var(--s-5); margin-bottom: var(--s-5); }
.case-card-meta>div { display: flex; flex: 1; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-3); }
.case-category { color: var(--text-2); font: var(--t-xs)/1.6 var(--mono); letter-spacing: .4px; }
.case-card time { color: var(--text-2); font: var(--t-sm)/1.5 var(--mono); }
.case-providers { color: var(--cyan-text); font-size: var(--t-sm); margin: 0 0 var(--s-3); }
.case-card h3 { font-size: var(--t-2xl); line-height: 1.25; letter-spacing: -.5px; margin: 0 0 var(--s-4); }
.case-card h3 a { text-decoration: none; }
.case-card>p:not(.case-providers) { font-size: var(--t-md); color: var(--text-2); line-height: 1.85; margin: 0 0 var(--s-5); }
.case-evidence { display: flex; align-items: flex-start; gap: var(--s-2); color: var(--text-2); font-size: var(--t-sm); padding: var(--s-4) 0; margin-top: auto; border-top: 1px solid var(--line-strong); line-height: 1.7; }
.case-evidence .icon { width: 17px; height: 17px; margin-top: var(--s-1); color: var(--violet); }
.case-open { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); color: var(--violet); text-decoration: none; font-size: var(--t-md); padding-top: var(--s-2); }
.case-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-5); padding: var(--s-5); background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); margin-bottom: var(--s-5); }
.case-filters label { display: flex; flex-direction: column; gap: var(--s-3); color: var(--text-2); font-size: var(--t-sm); flex: 1; min-width: 160px; }
.case-filters select { width: 100%; padding: var(--s-3) var(--s-3); background: var(--panel-2); border: 1px solid var(--line-strong); border-radius: var(--r-1); font-size: var(--t-md); }
.case-filters p { margin: 0 0 var(--s-3) auto; color: var(--text-2); font: var(--t-sm)/1.6 var(--mono); }
.logging-card, .ownership-traces>article { min-width: 0; padding: var(--s-5); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-2); }
.logging-card-title { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-4); }
.logging-card-title .icon { color: var(--cyan-text); width: 23px; height: 23px; }
.logging-card h3 { font-size: var(--t-2xl); margin: 0; }
.logging-card>p { font-size: var(--t-base); color: var(--text-2); line-height: 1.85; }
.logging-card .evidence-links { font-size: var(--t-sm); }
.ownership-traces .control-chain { padding: 0; list-style: none; margin: var(--s-5) 0; }
.control-chain li { position: relative; padding: 0 0 var(--s-6) var(--s-6); margin: 0; }
.control-chain li:before { content: ''; position: absolute; top: 29px; left: 10px; bottom: 5px; width: 1px; background: var(--line-strong); }
.control-chain li:last-child { padding-bottom: 0; }
.control-chain li:last-child:before { display: none; }
.control-chain .icon { position: absolute; left: 0; top: 2px; color: var(--violet); width: 22px; height: 22px; }
.control-chain strong { display: block; font: 600 var(--t-xl)/1.3 var(--heading); color: var(--ink); }
.control-chain small { display: block; color: var(--text-2); font-size: var(--t-md); margin-top: var(--s-2); line-height: 1.8; }
.provider-case-list { list-style: none; padding: 0; margin: 0 0 var(--s-5); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: var(--panel); }
.provider-case-list li { display: flex; align-items: baseline; gap: var(--s-5); padding: var(--s-5) var(--s-5); border-bottom: 1px solid var(--line); }
.provider-case-list li:last-child { border: 0; }
.provider-case-list li>span { width: 100px; flex-shrink: 0; color: var(--text-2); font: var(--t-sm)/1.6 var(--mono); }
.provider-case-list a { display: flex; flex: 1; align-items: center; gap: var(--s-4); color: var(--violet); font-size: var(--t-base); text-decoration: none; }
.provider-case-list a .icon { margin-left: auto; width: 18px; height: 18px; }
.research-method { border: 1px solid var(--line-strong); border-radius: var(--r-2); background: var(--panel); padding: var(--s-6); }
.research-method>div { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: var(--s-5) var(--s-6); margin-top: var(--s-6); }
.research-method h3 { font-size: var(--t-xl); line-height: 1.35; margin: 0; color: var(--text-2); }
.research-method p:not(.eyebrow):not(.small-note) { color: var(--text-2); font-size: var(--t-base); line-height: 1.85; margin: 0; }
.case-detail-glyph { margin: var(--s-6) 0; }
.case-record-basis { display: flex; align-items: center; gap: var(--s-4); padding: var(--s-5); background: var(--panel-2); border: 1px solid var(--line-strong); border-radius: var(--r-2); color: var(--text-2); font-size: var(--t-md); margin: var(--s-6) 0; }
.case-record-basis>.icon { color: var(--violet); width: 26px; height: 26px; }
.case-record-basis small { display: block; margin-top: var(--s-2); color: var(--text-2); font-size: var(--t-sm); }
.case-detail .case-providers { color: var(--text-2); }
.case-detail .case-limits { background: color-mix(in srgb, var(--violet) 10%, var(--panel)); border-left: 3px solid var(--line-strong); padding: var(--s-5); margin-top: var(--s-6); border-radius: 0 var(--r-1) var(--r-1) 0; }
.case-detail .case-limits h2 { margin-top: 0; font-size: var(--t-2xl); }
.case-detail .case-limits p { margin-bottom: 0; }
.case-source-list { list-style: none; padding: 0; }
.case-source-list li { padding: var(--s-5) 0; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.case-source-list li a { font-size: var(--t-md); }
.case-source-list li p { font-size: var(--t-sm); margin: var(--s-3) 0 0; color: var(--text-2); }

/* Navigation has one viewport breakpoint. With JS disabled every link stays visible. */
.header { position: sticky; top: 0; z-index: 15; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s-4); max-width: var(--w-wide); margin: auto; padding: var(--s-4) var(--gutter); background: var(--bg); border-bottom: 1px solid var(--line); }
.header nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-start; gap: var(--s-4); flex: 1; }
.header nav a { display: inline-flex; align-items: center; gap: var(--s-2); min-height: var(--target); padding: var(--s-2) 0; color: var(--text-2); font-size: var(--t-md); text-decoration: none; }
.header nav .icon { width: var(--icon-xs); height: var(--icon-xs); color: var(--muted); }
.header nav a[aria-current] { color: var(--ink); text-decoration: underline; text-decoration-color: var(--cyan); text-underline-offset: var(--s-2); }
.nav-toggle { display: none; align-items: center; justify-content: center; gap: var(--s-2); min-height: var(--target); padding: var(--s-2) var(--s-3); border: 1px solid var(--line-strong); border-radius: var(--r-1); background: var(--panel-2); color: var(--ink); font-size: var(--t-base); }
.topbar { flex-wrap: wrap; }
.topbar a { min-height: var(--target); display: inline-flex; align-items: center; }
.shortlist-link { min-height: var(--target); }
.toggle-mark:before { content: '+'; }
[aria-pressed=true]>.toggle-mark:before { content: '−'; }
.filter-note, .hero-evidence-note { color: var(--text-2); font-size: var(--t-sm); line-height: 1.8; }
.hero-evidence-note { max-width: var(--w-narrow); }
.filter-note { margin: var(--s-3) 0; }
.pricing-divider { grid-column: 1/-1; border-top: 1px solid var(--line-strong); padding-top: var(--s-5); }
.pricing-divider h3 { font-size: var(--t-xl); margin: 0 0 var(--s-2); }
.pricing-divider p { color: var(--text-2); font-size: var(--t-md); }
.shared-comparison { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-4); padding: var(--s-5); margin-bottom: var(--s-5); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: var(--panel-2); }
.shared-comparison p { flex: 1; margin: 0; color: var(--text-2); }
.share-url { margin: var(--s-5) 0; }
.share-url input { width: 100%; padding: var(--s-3); font-size: var(--t-md); background: var(--inset); color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--r-1); }
.comparison-region { position: relative; max-width: 100%; background: linear-gradient(to right,transparent,var(--line-strong)) right center / var(--s-3) 100% no-repeat, var(--panel); }
.comparison-table th:first-child { position: sticky; left: 0; z-index: 2; background: var(--panel-2); border-right: 2px solid var(--line-strong); min-width: var(--comparison-label); width: var(--comparison-label); overflow-wrap: break-word; }
.comparison-table td { min-width: var(--comparison-cell); }
.difference, .software-feature, .case-teaser, .privacy-teaser { color: var(--text-2); }
.difference .eyebrow, .difference p, .software-feature p, .software-feature .software-feature-projects>p, .privacy-teaser p, .case-teaser p, .case-teaser-links span>span { color: var(--muted); }
.evidence-label { display: inline-flex; align-items: center; gap: var(--s-2); padding: var(--s-2) var(--s-3); border: 1px solid var(--line-strong); border-radius: var(--r-1); color: var(--text-2); background: var(--panel); font-size: var(--t-sm); line-height: 1.6; }
.evidence-label .icon { width: var(--icon-xs); height: var(--icon-xs); }
.evidence-court { background: var(--panel-3); border-width: 2px; color: var(--ink); }
.evidence-research { color: var(--cyan-text); border-color: var(--cyan); }
.evidence-unresolved { border-style: dashed; }
.source-evidence, .evidence-legend { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.evidence-legend { margin: var(--s-5) 0; }
.evidence-legend p { flex-basis: 100%; color: var(--text-2); font-size: var(--t-sm); margin: var(--s-2) 0 0; }
.case-evidence { display: block; }
.case-evidence>span { display: block; margin-top: var(--s-3); }
.case-limits .evidence-label { margin-bottom: var(--s-4); }

.comparison-table { table-layout: fixed; min-width: calc(var(--comparison-label) + var(--comparison-count, 1) * var(--comparison-cell)); }
.price strong { color: var(--ink); }
.review-kit { max-width: var(--w-content); margin: var(--s-7) auto; padding: var(--s-5) var(--gutter); }
.review-kit h1 { font-size: var(--t-h1); line-height: 1.15; }
.review-kit h2 { font-size: var(--t-3xl); margin-top: var(--s-7); }
.review-kit p { color: var(--text-2); }
.review-kit li { padding: var(--s-3) 0; }
.review-kit a { color: var(--cyan-text); }
.review-kit .stamp { font: var(--t-sm)/1.8 var(--mono); color: var(--muted); }
.review-kit .note { padding: var(--s-5); background: var(--panel-2); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.review-kit img { max-width: 100%; height: auto; display: block; }
.review-kit pre { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text-2); font: var(--t-md)/1.8 var(--body); }
.icon-audit { display: grid; grid-template-columns: repeat(auto-fit,minmax(calc(var(--w-narrow) / 5),1fr)); gap: var(--s-5); }
.icon-audit article { padding: var(--s-5); background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.icon-audit .samples { display: flex; align-items: center; gap: var(--s-4); color: var(--cyan-text); }
.icon-audit .samples .icon:nth-child(1) { width: var(--icon-xs); height: var(--icon-xs); }
.icon-audit .samples .icon:nth-child(2) { width: var(--icon-sm); height: var(--icon-sm); }
.icon-audit .samples .icon:nth-child(3) { width: var(--icon-md); height: var(--icon-md); }

@media (max-width:1000px) {
.brand { font-size: var(--t-2xl); }
  .hero { gap: var(--s-6); padding: var(--s-7) var(--s-5); }
  .hero h1 { font-size: var(--t-hero); }
  .hero-intro { font-size: var(--t-base); }
  .hero-art { min-height: 410px; }
  .cost-receipt { width: 340px; }
  .trust-strip, .difference, footer { margin-left: var(--s-5); margin-right: var(--s-5); }
  .trust-strip>span { padding: var(--s-5); }
  .trust-strip>a { padding: var(--s-4) var(--s-5); }
  .catalog-section, .guides-section, .page-heading, .content-section { padding-left: var(--s-5); padding-right: var(--s-5); }
  .filters>label { min-width: 130px; padding: 0 var(--s-3); }
  .provider-card { padding: var(--s-5); }
  .provider-name h3 { font-size: var(--t-lg); }
  .compare-check { padding: var(--s-2) var(--s-2); font-size: var(--t-xs); }
  .guide-tile { padding: var(--s-5); }
  .guide-tile h3 { font-size: var(--t-2xl); }
.software-feature { margin-left: var(--s-5); margin-right: var(--s-5); gap: var(--s-6); }
.privacy-teaser { margin-left: var(--s-5); margin-right: var(--s-5); }
  .filters>label { padding-left: var(--s-3); padding-right: var(--s-3); min-width: 110px; }
  .filters>.eyes-filter { min-width: 166px; }
.filters { flex-wrap: wrap; gap: var(--s-4); }
  .filters>.search-label { flex-basis: 100%; padding: 0 0 var(--s-3); border-bottom: 1px solid var(--line); }
  .filters>label:not(.search-label) { flex: 1; min-width: 110px; }
  .filters>label:nth-child(2) { border-left: 0; padding-left: 0; }
  .privacy-teaser { align-items: flex-start; padding: var(--s-5); }
  .privacy-teaser .button { max-width: 190px; }
  .dossier-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .alliance-grid { gap: var(--s-4); }
  .alliance-card { padding: var(--s-5); }
  .alliance-card h3 { font-size: var(--t-xl); }
  .intelligence-reading { gap: var(--s-5); padding: var(--s-5); }
.explore-paths { margin-left: var(--s-5); margin-right: var(--s-5); gap: var(--s-3); }
  .explore-path { flex-wrap: wrap; padding: var(--s-5); gap: var(--s-4); }
  .explore-path>span:nth-child(2) { order: 3; width: 100%; }
  .explore-path .path-arrow { align-self: flex-start; margin-top: var(--s-4); }
.case-teaser { margin-left: var(--s-5); margin-right: var(--s-5); gap: var(--s-6); }
.header .brand { margin-right: auto; }
  .header nav { order: 4; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: var(--s-1); }
  .header nav a { min-height: var(--target); padding: var(--s-3); font-size: var(--t-base); border-radius: var(--r-1); }
  .header nav a:hover { background: var(--panel-2); }
  .js .nav-toggle { display: inline-flex; }
  .js .header nav { display: none; }
  .js .header:has(.nav-toggle[aria-expanded=true]) nav { display: flex; }
}

@media (max-width:800px) {
  .comparison-region { --comparison-cell: calc(var(--w-narrow) / 5); }
.topbar { padding: var(--s-2) var(--s-5); font-size: var(--t-xs); }
  .topbar>span { font-size: var(--t-xs); letter-spacing: 1.3px; }

  .hero { padding: var(--s-7) var(--s-5); gap: var(--s-5); min-height: 0; }
  .hero h1 { font-size: var(--t-hero); letter-spacing: -1.7px; }
  .hero .eyebrow { font-size: var(--t-xs); letter-spacing: 1.25px; }
  .hero-intro { font-size: var(--t-base); }
  .hero-actions { gap: var(--s-4); }
  .hero-actions .button { font-size: var(--t-md); padding: var(--s-3) var(--s-4); }
  .hero-actions .quiet-link { font-size: var(--t-sm); }
  .hero-principles { gap: var(--s-3); font-size: var(--t-xs); margin-top: var(--s-5); }
  .hero-art { min-height: 390px; padding-top: var(--s-8); }
  .network-globe { height: 240px; top: -14px; }
  .cost-receipt { width: 300px; }
  .receipt-head { padding: var(--s-3) var(--s-4); font-size: var(--t-xs); gap: var(--s-1); letter-spacing: .5px; }
  .receipt-head>span { font-size: var(--t-xs); }
  .receipt-main { padding: var(--s-4) var(--s-4) var(--s-3); }
  .receipt-price { font-size: var(--t-hero); }
  .receipt-line { padding: var(--s-3) var(--s-4); font-size: var(--t-sm); }
  .receipt-foot { font-size: var(--t-xs); }
  .trust-strip, .difference, footer { margin-left: var(--s-5); margin-right: var(--s-5); }
  .trust-strip { grid-template-columns: 1fr 1fr 1fr; }
  .trust-strip>span { padding: var(--s-4); gap: var(--s-3); }
  .trust-strip>span:nth-child(3) { border-right: 0; }
  .trust-strip>a { grid-column: 1/-1; border-top: 1px solid var(--line); padding: var(--s-3) var(--s-4); text-align: center; font-size: var(--t-sm); }
  .trust-strip>a br { display: none; }
  .trust-strip>a span { margin-left: var(--s-3); }
  .trust-strip b { font-size: var(--t-2xl); }
  .trust-strip>span>span { font-size: var(--t-xs); }
  .section-head { align-items: flex-start; gap: var(--s-5); }
  .section-head h2 { font-size: var(--t-3xl); }
  .section-head>p { max-width: 200px; font-size: var(--t-sm); }
  .catalog-section, .guides-section, .page-heading, .content-section { padding-left: var(--s-5); padding-right: var(--s-5); }
  .catalog-section, .guides-section { padding-top: var(--s-7); padding-bottom: var(--s-7); }
  .filters { flex-wrap: wrap; gap: var(--s-4); padding: var(--s-4); }
  .filters>.search-label { flex-basis: 100%; padding: 0 0 var(--s-3); border-bottom: 1px solid var(--line); }
  .filters>label:not(.search-label) { flex: 1; min-width: 115px; }
  .filters>label:nth-child(2) { border-left: 0; padding-left: 0; }
  .provider-grid { gap: var(--s-4); }
  .provider-card { padding: var(--s-5); }
  .provider-name { gap: var(--s-2); }
  .provider-name h3 { font-size: var(--t-lg); }
  .provider-name>div>span { font-size: var(--t-xs); }
  .provider-mark { width: 36px; height: 36px; font-size: var(--t-xl); }
  .mark-pia { font-size: var(--t-base); }

  .compare-check { border: 0; padding: 0; background: transparent; }
  .provider-summary { font-size: var(--t-md); min-height: 59px; margin-top: var(--s-4); }
  .price strong { font-size: var(--t-3xl); }
  .price span { font-size: var(--t-xs); }
  .first-bill { font-size: var(--t-sm); }
  .renewal { font-size: var(--t-xs); }
  .card-facts { font-size: var(--t-xs); }
  .card-actions { flex-wrap: wrap; gap: var(--s-3); }
  .card-actions .button { flex-basis: 100%; font-size: var(--t-md); }
  .profile-link { width: 100%; text-align: center; font-size: var(--t-sm); }
  .observed { font-size: var(--t-xs); }
  .difference { padding: var(--s-6); }
  .difference h2 { font-size: var(--t-3xl); }
  .guide-grid { gap: var(--s-4); }
  .guide-tile { min-height: 240px; padding: var(--s-4); }
  .guide-tile h3 { font-size: var(--t-xl); }
  .guide-number { font-size: var(--t-xs); letter-spacing: .9px; }
  .guide-tile>span:last-child { font-size: var(--t-xs); }
  .guide-illustration { width: 45px; height: 45px; top: 35px; right: 12px; }
  .footer-bottom { display: block; }
  .footer-bottom nav { margin-top: var(--s-5); }
  .page-heading h1 { font-size: var(--t-h1); }
  .profile-notes { gap: var(--s-6); }
  .prose { padding: var(--s-6) var(--s-5); }
  .shortlist-tray { gap: var(--s-4); font-size: var(--t-sm); }
.privacy-primer, .privacy-factor-grid, .software-grid, .evidence-key, .privacy-reasoning, .software-feature { grid-template-columns: 1fr; }
  .privacy-primer article, .software-card { padding: var(--s-5); }
  .privacy-reasoning>div { border-right: 0; border-bottom: 1px solid var(--line); }
  .software-feature { margin: var(--s-5) var(--s-5) var(--s-7); padding: var(--s-5); gap: var(--s-5); }
  .software-feature h2 { font-size: var(--t-3xl); }
  .software-feature-projects>a { font-size: var(--t-xl); }
  .software-free { font-size: var(--t-xs); }
  .privacy-factor summary { padding: var(--s-5); gap: var(--s-3); }
  .privacy-factor summary strong { font-size: var(--t-xl); }
  .audit-example { padding: var(--s-5); }
.privacy-teaser { margin-left: var(--s-5); margin-right: var(--s-5); }
  .filters>.eyes-filter { min-width: 143px; }
  .jurisdiction-row { gap: var(--s-2); }
  .jurisdiction-row strong { font-size: var(--t-sm); }
  .eyes-badge { font-size: var(--t-xs); padding: var(--s-1) var(--s-1); }
.privacy-teaser>.glyph { display: none; }
  .explore-paths { grid-template-columns: 1fr; margin: var(--s-5) var(--s-5) 0; gap: var(--s-3); }
  .explore-path { flex-wrap: nowrap; padding: var(--s-5); }
  .explore-path>span:nth-child(2) { order: 0; width: auto; }
  .explore-path .path-arrow { align-self: center; margin-top: 0; }
.case-teaser { grid-template-columns: 1fr; gap: var(--s-4); padding: var(--s-6); margin-left: var(--s-5); margin-right: var(--s-5); }
  .research-method>div { grid-template-columns: 1fr; gap: var(--s-3); }
  .research-method>div p { margin-bottom: var(--s-4) !important; }
.compare-check span { position: absolute; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .compare-check { min-width: var(--target); min-height: var(--target); justify-content: center; }
}

@media (max-width:590px) {
:root { scroll-padding-top: calc(var(--s-8) + var(--s-7) + var(--s-4)); }
  .topbar { padding: var(--s-2) var(--s-5); justify-content: center; }
  .topbar>span { font-size: var(--t-xs); letter-spacing: 1.4px; }

  .brand { font-size: var(--t-2xl); }
  .brand-icon { width: 32px; height: 35px; margin-right: var(--s-2); border-radius: var(--r-2); }
  .brand-icon .icon { width: 22px; height: 22px; }

  .shortlist-link { padding: var(--s-2) var(--s-3); gap: var(--s-2); font-size: var(--t-sm); }
  .shortlist-link .icon { display: none; }
  .shortlist-link>span { min-width: 18px; line-height: 19px; font-size: var(--t-xs); }
  .hero { grid-template-columns: 1fr; padding: var(--s-6) var(--s-5) var(--s-6); gap: var(--s-5); }
  .hero:before { background-position: 65% bottom; background-size: auto 510px; opacity: .7; }
  .hero .eyebrow { font-size: var(--t-xs); letter-spacing: 1.5px; }
  .hero h1 { font-size: var(--t-hero); line-height: 1.07; letter-spacing: -1.8px; margin: var(--s-4) 0 var(--s-5); }
  .hero-intro { font-size: var(--t-base); max-width: 350px; margin-bottom: var(--s-5); }
  .hero-actions { gap: var(--s-5); }
  .hero-actions .button { padding: var(--s-3) var(--s-4); font-size: var(--t-md); }
  .hero-actions .quiet-link { font-size: var(--t-md); }
  .hero-principles { font-size: var(--t-xs); gap: var(--s-4); margin-top: var(--s-5); }
  .hero-art { min-height: 394px; padding-top: var(--s-8); }
  .network-globe { top: -8px; height: 255px; width: 110%; right: -5%; }
  .cost-receipt { width: 345px; }
  .receipt-head { font-size: var(--t-xs); padding: var(--s-4) var(--s-4); }
  .receipt-head>span { font-size: var(--t-xs); }
  .receipt-main { padding: var(--s-4) var(--s-5) var(--s-4); }
  .receipt-price { font-size: var(--t-hero); }
  .receipt-line { font-size: var(--t-sm); padding: var(--s-3) var(--s-5); }
  .receipt-foot { font-size: var(--t-xs); }
  .trust-strip, .difference, footer { margin-left: var(--s-5); margin-right: var(--s-5); }
  .trust-strip>span { display: block; padding: var(--s-4) var(--s-3); }
  .trust-strip b { display: block; font-size: var(--t-3xl); margin-bottom: var(--s-2); }
  .trust-strip>span>span { font-size: var(--t-xs); line-height: 1.6; display: block; }
  .trust-strip>a { font-size: var(--t-xs); padding: var(--s-3); }
  .trust-strip>a span { font-size: var(--t-xs); margin-left: var(--s-2); }
  .catalog-section, .guides-section { padding: var(--s-7) var(--s-5); }
  .section-head { display: block; margin-bottom: var(--s-5); }
  .section-head h2 { font-size: var(--t-3xl); letter-spacing: -.8px; }
  .section-head>p { max-width: none; margin-top: var(--s-4); font-size: var(--t-md); }
  .section-head>.quiet-link { display: inline-block; margin-top: var(--s-4); }
  .eyebrow { font-size: var(--t-xs); letter-spacing: 1.5px; }
  .filters { gap: var(--s-4); padding: var(--s-3); }
  .filters>label:not(.search-label) { min-width: 80px; padding: 0 var(--s-2); font-size: var(--t-xs); }
  .filters select { font-size: var(--t-sm); padding-right: var(--s-1); }
  .filter-extras { font-size: var(--t-xs); gap: var(--s-4); flex-wrap: wrap; padding-top: var(--s-4); }
  .filter-extras input { width: 14px; height: 14px; }
  .filter-extras .text-button { font-size: var(--t-xs); }
  .results-meta { display: block; font-size: var(--t-xs); line-height: 1.8; }
  .results-meta>span { display: block; margin-top: var(--s-1); }
  .provider-grid { grid-template-columns: 1fr; gap: var(--s-4); }
  .provider-card { padding: var(--s-5); }
  .provider-name { gap: var(--s-3); }
  .provider-name h3 { font-size: var(--t-xl); }
  .provider-mark { width: 43px; height: 43px; font-size: var(--t-2xl); }
  .mark-pia { font-size: var(--t-lg); }
  .provider-name>div>span { font-size: var(--t-sm); }
  .provider-summary { min-height: 0; font-size: var(--t-md); margin: var(--s-5) 0 var(--s-4); }

  .compare-check input { width: 15px; height: 15px; }
  .price strong { font-size: var(--t-hero); }
  .price span { font-size: var(--t-sm); }
  .first-bill { font-size: var(--t-md); }
  .renewal { font-size: var(--t-sm); }
  .card-facts { font-size: var(--t-sm); }
  .card-actions { flex-wrap: nowrap; gap: var(--s-5); }
  .card-actions .button { flex-basis: auto; font-size: var(--t-md); }
  .profile-link { width: auto; font-size: var(--t-sm); }
  .observed { font-size: var(--t-xs); }
  .difference { padding: var(--s-6) var(--s-5); }
  .difference h2 { font-size: var(--t-3xl); }
  .difference>p:not(.eyebrow) { font-size: var(--t-md); }
  .difference:after { font-size: var(--t-h1); top: 70px; right: -15px; }
  .guide-grid { grid-template-columns: 1fr; }
  .guide-tile { min-height: 218px; padding: var(--s-5); }
  .guide-number { font-size: var(--t-xs); }
  .guide-tile h3 { font-size: var(--t-3xl); margin: var(--s-6) 0 var(--s-5); }
  .guide-tile>span:last-child { font-size: var(--t-sm); }
  .guide-illustration { width: 68px; height: 68px; right: 25px; top: 27px; }
  footer { padding-bottom: var(--s-8); }
  .footer-top { display: block; }
  .footer-top p { margin-top: var(--s-4); font-size: var(--t-md); }
  .footer-bottom { font-size: var(--t-xs); }
  .footer-bottom nav { gap: var(--s-5); font-size: var(--t-xs); }
  .shortlist-tray { bottom: 10px; width: calc(100% - 20px); padding: var(--s-3); gap: var(--s-3); justify-content: space-between; }
  .shortlist-tray>span { font-size: var(--t-xs); max-width: 85px; line-height: 1.6; }
  .shortlist-tray .button { font-size: var(--t-xs); padding: var(--s-3) var(--s-3); gap: var(--s-1); }
  .shortlist-tray .text-button { font-size: var(--t-xs); }
  .page-heading { padding: var(--s-6) var(--s-5) var(--s-5); }
  .page-heading h1 { font-size: var(--t-h1); letter-spacing: -1.3px; }
  .page-heading .lead { font-size: var(--t-base); }
  .content-section { padding: var(--s-5) var(--s-5) var(--s-6); }
  .content-section h2 { font-size: var(--t-3xl); }
  .profile-title { gap: var(--s-4); }
  .profile-title .provider-mark { width: 55px; height: 55px; font-size: var(--t-3xl); }
  .profile-title .mark-pia { font-size: var(--t-xl); }
  .profile-title h1 { font-size: var(--t-3xl); }
  .profile-title .eyebrow { font-size: var(--t-xs); }
  .profile-notes { grid-template-columns: 1fr; gap: var(--s-5); padding-top: var(--s-6); }
  .review-grid { grid-template-columns: 1fr; }
  .review-card { padding: var(--s-5); }
  .prose { padding: var(--s-6) var(--s-5); margin: 0 auto var(--s-7); }
  .prose h1 { font-size: var(--t-h1); letter-spacing: -1.2px; }
  .prose h2 { font-size: var(--t-2xl); }
  .prose .lead { font-size: var(--t-lg); }
  .prose p:not(.eyebrow):not(.lead) { font-size: var(--t-base); }
  .compare-picker { gap: var(--s-2); }
  .compare-picker label { font-size: var(--t-sm); padding: var(--s-3) var(--s-3); gap: var(--s-2); }
  .compare-toolbar { align-items: flex-start; font-size: var(--t-sm); }
  .compare-toolbar .button { max-width: 160px; font-size: var(--t-sm); padding: var(--s-3); }
  .compare-toolbar select { margin: var(--s-2) 0 0; display: block; font-size: var(--t-sm); }
  .table-scroll th, .table-scroll td { padding: var(--s-4); }
  .small-note { font-size: var(--t-sm); }
.filters>label:not(.search-label) { min-width: calc(50% - 14px); padding-left: var(--s-3); padding-right: var(--s-3); }
  .filters>label:nth-child(4) { border-left: 0; padding-left: 0; }
  .filters select { font-size: var(--t-md); }
  .jurisdiction-row strong { font-size: var(--t-md); }
  .eyes-badge { font-size: var(--t-xs); padding: var(--s-1) var(--s-2); }
  .jurisdiction-help { font-size: var(--t-xs); margin-top: 0; }
  .privacy-teaser { margin: var(--s-5); display: block; padding: var(--s-5); }
  .privacy-teaser h2 { font-size: var(--t-3xl); }
  .privacy-teaser .button { max-width: none; margin-top: var(--s-5); }
  .privacy-teaser p:not(.eyebrow) { font-size: var(--t-md); }
  .dossier-heading { padding: var(--s-4); gap: var(--s-2); }
  .dossier-heading>span:last-child:not(.eyes-badge) { width: 100%; margin: 0; font-size: var(--t-xs); }
  .dossier-facts { padding: var(--s-5) var(--s-4); gap: var(--s-4); }
  .dossier-facts dt { font-size: var(--t-xs); }
  .dossier-facts dd { font-size: var(--t-md); }
  .dossier-notes { padding: 0 var(--s-4); }
  .dossier-notes h3 { font-size: var(--t-xl); }
  .dossier-notes p { font-size: var(--t-md); }
  .dossier-notes .evidence-links { font-size: var(--t-xs); }
  .dossier-limit { padding: var(--s-4); font-size: var(--t-xs); }
  .intelligence-nav { gap: var(--s-3) var(--s-5); font-size: var(--t-sm); }
  .intelligence-callout { padding: var(--s-5); }
  .intelligence-callout strong { font-size: var(--t-base); }
  .intelligence-callout p { font-size: var(--t-md); }
  .alliance-grid { grid-template-columns: 1fr; }
  .alliance-card { padding: var(--s-5); }
  .alliance-card h3 { font-size: var(--t-2xl); }
  .alliance-card p { min-height: 0; }
  .intelligence-reading { grid-template-columns: 1fr; padding: var(--s-5); gap: var(--s-5); }
  .intelligence-reading h2 { font-size: var(--t-3xl); }
  .intelligence-checklist p { font-size: var(--t-md); }
  .ownership-grid { grid-template-columns: 1fr; }
  .ownership-grid h3 { font-size: var(--t-2xl); }
  .intelligence-sources { padding: var(--s-5); }
  .intelligence-sources summary { font-size: var(--t-md); }
.explore-paths { margin-left: var(--s-5); margin-right: var(--s-5); }
  .explore-path { gap: var(--s-4); padding: var(--s-5) var(--s-4); }
  .explore-path strong { font-size: var(--t-xl); }
  .explore-path .glyph { width: 46px; height: 46px; }
  .explore-path .glyph .icon { width: 26px; height: 26px; }
  .explore-path .path-arrow { display: none; }
  .path-description { font-size: var(--t-sm); }
  .privacy-factor summary { gap: var(--s-4); padding: var(--s-5) var(--s-4); }
  .factor-marker .glyph { width: 37px; height: 37px; }
  .factor-marker .glyph .icon { width: 21px; height: 21px; }
  .privacy-factor summary strong { font-size: var(--t-xl); }
  .intel-lenses { gap: var(--s-2); }
  .intel-lenses>span { font-size: var(--t-xs); padding: var(--s-2) var(--s-3); }
.case-grid, .logging-grid, .ownership-traces { grid-template-columns: 1fr; }
  .case-teaser { margin-left: var(--s-5); margin-right: var(--s-5); padding: var(--s-5); }
  .case-teaser>div>.glyph { float: none; margin: 0 0 var(--s-5); }
  .case-teaser h2 { font-size: var(--t-3xl); }
  .case-teaser-links>a { gap: var(--s-3); }
  .case-teaser-links strong { font-size: var(--t-xl); }
  .case-card { padding: var(--s-5); }
  .case-card h3 { font-size: var(--t-2xl); }
  .case-card-meta { gap: var(--s-4); }
  .case-filters p { margin-left: 0; margin-bottom: 0; }
  .provider-case-list li { display: block; padding: var(--s-5); }
  .provider-case-list li>span { display: block; margin-bottom: var(--s-3); }
  .research-method { padding: var(--s-5); }
  .case-record-basis { align-items: flex-start; padding: var(--s-5); }
.header { gap: var(--s-2); }
  .header .brand { width: 100%; }
  .nav-toggle { order: 2; }
  .shortlist-link { order: 3; margin-left: auto; }

}

@media (prefers-reduced-motion:reduce) {
:root { scroll-behavior: auto; }
  *, *:before, *:after { transition: none !important; animation: none !important; }
.glyph, .explore-path { transition: none; }
  .explore-path:hover .glyph, .explore-path:focus-visible .glyph { transform: none; }
}

.case-card .glyph, .case-teaser .glyph, .case-detail-glyph .glyph { --glyph-color: var(--violet); }
.evidence-research .icon { color: inherit; }
.evidence-provider { border: 1px solid var(--line); border-radius: var(--r-2); background: var(--panel); margin-bottom: var(--s-4); }
.evidence-provider-header { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s-4); padding:var(--s-5); }
.review-provider-mark { flex-shrink:0; }
.evidence-provider-title { flex:1 1 calc(var(--s-8) * 2); min-width:0; }
.evidence-provider-header .review-provider-logo { width:calc(var(--s-8) + var(--s-7)); height:calc(var(--s-7) + var(--s-2)); padding:var(--s-2); border:1px solid var(--line); border-radius:var(--r-1); }
.evidence-provider-header h3 { font: 600 var(--t-xl)/1.25 var(--heading); margin: 0; }
.evidence-provider-header p { color: var(--text-2); font-size: var(--t-base); margin: var(--s-2) 0 0; }
.evidence-provider .review-grid, .evidence-provider>p { margin: var(--s-5); }
.evidence-provider .review-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); }
.evidence-links { color: var(--text-2); padding-inline-start: var(--s-5); line-height: 1.9; }
.evidence-warning { color: var(--amber); }
.evidence-neutral { color: var(--text-2); }
.comparison-region td .evidence-warning { color: var(--amber); }
.comparison-region td .evidence-neutral { color: var(--text-2); }
.comparison-region th small { display: block; color: var(--text-2); font-size: var(--t-sm); font-weight: 400; margin-top: var(--s-1); }
.review-card { overflow-wrap: anywhere; }
.hero, .catalog-section, .guides-section, .page-heading, .content-section, .prose { padding-inline: var(--gutter); }
.trust-strip, .difference, .privacy-teaser, .software-feature, .case-teaser, .explore-paths, footer { width: calc(100% - 2 * var(--gutter)); max-width: calc(var(--w-wide) - 2 * var(--gutter)); margin-inline: auto; }

/* Privacy tools retain the site's type scale and circuit glyph vocabulary. */
.tools-hero { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: var(--s-7); }
.tool-layers { display: grid; gap: var(--s-3); }
.tool-layers>a { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--s-4); padding: var(--s-4); background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-2); text-decoration: none; }
.tool-layers>a:hover { border-color: var(--cyan); background: var(--panel-2); }
.tool-layers strong, .tool-layers>a>span>span { display: block; }
.tool-layers strong { color: var(--ink); font: 600 var(--t-lg)/1.5 var(--heading); }
.tool-layers>a>span>span { color: var(--muted); font-size: var(--t-sm); margin-top: var(--s-1); }
.tool-layers>a>.icon { color: var(--cyan); }
.tool-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--s-5); }
.tool-card { min-width: 0; display: flex; flex-direction: column; padding: var(--s-6); background: var(--panel); border: 1px solid var(--line-strong); border-radius: var(--r-2); }
.tool-card-top { display: flex; align-items: center; gap: var(--s-4); flex-wrap: wrap; margin-bottom: var(--s-5); }
.tool-card h3 { font-size: var(--t-3xl); line-height: 1.2; margin: 0 0 var(--s-4); }
.tool-card h3 a { text-decoration: none; }
.tool-card>p { color: var(--text-2); font-size: var(--t-base); }
.tool-billing { margin: var(--s-4) 0; padding: var(--s-4); background: var(--inset); border: 1px solid var(--line); border-radius: var(--r-1); }
.tool-billing>div { display: grid; grid-template-columns: 1fr 2fr; gap: var(--s-4); padding: var(--s-3) 0; }
.tool-billing>div+div { border-top: 1px solid var(--line); }
.tool-billing dt { color: var(--muted); font-size: var(--t-sm); }
.tool-billing dd { margin: 0; color: var(--ink); font-size: var(--t-base); }
.tool-billing strong { font: 650 var(--t-3xl)/1.2 var(--heading); }
.tool-billing dd>span { display: block; color: var(--text-2); font-size: var(--t-sm); margin-top: var(--s-2); }
.tool-card .tool-limit { margin-bottom: var(--s-5); }
.tool-card .software-actions { margin-top: auto; }
.tool-card .small-note { font-size: var(--t-sm); color: var(--muted); margin-bottom: 0; }
#privacy-evidence .review-grid { margin-top: var(--s-5); }
@media (max-width: 1000px) {
  .tools-hero { grid-template-columns: 1fr; gap: var(--s-6); }
}
@media (max-width: 800px) {
  .tool-grid { grid-template-columns: 1fr; }
}
@media (max-width: 590px) {
  .tool-card { padding: var(--s-5); }
  .tool-layers>a { gap: var(--s-3); padding: var(--s-3); }
  .tool-layers strong { font-size: var(--t-base); }
}
.footer-bottom nav { flex-wrap: wrap; }
.tool-category-single { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: var(--s-6); }
.tool-category-single .tool-grid { grid-template-columns: 1fr; }
.tool-context { background: var(--panel); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--s-5); margin-top: var(--s-6); }
.tool-context h3 { font-size: var(--t-2xl); line-height: 1.3; }
.tool-context p { color: var(--text-2); font-size: var(--t-base); }
.tool-context .evidence-links { font-size: var(--t-sm); overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .tool-category-single { grid-template-columns: 1fr; }
}

/* Source-based use-case guides use the existing typography and glyph system. */
.use-case-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--s-5); }
.use-case-tile { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: var(--s-5); border: 1px solid var(--line-strong); border-radius: var(--r-2); background: var(--panel); color: var(--ink); text-decoration: none; }
.use-case-tile:hover { background: var(--panel-2); border-color: var(--cyan); }
.use-case-tile .glyph { margin-bottom: var(--s-5); }
.guide-category { font-size: var(--t-sm); color: var(--muted); }
.use-case-tile h3 { font-size: var(--t-2xl); line-height: 1.25; margin: var(--s-3) 0 var(--s-4); }
.use-case-tile p { color: var(--text-2); font-size: var(--t-base); margin: 0 0 var(--s-5); }
.use-case-status { color: var(--text-2); background: var(--inset); border: 1px solid var(--line); border-radius: var(--r-1); font-size: var(--t-sm); padding: var(--s-2) var(--s-3); margin-top: auto; }
.use-case-tile .quiet-link { color: var(--cyan-text); margin-top: var(--s-5); }
.use-case-article>section { margin-top: var(--s-7); }
.use-case-article .privacy-reasoning { margin: var(--s-6) 0 var(--s-7); }
.use-case-article .privacy-reasoning span { font: 600 var(--t-base)/1.6 var(--heading); }
.use-case-article .evidence-links { font-size: var(--t-sm); overflow-wrap: anywhere; }
.use-case-article .case-source-list { padding: 0; list-style: none; }
.use-case-article .case-source-list small { display: block; color: var(--muted); font-size: var(--t-sm); }
.use-case-related li { padding: var(--s-2) 0; }
@media (max-width: 1000px) {
  .use-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 590px) {
  .use-case-grid { grid-template-columns: 1fr; }
}

/* Original explanatory diagrams: HTML text remains readable at every width. */
.explain-figure,.official-brand { max-width:var(--w-content); margin:var(--s-6) auto var(--s-7); padding:var(--s-6); border:1px solid var(--line-strong); border-radius:var(--r-3); background:var(--inset); }
main > .explain-figure,main > .official-brand { width:calc(100% - var(--gutter) * 2); }
.prose .explain-figure { margin-inline:0; }
.explain-figure figcaption { display:flex; flex-direction:column; gap:var(--s-2); margin-bottom:var(--s-6); }
.explain-figure figcaption strong { font:600 var(--t-2xl)/1.2 var(--heading); color:var(--ink); }
.visual-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s-5); list-style:none; margin:0; padding:0; }
.prose .visual-path { padding:0; }
.visual-path li,.prose .visual-path li { position:relative; margin:0; padding:var(--s-5); background:var(--panel); border:1px solid var(--line); border-radius:var(--r-2); }
.visual-path li + li:before { content:''; position:absolute; width:var(--s-5); height:1px; right:100%; top:var(--s-7); background:var(--cyan); }
.visual-node-icon { display:inline-grid; place-items:center; width:var(--s-7); height:var(--s-7); color:var(--cyan-text); border:1px solid var(--line-strong); border-radius:var(--r-1); }
.visual-node-icon .icon { width:var(--icon-lg); height:var(--icon-lg); }
.visual-step { float:right; font:var(--t-sm)/1.6 var(--mono); color:var(--muted); }
.visual-path h3 { font:600 var(--t-xl)/1.2 var(--heading); margin:var(--s-5) 0 var(--s-3); color:var(--ink); }
.visual-path p { font-size:var(--t-base); color:var(--text-2); margin:0; }
.visual-caption { color:var(--muted); font-size:var(--t-md); margin:var(--s-5) 0 0; }
.official-brand img { display:block; width:calc(var(--s-7) * 8); max-width:100%; height:var(--s-8); object-fit:contain; object-position:left; }
.official-brand figcaption { margin-top:var(--s-5); font-size:var(--t-md); color:var(--muted); }
.speed-chart { border:1px solid var(--line); border-radius:var(--r-2); background:var(--inset); padding:var(--s-5); margin:var(--s-5) 0; }
.speed-chart figcaption { color:var(--ink); font:600 var(--t-xl)/1.3 var(--heading); margin-bottom:var(--s-5); }
.speed-chart ul { list-style:none; padding:0; margin:0; display:grid; gap:var(--s-4); }
.speed-chart li { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap:var(--s-3) var(--s-5); align-items:center; }
.speed-chart-label { font-size:var(--t-md); color:var(--text-2); }
.speed-chart-value { display:block; color:var(--ink); font-weight:600; }
.speed-chart-track { height:var(--s-3); background:var(--panel-3); border-radius:var(--r-pill); overflow:hidden; }
.speed-chart-bar { display:block; width:var(--bar); height:100%; background:var(--cyan); border-radius:inherit; }
.speed-chart .held .speed-chart-bar { background:var(--muted); }
@media(max-width:800px) {
 .explain-figure,.official-brand { padding:var(--s-5); }
 .visual-path { grid-template-columns:1fr; }
 .visual-path li + li:before { width:1px; height:var(--s-5); top:auto; bottom:100%; right:auto; left:var(--s-7); }
 .speed-chart li { grid-template-columns:1fr; gap:var(--s-2); }
}

/* Optional next-step learning, after the guide's evidence and project resources. */
.learning-feature { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1fr 1.15fr; gap:var(--s-7); width:calc(100% - var(--gutter) * 2); max-width:calc(var(--w-wide) - var(--gutter) * 2); margin:var(--s-6) auto var(--s-8); padding:var(--s-7); border:1px solid var(--line-strong); border-radius:var(--r-3); background:var(--panel); }
.learning-feature:before { content:''; position:absolute; inset:0; z-index:-1; background:url('/assets/circuit.svg') center/cover no-repeat; opacity:.2; }
.learning-copy h2 { font:650 var(--t-h1)/1.08 var(--heading); letter-spacing:-1.5px; margin:var(--s-5) 0; }
.learning-copy h2 span,.learning-card h2 span { color:var(--cyan-text); }
.learning-copy>p:not(.eyebrow):not(.learning-note) { font-size:var(--t-lg); color:var(--text-2); max-width:var(--w-narrow); }
.learning-feature .button,.learning-card .button { display:inline-flex; align-items:center; gap:var(--s-3); margin:var(--s-5) 0 var(--s-3); }
.learning-feature .button .icon,.learning-card .button .icon { flex-shrink:0; }
.learning-feature .learning-note,.prose .learning-card .learning-note { color:var(--muted); font-size:var(--t-md); line-height:1.6; margin:var(--s-4) 0 0; }
.learning-card { position:relative; padding:var(--s-6); border:1px solid var(--line-strong); border-radius:var(--r-3); background:var(--panel); }
.prose .learning-card h2 { color:var(--ink); font:650 var(--t-3xl)/1.15 var(--heading); margin:var(--s-5) 0 var(--s-4); }
.learning-card>p:not(.eyebrow):not(.learning-note) { color:var(--text-2); font-size:var(--t-base); }
@media(max-width:1000px) {
 .learning-feature { grid-template-columns:1fr; }
}
@media(max-width:590px) {
 .learning-feature,.learning-card-copy { padding:var(--s-5); }
}

/* Original supplier files remain local; light/dark plates preserve logo contrast. */
.brand-media { overflow:hidden; margin:0 0 var(--s-5); border:1px solid var(--line); border-radius:var(--r-2); background:var(--inset); }
.brand-logo { display:flex; justify-content:center; align-items:center; min-width:0; height:var(--s-8); padding:var(--s-4) var(--s-5); overflow:hidden; }
.brand-logo img { display:block; width:100%; max-width:calc(var(--s-8) * 4); height:100%; object-fit:contain; }
.brand-surface-light { background:var(--brand-paper); }
.brand-surface-dark { background:var(--panel); }
.brand-logo-sprite img { clip-path:inset(0 50% 0 0); transform:translateX(25%); }
.brand-media-scene { aspect-ratio:2/1; background:var(--panel-2); display:grid; place-items:center; padding:var(--s-4); }
.brand-media-scene>a { display:block; width:100%; height:100%; min-height:0; }
.brand-media-scene>a>img { display:block; width:100%; height:100%; min-height:0; max-height:calc(var(--s-8) * 4); object-fit:contain; }
.brand-media-logo-only>.brand-logo { height:calc(var(--s-8) * 3); padding:var(--s-6); }
.brand-media figcaption { padding:var(--s-2) var(--s-4); font-size:var(--t-md); line-height:1.5; color:var(--muted); }
.profile-brand-logo { width:calc(var(--s-8) * 3); height:var(--s-8); border:1px solid var(--line); border-radius:var(--r-1); flex-shrink:0; }
.profile-title { flex-wrap:wrap; }
.profile-company-media .brand-media { max-width:var(--w-narrow); }
.profile-company-media .brand-media-scene { aspect-ratio:2/1; }
.profile-company-media .brand-media-scene>a>img { max-height:calc(var(--s-8) * 6); }
.learning-art { min-width:0; overflow:hidden; margin:0; align-self:center; border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--inset); }
.learning-art-brand { display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); padding:var(--s-3) var(--s-5); border-bottom:1px solid var(--line); background:var(--panel); }
.learning-art-brand .brand-logo { width:calc(var(--s-8) * 2); height:calc(var(--s-7) + var(--s-4)); padding:0; flex-shrink:0; }
.learning-art-brand>span { font:var(--t-sm)/1.5 var(--mono); color:var(--muted); }
.learning-art-link { display:block; }
.learning-art-link:focus-visible { outline-offset:-4px; }
.learning-cover { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.learning-art figcaption { padding:var(--s-4) var(--s-5) 0; font-size:var(--t-md); color:var(--muted); line-height:1.6; }
.learning-topics { display:flex; flex-wrap:wrap; gap:var(--s-2); padding:var(--s-4) var(--s-5) var(--s-5); }
.learning-topics span { font-size:var(--t-md); color:var(--text-2); border:1px solid var(--line-strong); border-radius:var(--r-pill); padding:var(--s-1) var(--s-3); background:var(--panel); }
.learning-card { display:grid; grid-template-columns:1fr 1fr; padding:0; overflow:hidden; }
.learning-card .learning-art { margin:var(--s-5); }
.learning-card-copy { min-width:0; padding:var(--s-6) var(--s-6) var(--s-6) 0; }
@media(max-width:1000px) {
 .learning-feature .learning-art { order:-1; }
}
@media(max-width:800px) {
 .learning-card { grid-template-columns:1fr; }
 .learning-card-copy { padding:0 var(--s-5) var(--s-5); }
}
@media(max-width:590px) {
 .learning-art-brand { flex-wrap:wrap; }
 .profile-brand-logo { width:calc(var(--s-8) * 2); }
}

/* Illustrated client workflows: source pictures stay intact and open full size. */
.setup-thumbnail { margin:var(--s-5) 0; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-2); background:var(--inset); }
.setup-thumbnail>a { display:grid; place-items:center; aspect-ratio:16/10; padding:var(--s-4); background:var(--panel-2); }
.setup-thumbnail img { display:block; width:100%; height:100%; max-height:calc(var(--s-8) * 4); object-fit:contain; }
.setup-thumbnail figcaption { display:flex; align-items:center; gap:var(--s-2); padding:var(--s-3) var(--s-4); color:var(--text-2); font-size:var(--t-md); line-height:1.5; }
.setup-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-5); }
.setup-guide-tile { min-width:0; border:1px solid var(--line); border-radius:var(--r-2); background:var(--panel); padding:var(--s-5); }
.setup-guide-tile .setup-thumbnail { margin-top:0; }
.setup-guide-tile h3 { font:650 var(--t-2xl)/1.2 var(--heading); margin:var(--s-5) 0 var(--s-4); }
.setup-guide-tile p { color:var(--text-2); font-size:var(--t-base); }
.illustrated-guide { margin-top:var(--s-8); padding-top:var(--s-7); border-top:1px solid var(--line-strong); }
.howto-platform { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-3); color:var(--cyan-text); font-weight:600; }
.howto-before,.howto-after { margin:var(--s-6) 0; padding:var(--s-5); border:1px solid var(--line); border-radius:var(--r-2); background:var(--inset); }
.howto-before h3,.howto-after h3 { margin:0 0 var(--s-4); font:650 var(--t-xl)/1.3 var(--heading); }
.howto-before ul { padding-left:var(--s-5); }
.howto-before p,.howto-after p { margin-bottom:0; }
.howto-after h3:not(:first-child) { margin-top:var(--s-5); }
.howto-step-nav { display:flex; flex-wrap:wrap; gap:var(--s-3) var(--s-5); margin:var(--s-6) 0; }
.howto-step-nav a { font-size:var(--t-base); color:var(--text-2); }
.prose .howto-steps { list-style:none; padding:0; margin:0; }
.prose .howto-steps>li { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:var(--s-6); padding:var(--s-7) 0; border-top:1px solid var(--line); }
.howto-step-number { color:var(--cyan-text); font:var(--t-md)/1.5 var(--mono); }
.howto-step-copy h3 { font:650 var(--t-2xl)/1.2 var(--heading); margin:var(--s-3) 0 var(--s-5); color:var(--ink); }
.howto-look { margin-top:var(--s-5); border-left:2px solid var(--line-strong); padding-left:var(--s-4); }
.howto-look strong { color:var(--ink); display:flex; align-items:center; gap:var(--s-2); font-size:var(--t-base); }
.prose .howto-step-copy .howto-step-sources { font-size:var(--t-md); line-height:1.7; overflow-wrap:anywhere; }
.howto-picture { min-width:0; overflow:hidden; margin:0; border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--panel); }
.howto-kind { display:flex; align-items:center; gap:var(--s-2); color:var(--text-2); padding:var(--s-3) var(--s-4); font-size:var(--t-md); border-bottom:1px solid var(--line); }
.howto-enlarge { display:grid; place-items:center; padding:var(--s-4); background:var(--panel-2); }
.howto-enlarge img { display:block; width:auto; height:auto; max-width:100%; max-height:calc(var(--s-8) * 7); object-fit:contain; }
.howto-picture figcaption { padding:var(--s-4); color:var(--muted); font-size:var(--t-md); line-height:1.6; overflow-wrap:anywhere; }
.howto-picture figcaption>span { display:block; margin-top:var(--s-3); }
.howto-picture figcaption>a { color:var(--cyan-text); display:inline-flex; align-items:center; gap:var(--s-2); }
@media(max-width:800px) {
 .setup-guide-grid { grid-template-columns:1fr; }
 .prose .howto-steps>li { grid-template-columns:1fr; }
}

.prose .howto-steps>li.howto-step-wide { grid-template-columns:1fr; }

/* Editorial media lives with its subject, with a visible source/scope caption. */
.subject-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--s-8) * 3)),1fr)); gap:var(--s-4); margin:var(--s-6) 0; }
.subject-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:var(--s-3); padding:var(--s-5); background:var(--panel); border:1px solid var(--line); border-radius:var(--r-2); }
.subject-card>span:not(.subject-mark), .media-credit { color:var(--muted); font-size:var(--t-md); }
.subject-card a { font-size:var(--t-md); }
.subject-mark { display:inline-flex; align-items:center; justify-content:center; width:calc(var(--s-8) * 3); max-width:100%; height:calc(var(--s-8) + var(--s-5)); padding:var(--s-4); border-radius:var(--r-1); overflow:hidden; flex-shrink:0; }
.subject-mark img { width:100%; height:100%; object-fit:contain; display:block; }
.subject-mark-dark { background:var(--inset); }
.subject-mark-light { background:var(--brand-paper); }
.review-card>.subject-mark { margin-bottom:var(--s-4); }
.subject-band { display:flex; flex-wrap:wrap; gap:var(--s-4); margin-top:var(--s-6); }
.subject-brand { min-width:0; flex:1 1 calc(var(--s-8) * 2); max-width:calc(var(--s-8) * 4); }
.subject-brand>.brand-logo { border-radius:var(--r-1); border:1px solid var(--line); }
.subject-brand>span:last-child { display:block; color:var(--text-2); font-size:var(--t-md); margin-top:var(--s-2); }
.editorial-picture, .interface-picture, .document-picture, .eyes-picture { margin:var(--s-6) 0; border:1px solid var(--line); border-radius:var(--r-2); overflow:hidden; background:var(--inset); }
.editorial-picture>img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; }
.editorial-picture figcaption, .interface-picture figcaption, .document-picture figcaption, .eyes-picture figcaption { color:var(--text-2); padding:var(--s-4) var(--s-5); font-size:var(--t-md); line-height:1.6; }
.editorial-picture figcaption>span, .interface-picture figcaption>span { display:block; color:var(--muted); margin-top:var(--s-2); }
.interface-picture>a, .document-picture>a { display:block; }
.interface-picture img { display:block; width:100%; max-height:calc(var(--s-8) * 7); object-fit:contain; object-position:top; }
.image-open { display:block; padding:var(--s-3) var(--s-5); background:var(--panel-2); color:var(--cyan-text); font-size:var(--t-md); }
.document-picture { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
.document-picture img { width:100%; max-height:calc(var(--s-8) * 6); object-fit:contain; display:block; background:var(--brand-paper); }
.eyes-picture>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s-4); padding:var(--s-5); }
.eyes-picture img { width:100%; height:auto; display:block; }
.eyes-picture strong { display:block; text-align:center; margin-top:var(--s-3); }
.guide-media { position:relative; margin-bottom:var(--s-5); border-radius:var(--r-1); overflow:hidden; background:var(--inset); }
.guide-media-cover { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.guide-media-marks { display:flex; flex-wrap:wrap; gap:var(--s-2); padding:var(--s-3); background:var(--inset); }
.guide-media-marks .subject-mark { flex:1 1 0; width:auto; min-width:0; height:var(--s-7); padding:var(--s-2); }
.guide-media-kind { display:block; padding:var(--s-2) var(--s-3); color:var(--muted); font-size:var(--t-md); }
.guide-tile>.guide-preview { width:100%; height:calc(var(--s-8) * 3); object-fit:contain; object-position:top; background:var(--inset); border:1px solid var(--line); border-radius:var(--r-1); margin:var(--s-5) 0; }
.case-company-marks { display:flex; flex-wrap:wrap; gap:var(--s-2); margin-top:var(--s-5); }
.case-company-marks .brand-logo { flex:1 1 calc(var(--s-8) * 2); max-width:calc(var(--s-8) * 3); border-radius:var(--r-1); }
.comparison-table .brand-logo { width:100%; height:var(--s-8); margin-bottom:var(--s-3); border-radius:var(--r-1); }
@media(max-width:800px) {
 .document-picture { grid-template-columns:minmax(0,1fr); }
 .eyes-picture>div { gap:var(--s-2); padding:var(--s-3); }
 .eyes-picture strong { font-size:var(--t-md); }
 .subject-mark { max-width:100%; }
}

.investigation-companies { margin:var(--s-6) 0; }
.investigation-company-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--s-3); }
.investigation-company-grid>a { display:block; min-width:0; border:1px solid var(--line-strong); border-radius:var(--r-1); overflow:hidden; }
.investigation-company-grid>a:hover { border-color:var(--cyan); }
.investigation-company-grid .brand-logo { height:calc(var(--s-8) + var(--s-4)); padding:var(--s-4); }
.logging-company-logo { display:block; max-width:calc(var(--s-8) * 4); margin-bottom:var(--s-5); }
.logging-company-logo .brand-logo { height:calc(var(--s-8) + var(--s-5)); border-radius:var(--r-1); border:1px solid var(--line); }
.ownership-company-marks { display:flex; flex-wrap:wrap; gap:var(--s-3); margin:var(--s-5) 0; }
.ownership-company-marks>a { display:block; flex:1 1 calc(var(--s-8) + var(--s-7)); min-width:0; max-width:calc(var(--s-8) * 3); }
.ownership-company-marks .brand-logo { padding:var(--s-3); height:calc(var(--s-8) + var(--s-4)); border:1px solid var(--line); border-radius:var(--r-1); }
@media(max-width:800px) {
 .investigation-company-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.review-brief { margin:var(--s-5) 0; padding:var(--s-4); background:var(--inset); border:1px solid var(--line); border-radius:var(--r-1); }
.review-card .review-brief>p { font-size:var(--t-base); color:var(--text-2); }
.review-brief>p:first-child { margin-top:0; }
.review-brief>p:last-child { margin-bottom:0; }
.review-card .review-brief .eyebrow { font-size:var(--t-md); color:var(--muted); margin-bottom:var(--s-4); }
.review-card .review-brief .review-brief-date { font-size:var(--t-md); color:var(--muted); }

.jurisdiction-matrix .dossier-provider { display:grid; gap:var(--s-3); min-width:calc(var(--s-8) * 2); max-width:calc(var(--s-8) * 3); }
.jurisdiction-matrix .dossier-company-logo { width:100%; height:var(--s-8); padding:var(--s-3); border:1px solid var(--line); border-radius:var(--r-1); }

.compact-brand-logo { width:calc(var(--s-7) * 2); height:calc(var(--s-5) + var(--s-3)); padding:var(--s-2); border:1px solid var(--line); border-radius:var(--r-1); }
.compact-provider { display:flex; align-items:center; gap:var(--s-3); max-width:100%; }
.compact-provider>span:first-child, .speed-chart-label>span:first-child { flex-shrink:0; }
.compact-provider>span:last-child, .speed-chart-name { min-width:0; }
.speed-chart-label { display:flex; align-items:center; gap:var(--s-3); min-width:0; }

.speed-chart figcaption { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s-4); }
.speed-chart figcaption .subject-mark { width:calc(var(--s-7) * 2); height:calc(var(--s-5) + var(--s-3)); padding:var(--s-2); }

/* Typography roles: expressive headings, plain-language billing and readable evidence. */
body { line-height: var(--leading-body); }
h1, h2, h3, h4 { font-weight: 600; overflow-wrap: break-word; }
.hero h1 { font-size: var(--t-hero); line-height: 1.08; letter-spacing: -.035em; font-weight: 700; }
.page-heading h1, .prose h1, .intelligence-hero h1 { font-size: var(--t-h1); line-height: var(--leading-heading); letter-spacing: -.03em; }
h2 { line-height: 1.2; letter-spacing: -.025em; }
.provider-name h3, .guide-tile h3, .tool-card h3, .review-card h3, .case-card h3, .setup-guide-tile h3 { font-size: var(--t-card); line-height: 1.25; letter-spacing: -.015em; }
.hero-intro, .page-heading>p:not(.eyebrow), .lead { line-height: 1.65; }
.prose p:not(.eyebrow):not(.lead), .prose :is(ol,ul) { font-size: var(--t-base); line-height: 1.8; }
.prose>p, .prose>ol, .prose>ul { max-width: 72ch; }
.eyebrow, .guide-number { letter-spacing: .08em; line-height: var(--leading-ui); }
.provider-summary, .intelligence-reading p:not(.eyebrow) { line-height: var(--leading-body); }
.price strong { font-size: var(--t-price); letter-spacing: -.025em; }
.receipt-price { font-size: clamp(44px, 32px + 2vw, 64px); letter-spacing: -.03em; }
.price strong, .receipt-price, .first-bill, .renewal, .comparison-region, .table-scroll, .tool-billing { font-variant-numeric: tabular-nums lining-nums; }
.first-bill { font-weight: 600; }
.renewal, .observed, .receipt-foot, .catalog-note, .receipt-provider>span { font-size: var(--t-sm); line-height: 1.6; }
.button, .text-button, .shortlist-link { font-weight: 600; line-height: var(--leading-ui); }
input[type=search], select { font-size: var(--t-md); line-height: var(--leading-ui); }
.comparison-region :is(th,td), .table-scroll :is(th,td) { line-height: 1.6; }
.comparison-region :is(th,td) small { font-size: var(--t-sm); line-height: var(--leading-ui); }
@media(max-width:600px) {
 .hero h1 { max-width: 14ch; }
 .topbar>span { font-size: var(--t-sm); letter-spacing: .08em; }
 .hero-intro { font-size: var(--t-base); }
}

/* Final reading and data refinements within the existing type scale. */
:root { font-optical-sizing:auto; font-synthesis:none; }
h1,h2 { text-wrap:balance; }
h3,h4 { text-wrap:pretty; line-height:1.35; }
.hero h1 { letter-spacing:-.03em; }
.prose>p,.prose>ol,.prose>ul,.intelligence-reading>p { max-width:68ch; }
.prose h2 { font-size:clamp(26px,22px + .6vw,32px); line-height:1.25; margin-top:1.4em; margin-bottom:.6em; }
.prose h3 { font-size:22px; line-height:1.35; letter-spacing:-.015em; }
.prose :is(p,li,blockquote) { overflow-wrap:break-word; }
.prose blockquote { font-size:var(--t-base); line-height:1.75; }
.prose a,.intelligence-reading a { text-underline-offset:.18em; text-decoration-thickness:from-font; }
.comparison-region :is(th,td),.table-scroll :is(th,td),.price strong { font-variant-numeric:tabular-nums lining-nums; }
.comparison-region :is(th,td) { font-size:var(--t-sm); }
.eyebrow { font-weight:600; letter-spacing:.07em; }
.topbar>span { font-size:var(--t-sm); line-height:1.5; }
/* Keep readable receipt text inside narrow phone layouts. */
.hero-copy,.hero-art,.cost-receipt { min-width:0; }
@media(max-width:600px) {
 .hero { grid-template-columns:minmax(0,1fr); }
 .receipt-head { flex-wrap:wrap; row-gap:6px; }
 .receipt-head>span { margin-left:0; }
 .receipt-line { flex-wrap:wrap; gap:4px 12px; }
}

/* Hierarchy: one introduction, clear provider choices, visible real bills. */
.topbar { display:none; }
.hero .eyebrow,.page-heading>.eyebrow { color:var(--text-2); }
.hero h1 { max-width:16ch; }
.hero-actions>.text-button { background:transparent; border-color:transparent; color:var(--text-2); }
.provider-card .provider-name h3 { font-size:clamp(26px,22px + .5vw,30px); line-height:1.2; }
.provider-card .provider-name>div>span { color:var(--text-2); font-weight:400; }
.provider-card .price strong { font-size:clamp(30px,26px + .6vw,38px); }
.provider-card .price>span { color:var(--text-2); }
.provider-card .first-bill { background:var(--panel-2); border-left:3px solid var(--cyan); margin:0; padding:12px 14px 5px; font-size:18px; font-weight:600; line-height:1.5; min-height:0; }
.provider-card .renewal { background:var(--panel-2); border-left:3px solid var(--cyan); margin:0; padding:0 14px 12px; min-height:0; color:var(--text-2); }
.provider-card .compare-check { padding:6px 9px; border:1px solid var(--line-strong); border-radius:var(--r-1); }
.provider-card .card-actions { align-items:stretch; flex-wrap:wrap; gap:10px; }
.provider-card .card-actions>.button { background:transparent; color:var(--text-2); border:1px solid var(--line-strong); box-shadow:none; }
.provider-card .profile-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:10px 16px; background:var(--cyan); color:var(--on-cyan); border:1px solid var(--cyan); border-radius:var(--r-1); font-size:14px; font-weight:600; text-decoration:none; }
.provider-card .profile-link:hover { filter:brightness(1.08); }
.receipt-main+.receipt-line { background:var(--panel-2); border-left:3px solid var(--cyan); }
.prose>h2,.page-heading h1 { color:var(--ink); }
@media(max-width:600px) {
 .provider-card .card-actions>.button,.provider-card .profile-link { flex:1 1 125px; }
}

/* Spacing: compact introductions and appropriately sized comparison media. */
.hero { padding-block:40px; gap:32px; min-height:0; }
.hero .eyebrow { margin-bottom:12px; }
.hero h1 { margin:16px 0; }
.hero-actions { margin-top:24px; gap:12px 20px; }
.hero-actions>.button { min-height:48px; padding:12px 16px; gap:12px; }
.hero-actions>.text-button { min-height:44px; padding-block:8px; font-size:14px; gap:8px; }
.hero-principles { margin-top:20px; gap:12px 20px; }
.hero-evidence-note { margin-top:12px; }
.hero-art { min-height:0; padding-top:36px; }
.catalog-section,.guides-section,.content-section { padding-block:48px; }
.filters { padding:16px; gap:12px; }
.filter-extras { gap:8px 16px; }
.filter-extras label { min-height:44px; }
.provider-grid { gap:24px; }
.provider-card { padding:20px; }
.provider-card .brand-media-scene { height:160px; aspect-ratio:auto; padding:12px; }
.provider-card .brand-media-scene>a>img { max-height:100%; object-fit:contain; }
.provider-card .brand-logo { height:52px; padding:10px 16px; }
.provider-card .brand-media-logo-only>.brand-logo { height:120px; padding:20px; }
.provider-card .brand-media figcaption { padding:8px 12px; font-size:14px; }
.provider-card .provider-summary { min-height:0; margin:14px 0; }
.provider-card .card-facts { margin-top:12px; gap:8px 12px; }
.provider-card .card-actions { margin-top:16px; gap:10px; }
@media(max-width:600px) {
 .hero { padding:28px 20px 32px; gap:24px; }
 .hero-actions { gap:10px 12px; }
 .hero-art { padding-top:24px; min-height:0; }
 .network-globe { height:200px; top:-12px; }
 .catalog-section,.guides-section,.content-section { padding-block:32px; }
 .provider-card { padding:18px; }
 .provider-card .brand-media-scene { height:140px; }
 .filters { gap:12px; }
}

/* Contrast: separate reading surfaces, controls and supporting information. */
:root {
 --panel:#152236; --panel-2:#1c2c43; --panel-3:#263950; --inset:#0f1b2c;
 --line:#34465e; --line-strong:#617a97; --control-line:#7890ae;
 --ink:#f3f7fc; --text-2:#c4d0df; --muted:#a9b9cf; --faint:#95aac6;
}
.filters { background:var(--panel); border-color:var(--line-strong); }
.filters input[type=search],.filters select { background:var(--inset); box-shadow:inset 0 0 0 1px var(--control-line); border-radius:4px; }
.compare-check,.shortlist-link { border-color:var(--control-line); }
.provider-card:hover,.guide-tile:hover { border-color:var(--control-line); }
:focus-visible { outline:3px solid var(--cyan-text); outline-offset:3px; }
::selection { background:#305d78; color:#fff; }

/* Iconography: one optical family for action glyphs and control states. */
.ui-icon { display:inline-block; width:1em; height:1em; min-width:1em; vertical-align:-.15em; flex-shrink:0; }
svg.icon { stroke-width:1.75; }
:where(a,button,summary)>.ui-icon { vertical-align:-.15em; }
.compare-add,.compare-toggle { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.search-box>span .ui-icon { width:22px; height:22px; vertical-align:middle; }
.category-links>a>span:first-child { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex-shrink:0; }
.category-links>a>span:first-child .ui-icon { width:24px; height:24px; }
.video-tag .ui-icon { width:12px; height:12px; }

/* Needs chooser: local answers, legible paths and restrained circuit accents. */
.fit-controls { display:none; }
.js .fit-controls { display:block; }
.js #fit-results:not([data-ready]) { display:none; }
.fit-workspace>figure { max-width:var(--w-narrow); }
.fit-workspace { max-width:var(--w-content); }
.fit-controls fieldset { border:0; margin:0; padding:0; }
.fit-controls legend,.fit-controls label[for] { font-size:var(--t-xl); font-weight:600; margin-bottom:var(--s-5); }
.fit-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-4); margin-bottom:var(--s-5); }
.fit-choice { display:flex; align-items:center; gap:var(--s-3); padding:var(--s-4); border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--panel); min-height:var(--target); cursor:pointer; }
.fit-choice:has(input:checked) { border-color:var(--cyan); background:color-mix(in srgb,var(--cyan) 10%,var(--panel)); }
.fit-choice>span { display:flex; align-items:center; gap:var(--s-3); color:var(--ink); }
.fit-choice input { accent-color:var(--cyan); flex-shrink:0; }
.fit-controls select { display:block; max-width:100%; min-height:var(--target); margin:var(--s-3) 0 var(--s-5); padding:var(--s-3); background:var(--inset); color:var(--ink); font:inherit; border:1px solid var(--line-strong); border-radius:var(--r-1); }
.fit-result { padding:var(--s-5); background:var(--panel); border:1px solid var(--line-strong); border-top:var(--s-1) solid var(--cyan); border-radius:var(--r-2); margin-bottom:var(--s-5); }
.fit-result h3 { font-size:var(--t-2xl); }
.fit-result h4 { font-size:var(--t-lg); margin-bottom:var(--s-2); }
.fit-result p { max-width:var(--w-narrow); color:var(--text-2); }
.fit-actions { display:flex; flex-wrap:wrap; gap:var(--s-3); margin-top:var(--s-5); }
#fit-results,.fit-sources { margin-top:var(--s-7); }
#fit-heading { scroll-margin-top:var(--s-7); }
@media(max-width:800px) { .fit-choices { grid-template-columns:minmax(0,1fr); } }
.fit-workspace { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:var(--s-5); align-items:start; }
.fit-workspace>.editorial-picture { grid-column:2; grid-row:1; margin:0; }
.fit-controls { grid-column:1; grid-row:1; }
#fit-results,.fit-sources,.fit-workspace>noscript { grid-column:1 / -1; }
.fit-controls .text-button { margin-left:var(--s-4); min-height:var(--target); }
.entity-heading { display:flex; align-items:center; gap:var(--s-5); margin-bottom:var(--s-5); min-width:0; }
.entity-heading>div { min-width:0; }
.entity-heading :is(h1,h2,h3,p) { margin:0; }
.entity-heading p { margin-top:var(--s-2); color:var(--text-2); }
.entity-heading-mark { display:flex; flex-shrink:0; }
.entity-heading-mark .brand-logo { width:calc(var(--s-8)*2); height:var(--s-8); }
.page-jumps,.provider-jumps { display:flex; flex-wrap:wrap; gap:var(--s-3) var(--s-5); max-width:var(--w-wide); margin:var(--s-5) auto; padding:var(--s-4) var(--gutter); border-block:1px solid var(--line); }
.page-jumps strong { flex-basis:100%; color:var(--text-2); }
.page-jumps a,.provider-jumps a { min-height:var(--target); display:inline-flex; align-items:center; }
.prose .page-jumps { padding-inline:0; }
h2[id],.evidence-provider { scroll-margin-top:var(--s-7); }
.directory-view { display:flex; flex-wrap:wrap; gap:var(--s-3); margin:var(--s-5) 0; }
.directory-view button[aria-pressed=true] { color:var(--on-cyan); background:var(--cyan); border-color:var(--cyan); }
.directory-table { border:1px solid var(--line-strong); border-radius:var(--r-2); }
.directory-table :is(th,td) { font-size:var(--t-base); min-width:calc(var(--s-8)*2); }
.directory-table label { display:flex; align-items:center; gap:var(--s-3); min-height:var(--target); }
.directory-table small { display:block; margin-top:var(--s-2); color:var(--text-2); font-size:var(--t-base); }
.directory-table caption { padding:var(--s-4); text-align:left; color:var(--text-2); }
.compare-picker label { display:flex; align-items:center; gap:var(--s-3); }
@media(max-width:800px) {
 .fit-workspace { grid-template-columns:minmax(0,1fr); }
 .fit-workspace>.editorial-picture { grid-column:1; grid-row:3; }
 .fit-controls { grid-column:1; }
 #fit-results { grid-row:2; }
 .fit-sources { grid-row:4; }
 .entity-heading { gap:var(--s-3); }
 .entity-heading-mark .brand-logo { width:var(--s-8); height:var(--s-7); }
}
.feature-table :is(th,td) { font-size:var(--t-base); vertical-align:top; }
.feature-table p { margin:var(--s-2) 0; color:var(--text-2); }
.feature-table caption { padding:var(--s-4); text-align:left; color:var(--text-2); }
.free-scope { margin-top:var(--s-5); padding:var(--s-5); border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--panel); }
/* Keep visually hidden link labels inside their scrolling table region. */
.table-scroll { position:relative; }
.comparison-table :is(th,td) { font-size:var(--t-base); }
.comparison-table td p { margin:0 0 var(--s-3); color:var(--text-2); }
.compare-toolbar label { display:flex; flex-direction:column; gap:var(--s-2); }
.compare-toolbar select { max-width:100%; min-height:var(--target); }
.compare-toolbar { flex-wrap:wrap; align-items:flex-end; justify-content:flex-start; font-size:var(--t-base); }
.compare-toolbar label { flex:1 1 calc(var(--s-8)*2); min-width:0; }
.compare-toolbar select { margin:0; font:inherit; }
.compare-toolbar .button { max-width:100%; font-size:var(--t-base); }
/* Evidence lanes use text and shape; no country or corporate risk score. */
.evidence-profile-grid,.assessment-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap:var(--s-5); margin:var(--s-5) 0 var(--s-6); }
.evidence-profile-grid>article,.assessment-scope { padding:var(--s-5); background:var(--panel); border:1px solid var(--line-strong); border-radius:var(--r-2); min-width:0; }
.evidence-profile-grid h3,.assessment-scope h4 { font-size:var(--t-xl); }
.evidence-profile-grid p,.assessment-scope p { color:var(--text-2); }
.evidence-audit { border-style:double; border-color:var(--line-strong); background:var(--panel-2); }
.evidence-filing { border-style:solid; background:var(--panel-3); }
.provider-timeline { list-style:none; margin:var(--s-5) 0; padding:0; }
.provider-timeline>li { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,4fr); gap:var(--s-5); border-top:1px solid var(--line-strong); padding-block:var(--s-5); }
.event-date { display:flex; flex-direction:column; gap:var(--s-2); color:var(--text-2); }
.event-date time { color:var(--ink); font-weight:600; }
.provider-timeline h4 { margin:0 0 var(--s-4); font-size:var(--t-xl); }
.provider-timeline h5 { font-size:var(--t-lg); margin:var(--s-5) 0 var(--s-3); }
.provider-timeline p { color:var(--text-2); }
.event-limits { margin:var(--s-5) 0; border-left:var(--s-1) solid var(--line-strong); padding-left:var(--s-4); }
.evidence-matrix :is(th,td) { font-size:var(--t-base); vertical-align:top; }
.evidence-matrix p { margin-block:var(--s-3); }
.evidence-matrix li { margin-bottom:var(--s-4); }
.evidence-matrix caption { text-align:left; padding:var(--s-4); color:var(--text-2); }
@media(max-width:800px) { .provider-timeline>li { grid-template-columns:minmax(0,1fr); gap:var(--s-3); } .event-date { flex-direction:row; flex-wrap:wrap; } }
/* Original rating scales and evidence lanes stay separate. */
.score-lanes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap:var(--s-5); margin-block:var(--s-5) var(--s-7); }
.score-lanes article { background:var(--panel); padding:var(--s-5); border:1px solid var(--line-strong); border-radius:var(--r-2); }
.score-lanes h2 { font-size:var(--t-xl); }
.input-rules { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap:var(--s-5); padding-left:var(--s-5); }
.input-rules li { padding:var(--s-4); border-bottom:1px solid var(--line); scroll-margin-top:var(--s-7); }
.input-rules p { color:var(--text-2); margin-bottom:0; }
.readiness-table :is(th,td) { font-size:var(--t-base); vertical-align:top; }
.readiness-table th .subject-mark { width:calc(var(--s-8)*2); height:var(--s-8); margin-bottom:var(--s-3); }
.readiness-table th>strong { display:block; }
.readiness-table small { font-size:var(--t-md); }
.readiness-table caption { text-align:left; padding:var(--s-4); color:var(--text-2); }
[id^=review-] { scroll-margin-top:var(--s-7); }
/* Saved offer receipts: browser-local state and opt-in calendar files. */
.saved-controls { display:none; max-width:var(--w-narrow); margin-bottom:var(--s-6); }
.js .saved-controls { display:block; }
.saved-controls form { display:grid; gap:var(--s-3); }
.saved-controls label { font-weight:600; }
.saved-controls :is(select,input),.saved-plan input[type=date] { min-height:var(--target); max-width:100%; padding:var(--s-3); background:var(--inset); color:var(--ink); border:1px solid var(--line-strong); border-radius:var(--r-1); font:inherit; }
.saved-controls .button { justify-self:start; }
.saved-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--s-4); }
#saved-plan-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap:var(--s-5); }
.saved-plan { min-width:0; padding:var(--s-5); background:var(--panel); border:1px solid var(--line-strong); border-radius:var(--r-2); }
.saved-plan h3 { font-size:var(--t-xl); overflow-wrap:anywhere; }
.saved-plan p { color:var(--text-2); }
.saved-plan label { display:flex; flex-direction:column; gap:var(--s-3); }
.saved-actions { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s-4); margin-top:var(--s-5); }
.saved-actions button:disabled { opacity:.6; cursor:not-allowed; }
.plan-history { margin:var(--s-6) 0; }
.plan-history :is(th,td) { font-size:var(--t-base); }
.saved-controls form { grid-template-columns:minmax(0,1fr); }
.saved-controls :is(select,input) { width:100%; min-width:0; }
/* Curated guide paths answer the question before presenting the next action. */
.path-thumbnail .guide-media-cover { object-fit:contain; background:var(--inset); }
.path-picture .guide-media-cover { height:auto; object-fit:contain; }
.path-worked-steps li { margin-bottom:var(--s-5); padding-left:var(--s-2); }
.path-next-steps { display:grid; gap:var(--s-4); }
.path-next-step { padding:var(--s-5); border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--panel); }
.path-next-step h3 { margin:0 0 var(--s-3); font-size:var(--t-xl); }
.path-next-step p { margin:0; }
.guide-path-parent { margin:var(--s-6) 0; padding:var(--s-4); border-top:1px solid var(--line-strong); color:var(--text-2); }

/* Polish: consistent controls, selections, tables and empty results. */
:root { --polish-control-radius:8px; }
:is(.button,.profile-link,.compare-check,.shortlist-link,.filters select,.filters input[type=search]) { border-radius:var(--polish-control-radius); }
:is(.button,.profile-link,.compare-check,.shortlist-link,.text-button) { transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s; }
.provider-card .card-actions { align-items:stretch; }
.provider-card .card-actions :is(.button,.profile-link) { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.compare-check:has(input:checked) { background:color-mix(in srgb,var(--cyan) 12%,var(--panel)); border-color:var(--cyan); color:var(--ink); }
.compare-check:has(input:focus-visible) { outline:3px solid var(--cyan-text); outline-offset:3px; }
:is(.empty-state,#empty-results) { padding:32px; border:1px dashed var(--control-line); border-radius:var(--r-2); background:var(--panel); }
:is(.empty-state,#empty-results) :is(h2,h3) { margin-top:0; margin-bottom:12px; }
:is(.empty-state,#empty-results) p { max-width:62ch; margin-block:0 12px; }
.comparison-table :is(th,td) { vertical-align:top; border-color:var(--line); }
.comparison-table thead th { background:var(--panel-2); }
button:disabled { opacity:.55; cursor:not-allowed; box-shadow:none; }
[aria-busy=true] { cursor:progress; }
@media(hover:hover) { .compare-check:hover,.shortlist-link:hover { border-color:var(--cyan); } .comparison-table tbody tr:hover :is(th,td) { background:var(--panel-2); } }
@media(max-width:600px) { :is(.empty-state,#empty-results) { padding:24px 20px; } }
@media(prefers-reduced-motion:reduce) { :is(.button,.profile-link,.compare-check,.shortlist-link,.text-button) { transition:none; } }
.eyes-badge { border-radius:999px; }
.shortlist-link>[data-shortlist-count] { font-variant-numeric:tabular-nums; }

/* Sourced setup scope, functional checks and deliberate rollback. */
.setup-version { padding:var(--s-4); border-left:2px solid var(--line-strong); background:var(--inset); color:var(--text-2); }
.setup-symptom { border-top:1px solid var(--line); margin-top:var(--s-5); padding-top:var(--s-5); }
.setup-symptom h4 { font:650 var(--t-lg)/1.4 var(--heading); color:var(--ink); margin:0 0 var(--s-3); }
.setup-completion { padding-left:var(--s-5); }

/* Picture walkthroughs keep instructions beside the matching control or diagram. */
.prose.software-detail { max-width:var(--w-content); }
.setup-inputs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--logging-provider-width)),1fr)); gap:var(--s-5); margin:var(--s-5) 0; }
.setup-inputs dt { font-weight:700; color:var(--ink); margin-bottom:var(--s-2); }
.setup-inputs dd { margin:0; color:var(--text-2); }
.setup-progress { display:flex; flex-wrap:wrap; align-items:center; gap:var(--s-4) var(--s-5); padding:var(--s-5); background:var(--panel); border:1px solid var(--line-strong); border-radius:var(--r-2); }
.setup-progress label { display:grid; gap:var(--s-2); flex:1; min-width:var(--comparison-label); }
.setup-progress progress { width:100%; height:var(--s-3); accent-color:var(--cyan); }
.setup-progress .small-note { flex-basis:100%; margin:0; }
.prose ol.setup-actions { padding-left:var(--s-5); margin:var(--s-4) 0; }
.prose ol.setup-actions>li { padding:var(--s-2) 0 var(--s-2) var(--s-2); }
.setup-step-check { display:inline-flex; align-items:center; gap:var(--s-3); min-height:var(--target); padding:var(--s-3) var(--s-4); border:1px solid var(--line-strong); border-radius:var(--r-1); background:var(--panel); cursor:pointer; }
.setup-step-check input { width:var(--icon-sm); height:var(--icon-sm); accent-color:var(--cyan); }
.setup-step-done .setup-step-check { border-color:var(--cyan); }
.setup-step-check:focus-within { outline:2px solid var(--cyan); outline-offset:var(--s-1); }
.illustrated-guide .howto-picture { align-self:start; }
.illustrated-guide .howto-picture img { max-height:calc(var(--s-8) * 9); }
@media (max-width:800px) {
  .prose .howto-steps>li { display:flex; flex-direction:column; gap:var(--s-5); }
  .howto-step-copy { display:contents; }
  .howto-step-copy>.howto-step-number { order:0; }
  .howto-step-copy>h3 { order:1; }
  .howto-steps>li>.howto-picture { order:2; width:100%; }
  .howto-step-copy>p { order:3; }
  .howto-step-copy>.setup-actions { order:4; }
  .howto-step-copy>.howto-look { order:5; }
  .howto-step-copy>.howto-step-sources { order:6; }
  .howto-step-copy>.setup-step-check { order:7; }
}

/* Four free foundations; native answer disclosures work without JavaScript. */
.foundation-lesson { margin-top:var(--s-8); padding-top:var(--s-6); border-top:1px solid var(--line); }
.foundation-check { margin:var(--s-5) 0; padding:var(--s-5); background:var(--inset); border:1px solid var(--line); border-radius:var(--r-2); }
.foundation-check summary { cursor:pointer; color:var(--cyan-text); padding:var(--s-3) 0; font-size:var(--t-base); }
.foundation-check h3 { margin-top:0; }

/* Privacy role and bundle overlap: choices stay in the page. */
.overlap-form fieldset { margin:0 0 var(--s-6); padding:var(--s-5); border:1px solid var(--line); border-radius:var(--r-2); min-width:0; }
.overlap-form legend { font:650 var(--t-xl)/1.4 var(--heading); color:var(--ink); padding:0 var(--s-2); }
.overlap-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-4); }
.overlap-choice { display:flex; align-items:flex-start; gap:var(--s-3); padding:var(--s-4); border:1px solid var(--line); background:var(--panel); border-radius:var(--r-1); cursor:pointer; }
.overlap-choice input { flex:none; margin-top:var(--s-1); accent-color:var(--cyan); }
.overlap-choice>span { min-width:0; }
.overlap-choice strong { color:var(--ink); font-size:var(--t-lg); }
.overlap-choice span span { display:block; color:var(--text-2); margin-top:var(--s-2); }
.overlap-form select,.overlap-form input[type=number] { display:block; width:100%; min-width:0; padding:var(--s-3); border:1px solid var(--line-strong); border-radius:var(--r-1); background:var(--panel-2); color:var(--ink); font:inherit; }
.overlap-budget { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-4); }
.overlap-results { display:grid; gap:var(--s-5); }
.overlap-result { background:var(--panel); border:1px solid var(--line); border-radius:var(--r-2); padding:var(--s-5); }
.overlap-result h3 { margin-top:0; font:650 var(--t-2xl)/1.3 var(--heading); }
.overlap-outcome { font-weight:650; color:var(--cyan-text); }
.overlap-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-5); }
.overlap-offer { min-width:0; background:var(--inset); border:1px solid var(--line); padding:var(--s-5); border-radius:var(--r-2); }
.overlap-offer h4 { font:650 var(--t-xl)/1.3 var(--heading); margin:var(--s-4) 0; }
.overlap-roles { line-height:1.7; }
@media (max-width:800px) { .overlap-choices,.overlap-budget,.overlap-offers { grid-template-columns:minmax(0,1fr); } }

/* Material changes, explicit local following and static feeds. */
#follow-form fieldset { min-width:0; border:1px solid var(--line); border-radius:var(--r-2); padding:var(--s-5); margin:0 0 var(--s-5); }
#follow-form legend { font:650 var(--t-xl)/1.4 var(--heading); padding:0 var(--s-2); }
.follow-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s-4); margin:var(--s-5) 0; }
.follow-choice { display:flex; align-items:center; gap:var(--s-3); padding:var(--s-4); border:1px solid var(--line); border-radius:var(--r-1); background:var(--panel); cursor:pointer; }
.follow-choice input,.follow-view input { accent-color:var(--cyan); flex:none; }
.follow-view { display:flex; flex-wrap:wrap; gap:var(--s-5); }
.follow-view label { padding:var(--s-3); }
.change-entry { padding:var(--s-6); border:1px solid var(--line); border-radius:var(--r-2); background:var(--panel); margin-top:var(--s-5); }
.change-entry h3 { font:650 var(--t-2xl)/1.3 var(--heading); }
.change-entry-brands { display:flex; flex-wrap:wrap; gap:var(--s-4); margin-bottom:var(--s-5); }
.change-dates { color:var(--muted); }
.change-before-after { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s-5); }
.change-before-after>div { background:var(--inset); padding:var(--s-5); border-radius:var(--r-1); }
.change-before-after dt { color:var(--cyan-text); font-weight:650; }
.change-before-after dd { margin:var(--s-3) 0 0; color:var(--text-2); }
.feed-url { display:block; width:100%; padding:var(--s-4); margin:var(--s-3) 0 var(--s-4); font:inherit; border:1px solid var(--line-strong); border-radius:var(--r-1); background:var(--panel-2); color:var(--ink); }
.provider-feeds { columns:2; line-height:1.7; }
.provider-feeds li { break-inside:avoid; margin-bottom:var(--s-4); }
.provider-feeds span { display:block; color:var(--muted); font-size:var(--t-base); }
@media (max-width:800px) { .follow-choices,.change-before-after { grid-template-columns:minmax(0,1fr); } .provider-feeds { columns:1; } .change-entry { padding:var(--s-5); } }

/* Authored pair decisions use the shared catalog, not a generated keyword grid. */
.focused-pair-marks { display:flex; align-items:center; flex-wrap:wrap; gap:var(--s-5); margin-bottom:var(--s-5); }
.focused-table { --comparison-count:2; }
.focused-table .comparison-table td { vertical-align:top; }

/* Editorial opinion bands: text badges carry meaning alongside color. */
.score-band-excellent { --score-accent:var(--score-excellent); }
.score-band-strong { --score-accent:var(--score-strong); }
.score-band-positive { --score-accent:var(--score-positive); }
.score-band-mixed { --score-accent:var(--score-mixed); }
.score-band-low { --score-accent:var(--score-low); }
.score-band-unscored { --score-accent:var(--muted); }
.metascore-description { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s-2); }
.metascore-tier { display:inline-flex; align-items:center; width:fit-content; padding:var(--s-1) var(--s-2); border:1px solid color-mix(in srgb,var(--score-accent) 60%,var(--line)); border-radius:var(--r-pill); background:color-mix(in srgb,var(--score-accent) 12%,var(--inset)); color:var(--score-accent); font:600 var(--t-md)/var(--leading-ui) var(--body); }
.metascore-legend { margin:var(--s-5) 0; padding:var(--s-5); border:1px solid var(--line); border-radius:var(--r-2); background:var(--panel); }
.metascore-legend h3 { margin-top:0; }
.metascore-legend ul { display:flex; flex-wrap:wrap; gap:var(--s-4) var(--s-5); padding:0; list-style:none; }
.metascore-legend li { display:flex; align-items:center; gap:var(--s-2); color:var(--text-2); }
.metascore-table td>.metascore-tier { display:flex; margin-top:var(--s-2); }
.metascore-badge { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--s-4); margin:var(--s-5) 0; padding:var(--s-4); border:1px solid color-mix(in srgb,var(--score-accent) 55%,var(--line)); border-left:var(--s-1) solid var(--score-accent); border-radius:var(--r-2); background:linear-gradient(110deg,color-mix(in srgb,var(--score-accent) 7%,var(--inset)),var(--inset)); color:var(--ink); text-decoration:none; }
.metascore-badge:hover { border-color:var(--score-accent); background:var(--panel-2); color:var(--ink); }
.metascore-badge>span:first-child { display:flex; align-items:center; gap:var(--s-3); font-size:var(--t-base); }
.metascore-badge strong { font:650 var(--t-2xl)/1.1 var(--heading); white-space:nowrap; color:var(--score-accent); }
.metascore-badge strong small { font:400 var(--t-base)/1.4 var(--body); color:var(--muted); }
.metascore-badge-context { display:flex; align-items:center; gap:var(--s-2); color:var(--text-2); font-size:var(--t-md); }
.metascore-number { font:650 var(--t-2xl)/1.2 var(--heading); color:var(--score-accent); white-space:nowrap; }
.metascore-calculation { padding:var(--s-5); border-left:var(--s-1) solid var(--score-accent); background:var(--inset); color:var(--ink); font:500 var(--t-xl)/1.6 var(--mono); overflow-wrap:anywhere; }
.metascore-breakdown td,.metascore-breakdown th { vertical-align:top; }
.metascore-breakdown th .subject-mark,.metascore-breakdown th .brand-logo { margin-bottom:var(--s-3); }
.metascore-breakdown th>a { display:block; }
.provider-metascore .metascore-badge { width:fit-content; max-width:100%; }
.comparison-table .metascore-badge,.directory-table .metascore-badge { flex-direction:column; align-items:flex-start; margin:var(--s-2) 0; }
@media (max-width:590px) { .metascore-badge { flex-wrap:wrap; } .metascore-badge-context { width:100%; } }
@media (max-width:800px) {
 .metascore-table .compact-provider { flex-direction:column; align-items:flex-start; }
 .metascore-table th:first-child { min-width:var(--comparison-label); width:var(--comparison-label); }
}
.metascore-table table,.metascore-breakdown table { font-size:var(--t-base); }

/* Put the score beside the browsing decision, before the company artwork. */
.provider-card>.metascore-badge { margin:var(--s-4) 0; }
.directory-score-link { margin-left:auto; padding:var(--s-3) 0; color:var(--cyan-text); }

/* Logging policy categories: color identifies conditions, never a privacy grade. */
.logging-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s-4); margin-top:var(--s-6); }
.logging-path>div { display:grid; grid-template-columns:auto 1fr; gap:var(--s-2) var(--s-4); padding:var(--s-5); border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--panel); }
.logging-path .icon { grid-row:span 2; width:var(--icon-lg); height:var(--icon-lg); color:var(--cyan); }
.logging-path span { color:var(--text-2); }
.logging-controls { display:flex; flex-wrap:wrap; align-items:end; gap:var(--s-4); margin:var(--s-5) 0; padding:var(--s-5); border:1px solid var(--line-strong); border-radius:var(--r-2); background:var(--panel); }
.logging-controls label { display:grid; gap:var(--s-2); flex:1; min-width:var(--logging-provider-width); }
.logging-controls :is(input,select) { min-height:var(--target); width:100%; padding:var(--s-3); border:1px solid var(--line-strong); border-radius:var(--r-1); background:var(--inset); color:var(--ink); font:inherit; }
.logging-matrix table { width:100%; }
.logging-matrix :is(th,td) { min-width:var(--comparison-cell); vertical-align:top; font-size:var(--t-base); }
.logging-matrix tr>th:first-child { position:sticky; left:0; z-index:1; min-width:var(--logging-provider-width); max-width:var(--logging-provider-width); background:var(--panel); box-shadow:var(--s-2) 0 var(--s-4) color-mix(in srgb,var(--bg) 80%,transparent); }
.logging-matrix thead th { background:var(--panel-2); }
.logging-matrix p { margin:var(--s-3) 0 0; color:var(--text-2); }
.logging-matrix caption { text-align:left; padding:var(--s-4); color:var(--text-2); }
.logging-detail-link { display:block; margin-top:var(--s-3); font-size:var(--t-md); font-weight:normal; }
.logging-matrix .compact-provider { display:flex; flex-direction:column; align-items:flex-start; gap:var(--s-2); white-space:normal; }
.logging-matrix .compact-provider>span:last-child { overflow-wrap:anywhere; min-width:0; }
.logging-status { display:inline-flex; align-items:center; gap:var(--s-2); border:1px solid var(--line-strong); border-radius:var(--r-pill); padding:var(--s-1) var(--s-3); font-size:var(--t-md); font-weight:600; color:var(--ink); background:var(--inset); }
.logging-status :is(.icon) { flex-shrink:0; }
.logging-status-temporary,.logging-status-mixed { border-color:color-mix(in srgb,var(--amber) 50%,var(--line)); color:var(--amber); }
.logging-status-unspecified { color:var(--muted); border-style:dashed; }
.logging-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap:var(--s-4); margin:var(--s-5) 0; }
.logging-field { min-width:0; padding:var(--s-5); background:var(--panel); border:1px solid var(--line-strong); border-radius:var(--r-2); }
.logging-field h3 { display:flex; gap:var(--s-3); align-items:center; font-size:var(--t-xl); margin-bottom:var(--s-4); }
.logging-field h3 .icon { color:var(--muted); flex-shrink:0; }
.logging-field p { color:var(--text-2); margin-top:var(--s-4); }
.logging-field .logging-locator,.logging-source { font-size:var(--t-md); color:var(--muted); overflow-wrap:anywhere; }
.logging-field .logging-locator { border-top:1px solid var(--line); padding-top:var(--s-4); }
.logging-exceptions { padding:var(--s-5); border-left:var(--s-1) solid var(--amber); background:var(--panel); border-radius:var(--r-1); margin-top:var(--s-5); }
.logging-exceptions h3 { font-size:var(--t-xl); margin-bottom:var(--s-3); }
.logging-exceptions li+li { margin-top:var(--s-3); }
.logging-glossary { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--w-card)),1fr)); gap:var(--s-5); margin-top:var(--s-5); }
.logging-glossary dt { display:flex; align-items:center; gap:var(--s-3); font-weight:700; }
.logging-glossary dd { margin:var(--s-2) 0 0; color:var(--text-2); }
@media (max-width:800px) {
  .logging-path { grid-template-columns:1fr; }
  .logging-matrix tr>th:first-child { min-width:var(--comparison-label); max-width:var(--comparison-label); }
}

/* Put retained source artwork beside its profile; diagrams explain separate bases. */
.profile-visual-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s-6);align-items:center}
.profile-heading-copy,.profile-heading-art{min-width:0}
.profile-heading-art .brand-media{margin:0}
.profile-heading-art .brand-media-scene{aspect-ratio:16/11;padding:var(--s-5)}
.profile-heading-art .brand-media-scene>a>img{max-height:360px}
.profile-heading-art .brand-logo{margin-top:var(--s-3)}
.profile-heading-art .brand-media figcaption{padding-bottom:var(--s-4)}
.decision-diagram{margin:var(--s-6) 0;border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-5);background:var(--inset)}
.decision-diagram>figcaption{display:grid;gap:var(--s-2);margin-bottom:var(--s-4)}
.decision-diagram>figcaption>strong{font-size:var(--t-h3);line-height:1.35}
.decision-diagram>a,.decision-diagram picture,.decision-diagram img{display:block;width:100%;height:auto}
.decision-diagram>a:focus-visible,.brand-media-scene>a:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.decision-diagram .visual-caption{margin:var(--s-4) 0 0}
@media(max-width:900px){.profile-visual-heading{grid-template-columns:1fr;gap:var(--s-5)}.profile-heading-art{max-width:720px}.profile-heading-art .brand-media-scene{aspect-ratio:2/1}}
@media(max-width:600px){.decision-diagram{padding:var(--s-3)}.profile-heading-art .brand-media-scene{padding:var(--s-3)}}
