﻿/* ============ ROOT TOKENS ============ */
:root {
  --ink: #0e0f0c;
  --paper: #f5f1ea;
  --paper-2: #ebe4d7;
  --paper-3: #fdfaf3;
  --rule: #1a1b18;
  --accent: #d64419;
  --accent-2: #2d6a4f;
  --mute: #6b6757;
  --mute-2: #8a8576;
  --warn: #c89b3c;
  --highlight: #fff3a8;
  --good: #2d6a4f;
  --bad: #b8312e;
  --info: #1e40af;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', sans-serif;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.display { font-family: 'Fraunces', serif; font-optical-sizing: auto; letter-spacing: 0; }
.mono { font-family: 'JetBrains Mono', monospace; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }

/* ============ TOPBAR ============ */
.topbar {
  background: var(--ink);
  color: var(--paper);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 0;
}
.topbar-inner {
  max-width: 1280px; margin: 0 auto; padding: 0 24px;
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px;
}
.topbar .dot { display: inline-block; width: 6px; height: 6px; background: var(--accent); border-radius: 50%; margin-right: 8px; animation: pulse 2s infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

/* ============ NAV ============ */
header.nav {
  position: sticky; top: 0; z-index: 100;
  background: var(--paper);
  border-bottom: 1px solid var(--ink);
}
.nav-inner {
  max-width: 1280px; margin: 0 auto; padding: 18px 24px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
}
.logo {
  font-family: 'Fraunces', serif;
  font-weight: 800;
  font-size: 24px;
  letter-spacing: 0;
  cursor: pointer;
  flex-shrink: 0;
}
.logo-mark {
  display: inline-block;
  width: 32px; height: 32px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 4px;
  text-align: center;
  line-height: 32px;
  font-size: 16px;
  margin-right: 10px;
  vertical-align: -8px;
}

.nav-links {
  display: flex;
  gap: 26px;
  align-items: center;
}
.nav-item { position: static; }
.nav-trigger {
  font-size: 14px; font-weight: 500;
  position: relative; padding: 22px 0;
  transition: color 0.2s;
  cursor: pointer;
  display: flex; align-items: center; gap: 4px;
  background: none; border: 0; font-family: inherit; color: inherit;
}
.nav-trigger:hover, .nav-item:hover .nav-trigger, .nav-item.active .nav-trigger { color: var(--accent); }
.nav-trigger .chev {
  width: 14px;
  height: 14px;
  opacity: 0.72;
  transition: transform 0.2s, opacity 0.2s;
}
.nav-trigger:hover .chev,
.nav-item:hover .nav-trigger .chev,
.nav-item.open .nav-trigger .chev {
  opacity: 1;
}
.nav-item.open .nav-trigger .chev, .nav-item:hover .nav-trigger .chev { transform: rotate(180deg); }

/* MEGA MENU */
.megamenu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: var(--paper-3);
  border: 1px solid var(--ink);
  box-shadow: 8px 8px 0 var(--ink);
  width: 720px;
  padding: 32px;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: all 0.22s ease;
  border-radius: 4px;
  z-index: 200;
}
.megamenu.wide {
  width: 880px;
}
.nav-item.open .megamenu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
@media (hover: hover) and (pointer: fine) and (min-width: 1101px) {
  .nav-item:hover .megamenu,
  .nav-item:focus-within .megamenu {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}
.megamenu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px 24px;
}
.megamenu-grid.cols-2 {
  grid-template-columns: 1.2fr 1fr;
}
.mega-col h5 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--mute);
  margin-bottom: 14px;
  padding-bottom: 8px;
  border-bottom: 1px dashed var(--ink);
}
.mega-link {
  display: flex; align-items: flex-start;
  gap: 12px;
  padding: 10px 8px;
  border-radius: 3px;
  margin: 0 -8px;
  transition: background 0.15s;
  cursor: pointer;
}
.mega-link:hover { background: var(--paper-2); }
.mega-link .micon {
  flex-shrink: 0;
  line-height: 1;
  width: 28px;
}
.mega-link .mtext {
  flex: 1;
}
.mega-link .mtitle {
  font-weight: 600;
  font-size: 14px;
  display: block;
  margin-bottom: 2px;
}
.mega-link .mdesc {
  font-size: 12px;
  color: var(--mute);
  line-height: 1.4;
}
.mega-featured {
  background: var(--ink);
  color: var(--paper);
  padding: 20px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}
.mega-featured::before {
  content: '';
  position: absolute;
  top: -50%; right: -20%;
  width: 70%; height: 200%;
  background: radial-gradient(circle, rgba(214,68,25,0.4), transparent 70%);
  pointer-events: none;
}
.mega-featured-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 10px;
  position: relative;
}
.mega-featured h4 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.15;
  margin-bottom: 8px;
  position: relative;
}
.mega-featured p {
  font-size: 12px;
  color: var(--paper-2);
  margin-bottom: 14px;
  position: relative;
}
.mega-featured .mlink {
  font-size: 12px;
  font-weight: 600;
  color: var(--paper);
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
}

.nav-simple {
  font-size: 14px; font-weight: 500;
  padding: 22px 0;
  cursor: pointer;
  transition: color 0.2s;
}
.nav-simple:hover { color: var(--accent); }

.nav-cta {
  background: var(--ink); color: var(--paper);
  padding: 10px 18px;
  font-size: 13px; font-weight: 600;
  border-radius: 2px;
  transition: all 0.2s;
  border: 1px solid var(--ink);
  cursor: pointer;
  flex-shrink: 0;
}
.nav-cta:hover { background: var(--accent); border-color: var(--accent); }

.mobile-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.16s, color 0.16s;
}
.mobile-toggle:hover,
.mobile-toggle:focus-visible {
  background: var(--paper-2);
  color: var(--accent);
  outline: 0;
}

/* ============ SECTION UTILS ============ */
.section { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.section-tag {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--mute);
  margin-bottom: 16px;
}
.section-tag::before {
  content: ''; width: 24px; height: 1px; background: var(--ink);
}
.section-title {
  font-family: 'Fraunces', serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.05; font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 12px;
}
.section-sub { color: var(--mute); font-size: 16px; max-width: 640px; line-height: 1.55; }

/* ============ BUTTONS ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 11px 18px;
  font-size: 13px; font-weight: 600;
  border-radius: 3px;
  transition: all 0.2s;
  border: 1.5px solid var(--ink);
  cursor: pointer;
  font-family: inherit;
  background: transparent;
  color: inherit;
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
}
.btn-primary { background: var(--ink); color: var(--paper); }
.btn-primary:hover { background: var(--accent); border-color: var(--accent); }
.btn-ghost { background: transparent; color: var(--ink); }
.btn-ghost:hover { background: var(--ink); color: var(--paper); }
.btn-accent { background: var(--accent); color: var(--paper); border-color: var(--accent); }
.btn-accent:hover { background: var(--ink); border-color: var(--ink); }
.btn-sm { padding: 7px 14px; font-size: 12px; }
.btn-lg { padding: 14px 24px; font-size: 14px; }

/* ============ BREADCRUMB ============ */
.crumb {
  display: flex; gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 28px;
  flex-wrap: wrap;
}
.crumb a { transition: color 0.2s; cursor: pointer; }
.crumb a:hover { color: var(--accent); }
.crumb .sep { color: var(--mute-2); }
.crumb .curr { color: var(--ink); }

/* ============ PAGE HEADER ============ */
.page-head {
  padding: 56px 0 32px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 56px;
}

/* ============ COMMON COMPONENTS ============ */

/* Provider Card */
.provider-card {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 28px;
  position: relative;
  transition: all 0.3s;
  display: flex; flex-direction: column;
}
.provider-card:hover {
  transform: translateY(-4px);
  box-shadow: 8px 8px 0 var(--ink);
}
.provider-card.editor::before {
  content: "* Editor's Choice";
  position: absolute; top: -12px; left: 24px;
  background: var(--accent); color: var(--paper);
  padding: 4px 12px; font-size: 11px;
  font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 2px;
}
.provider-head {
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
}
.provider-logo {
  width: 48px; height: 48px;
  background: var(--ink); color: var(--paper);
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Fraunces', serif;
  font-size: 22px; font-weight: 700;
  flex-shrink: 0;
}
.provider-logo.bd { background: #1e40af; }
.provider-logo.sp { background: #7c2d12; }
.provider-logo.ox { background: #14532d; }
.provider-logo.so { background: #831843; }
.provider-logo.ip { background: #374151; }
.provider-logo.ws { background: #0e7490; }
.provider-logo.nn { background: #92400e; }
.provider-name {
  font-family: 'Fraunces', serif;
  font-size: 22px; font-weight: 600;
  letter-spacing: 0;
}
.provider-score {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; color: var(--mute);
}
.provider-score strong {
  color: var(--ink); font-size: 14px;
}
.provider-verdict {
  font-size: 14px; color: var(--ink);
  line-height: 1.55;
  margin-bottom: 18px;
  flex: 1;
}
.provider-tags {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-bottom: 18px;
}
.tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.05em;
  padding: 3px 8px;
  background: var(--paper-2);
  border: 1px solid var(--rule);
  border-radius: 2px;
}
.provider-price {
  display: flex; justify-content: space-between;
  align-items: baseline;
  padding-top: 18px;
  border-top: 1px dashed var(--ink);
  margin-bottom: 16px;
}
.price-label {
  font-size: 11px; color: var(--mute);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.price-val {
  font-family: 'Fraunces', serif;
  font-size: 24px; font-weight: 600;
}
.price-val small {
  font-size: 13px; color: var(--mute); font-weight: 400;
}
.provider-ctas { display: flex; gap: 8px; }
.provider-ctas .btn { flex: 1; }

/* Score badge */
.score-badge {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px; font-weight: 600;
  padding: 4px 9px;
  border-radius: 3px;
  background: var(--ink); color: var(--paper);
}
.score-badge.gold { background: var(--accent); }
.score-badge.green { background: var(--accent-2); }
.score-badge.lg {
  font-size: 22px;
  padding: 8px 14px;
}
.score-badge.xl {
  font-size: 32px;
  padding: 12px 18px;
}

/* Comparison Table */
.table-wrap {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  overflow-x: auto;
  box-shadow: 6px 6px 0 var(--ink);
}
table.compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 920px;
}
.compare-table th {
  background: var(--ink); color: var(--paper);
  text-align: left;
  padding: 14px 16px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: 'JetBrains Mono', monospace;
  border-right: 1px solid var(--mute);
  cursor: pointer;
  user-select: none;
}
.compare-table th:last-child { border-right: 0; }
.compare-table th .sort-ind { opacity: 0.4; margin-left: 4px; }
.compare-table th.sorted .sort-ind { opacity: 1; color: var(--accent); }
.compare-table td {
  padding: 16px;
  border-bottom: 1px solid var(--paper-2);
  font-size: 14px;
  vertical-align: middle;
}
.compare-table tr:last-child td { border-bottom: 0; }
.compare-table tr.highlight { background: #fffaea; }
.compare-table tr.highlight td:first-child {
  border-left: 4px solid var(--accent);
}
.compare-table tr:hover { background: #faf5ec; }
.provider-cell {
  display: flex; align-items: center; gap: 12px;
  font-weight: 600;
  cursor: pointer;
}
.provider-cell:hover { color: var(--accent); }
.mini-logo {
  width: 32px; height: 32px;
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Fraunces', serif; font-weight: 700;
  color: var(--paper); font-size: 14px;
  flex-shrink: 0;
}
.editor-ribbon {
  display: inline-block;
  font-size: 9px; font-weight: 700;
  padding: 2px 6px;
  background: var(--accent);
  color: var(--paper);
  border-radius: 2px;
  margin-left: 6px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  vertical-align: 2px;
}

/* FAQ Accordion */
.faq {
  border-top: 1px solid var(--ink);
}
.faq-item {
  border-bottom: 1px solid var(--ink);
}
.faq-q {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 20px 0;
  font-family: 'Fraunces', serif;
  font-size: 19px; font-weight: 600;
  letter-spacing: 0;
  cursor: pointer;
  display: flex; justify-content: space-between;
  align-items: center;
  gap: 16px;
  color: var(--ink);
}
.faq-q::after {
  content: '+';
  font-size: 28px;
  font-weight: 300;
  color: var(--accent);
  transition: transform 0.3s;
  flex-shrink: 0;
}
.faq-item.open .faq-q::after {
  content: '-';
  transform: rotate(180deg);
}
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  font-size: 15px;
  color: var(--mute);
  line-height: 1.6;
  padding: 0;
}
.faq-item.open .faq-a {
  max-height: 400px;
  padding: 0 0 24px;
}
.faq-a p { margin-bottom: 12px; }
.faq-a a { color: var(--accent); text-decoration: underline; }

/* Pros / Cons box */
.proscons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
  overflow: hidden;
}
.proscons-col {
  padding: 24px;
}
.proscons-col.pros { border-right: 1px solid var(--ink); background: #f4faf6; }
.proscons-col.cons { background: #fdf6f5; }
.proscons-col h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--ink);
}
.proscons-col.pros h4 { color: var(--good); }
.proscons-col.cons h4 { color: var(--bad); }
.proscons-col ul { list-style: none; }
.proscons-col li {
  font-size: 14px;
  line-height: 1.5;
  padding: 6px 0 6px 24px;
  position: relative;
}
.proscons-col.pros li::before {
  content: '+';
  position: absolute; left: 0; top: 6px;
  color: var(--good);
  font-weight: 700;
}
.proscons-col.cons li::before {
  content: 'x';
  position: absolute; left: 0; top: 6px;
  color: var(--bad);
  font-weight: 700;
}
.review-page #r-proscons h2 {
  font-size: clamp(32px, 4vw, 40px);
  margin-bottom: 28px;
}
.review-page #r-proscons .proscons {
  margin-top: 0;
}
.review-page #r-proscons .proscons-col {
  padding: 28px 24px;
}
.review-page #r-proscons .proscons-col h4 {
  margin-bottom: 18px;
  padding-bottom: 14px;
}
.review-page #r-proscons .proscons-col ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
}
.review-page #r-proscons .proscons-col li {
  padding: 0 0 0 24px;
  font-size: 15px;
  line-height: 1.45;
}
.review-page #r-proscons .proscons-col.pros li::before {
  content: '\2713';
  top: 0;
}
.review-page #r-proscons .proscons-col.cons li::before {
  content: 'X';
  top: 0;
  font-weight: 500;
}

/* CTA Banner */
.cta-banner {
  background: var(--ink); color: var(--paper);
  padding: 48px;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}
.cta-banner::before {
  content: '';
  position: absolute;
  top: -50%; right: -10%;
  width: 60%; height: 200%;
  background: radial-gradient(circle, rgba(214,68,25,0.3), transparent 70%);
  pointer-events: none;
}
.cta-banner > * { position: relative; }
.cta-banner h3 {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.1;
  margin-bottom: 6px;
}
.cta-banner p {
  color: var(--paper-2);
  font-size: 14px;
}

/* TOC sidebar */
.with-toc {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 56px;
  align-items: flex-start;
}
.toc {
  position: sticky;
  top: 100px;
  font-size: 13px;
}
.toc h6 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mute);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--ink);
}
.toc ul + h6 {
  margin-top: 24px;
}
.toc ul { list-style: none; }
.toc li {
  padding: 8px 0;
  border-left: 2px solid transparent;
  padding-left: 12px;
  transition: all 0.2s;
  cursor: pointer;
  margin-left: -14px;
  color: var(--mute);
}
.toc li:hover, .toc li.active {
  border-left-color: var(--accent);
  color: var(--ink);
}
.toc li.active { font-weight: 600; }
.toc .toc-depth-3 {
  font-size: 12px;
  padding-left: 24px;
}
.cpt-single-toc-layout {
  margin-top: 32px;
}
.cpt-single-toc-main {
  min-width: 0;
}
.cpt-single-toc-main > section {
  scroll-margin-top: 100px;
}
.cpt-single-toc-main > section + section {
  margin-top: 56px;
}

/* Verdict box */
.verdict-box {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 28px;
  box-shadow: 4px 4px 0 var(--ink);
  margin: 32px 0;
}
.verdict-box h4 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 12px;
}

/* Author box */
.author-box {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px;
  background: var(--paper-3);
  border: 1px solid var(--ink);
  border-radius: 4px;
  margin: 40px 0;
}
.author-photo {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  display: flex; align-items: center; justify-content: center;
  color: var(--paper);
  font-family: 'Fraunces', serif;
  font-size: 24px; font-weight: 700;
  flex-shrink: 0;
}
.author-info { flex: 1; }
.author-name {
  font-family: 'Fraunces', serif;
  font-size: 18px; font-weight: 600;
  margin-bottom: 2px;
}
.author-role {
  font-size: 12px;
  color: var(--mute);
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.author-bio { font-size: 13px; color: var(--mute); line-height: 1.5; }

/* Filter Bar */
.filter-bar {
  background: var(--paper-3);
  border: 1px solid var(--ink);
  border-radius: 4px;
  padding: 20px;
  margin-bottom: 32px;
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
}
.filter-group {
  display: flex; flex-direction: column;
  gap: 4px;
}
.filter-label {
  font-size: 10px;
  font-family: 'JetBrains Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mute);
}
.filter-bar select, .filter-bar input {
  border: 1px solid var(--ink);
  background: var(--paper);
  padding: 8px 12px;
  font-family: inherit;
  font-size: 13px;
  border-radius: 2px;
  outline: none;
}
.filter-bar select:focus { border-color: var(--accent); }
.filter-chip {
  background: var(--ink); color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.filter-chip .x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin: 0 -3px 0 1px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  opacity: 0.72;
}
.filter-chip .x:hover,
.filter-chip .x:focus-visible {
  background: var(--paper);
  color: var(--ink);
  opacity: 1;
  outline: none;
}

/* Article prose */
.prose h2 {
  font-family: 'Fraunces', serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 48px 0 16px;
}
.prose h2:first-child { margin-top: 0; }
.prose h3 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 32px 0 12px;
}
.prose p {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 18px;
  color: #2a2b27;
}
.prose ul, .prose ol {
  margin: 0 0 20px 24px;
  font-size: 16px;
  line-height: 1.7;
}
.prose ul li, .prose ol li { margin-bottom: 8px; }
.prose code {
  background: var(--paper-2);
  padding: 2px 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  border-radius: 2px;
}
.prose pre {
  background: var(--ink);
  color: var(--paper);
  padding: 20px 24px;
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  line-height: 1.6;
  overflow-x: auto;
  margin: 20px 0;
}
.prose pre code { background: transparent; padding: 0; color: inherit; }
.prose blockquote {
  border-left: 3px solid var(--accent);
  padding: 4px 0 4px 20px;
  margin: 24px 0;
  font-style: italic;
  color: var(--mute);
}
.prose a {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Stats Bar */
.stats-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1px;
  background: var(--ink);
  border: 1px solid var(--ink);
  border-radius: 4px;
  overflow: hidden;
  margin: 28px 0;
}
.stat-cell {
  background: var(--paper);
  padding: 18px 16px;
  text-align: center;
}
.stat-label {
  font-size: 10px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mute);
  margin-bottom: 6px;
}
.stat-val {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
.stat-val small { font-size: 12px; color: var(--mute); font-weight: 400; }

/* Section spacing */
.spacer-lg { padding: 80px 0; }
.spacer-md { padding: 56px 0; }

/* Card grid */
.card-grid {
  display: grid;
  gap: 24px;
}
.card-grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
.card-grid.cols-4 { grid-template-columns: repeat(4, 1fr); }

/* ============ FOOTER ============ */
footer.site-footer {
  background: var(--ink); color: var(--paper);
  padding: 80px 0 32px;
  border-top: 4px solid var(--accent);
  margin-top: 80px;
}
.footer-grid {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 60px;
}
.footer-brand .logo { color: var(--paper); }
.footer-tagline {
  margin: 18px 0 24px;
  color: var(--paper-2);
  font-size: 14px;
  line-height: 1.5;
  max-width: 280px;
}
.footer-socials { display: flex; gap: 10px; }
.social-icon {
  width: 36px; height: 36px;
  border: 1px solid var(--mute);
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
  transition: all 0.2s;
  cursor: pointer;
}
.social-icon:hover { background: var(--accent); border-color: var(--accent); }
.footer-col h5 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 20px;
  color: var(--paper-2);
}
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: 10px; }
.footer-col a {
  color: var(--paper); font-size: 14px;
  transition: color 0.2s;
  cursor: pointer;
}
.footer-col a:hover { color: var(--accent); }
.footer-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 24px 0;
  border-top: 1px solid var(--mute);
  display: flex; justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: var(--paper-2);
  flex-wrap: wrap; gap: 12px;
}
.footer-legal { display: flex; gap: 24px; }
.footer-legal a { cursor: pointer; }
.footer-legal a:hover { color: var(--accent); }

/* ============ RESPONSIVE ============ */
@media (max-width: 1024px) {
  .nav-links { display: none; }
  .mobile-toggle { display: inline-flex; }
  .with-toc { grid-template-columns: 1fr; gap: 32px; }
  .toc { position: static; }
  .card-grid.cols-3 { grid-template-columns: repeat(2, 1fr); }
  .card-grid.cols-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .stats-bar { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .topbar-inner > div:last-child { display: none; }
  .card-grid.cols-3, .card-grid.cols-4 { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-col h5 {
    cursor: pointer;
    margin-bottom: 0;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.16);
  }
  .footer-col ul {
    display: none;
    padding-top: 14px;
  }
  .footer-col.open ul {
    display: block;
  }
  .stats-bar { grid-template-columns: repeat(2, 1fr); }
  .proscons { grid-template-columns: 1fr; }
  .proscons-col.pros { border-right: 0; border-bottom: 1px solid var(--ink); }
  .cta-banner { padding: 32px 24px; }
}

/* ============ SEARCH ============ */
.nav-search {
  background: transparent;
  border: 0;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.16s, color 0.16s;
  flex-shrink: 0;
  color: var(--ink);
}
.nav-search:hover,
.nav-search:focus-visible {
  background: var(--paper-2);
  color: var(--accent);
  outline: 0;
}

.search-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  max-width: 100vw;
  background: rgba(14, 15, 12, 0.7);
  backdrop-filter: blur(8px);
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 80px 24px 24px;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  overflow-x: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.search-overlay.open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.search-panel {
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 6px;
  box-shadow: 12px 12px 0 var(--accent);
  width: 100%;
  max-width: min(640px, calc(100vw - 32px));
  max-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(-20px);
  transition: transform 0.25s;
}
.search-overlay.open .search-panel {
  transform: translateY(0);
}
.search-input-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--ink);
}
.search-input-row input {
  flex: 1;
  border: 0;
  background: transparent;
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 500;
  outline: none;
  letter-spacing: 0;
  color: var(--ink);
}
.search-input-row input::placeholder {
  color: var(--mute-2);
}
.search-close {
  background: var(--paper-2);
  border: 1px solid var(--ink);
  padding: 6px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  cursor: pointer;
  border-radius: 2px;
  transition: all 0.15s;
}
.search-close:hover {
  background: var(--ink);
  color: var(--paper);
}

.search-filters {
  display: flex;
  gap: 4px;
  padding: 12px 24px;
  border-bottom: 1px solid var(--paper-2);
  overflow-x: auto;
}
.sf-tab {
  background: transparent;
  border: 1px solid transparent;
  padding: 5px 12px;
  font-size: 12px;
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.05em;
  cursor: pointer;
  border-radius: 100px;
  color: var(--mute);
  transition: all 0.15s;
  white-space: nowrap;
}
.sf-tab:hover { color: var(--ink); }
.sf-tab.active {
  background: var(--ink);
  color: var(--paper);
}

.search-results {
  padding: 16px 24px 24px;
  overflow-y: auto;
}
.sr-section { margin-bottom: 20px; }
.sr-section:last-child { margin-bottom: 0; }
.sr-section-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--mute);
  margin-bottom: 8px;
  padding-top: 8px;
}
.sr-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.15s;
  margin: 0 -12px;
}
.sr-item:hover { background: var(--paper-2); }
.sr-icon {
  width: 30px;
  flex-shrink: 0;
}
.sr-title {
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 2px;
}
.sr-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.03em;
}
.sr-recent {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sr-chip {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  padding: 4px 10px;
  background: var(--paper-2);
  border: 1px solid var(--ink);
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.15s;
}
.sr-chip:hover {
  background: var(--ink);
  color: var(--paper);
}

@media (max-width: 720px) {
  .search-overlay { padding: 60px 16px 16px; }
  .search-input-row input { font-size: 18px; }
  .search-input-row { padding: 16px 18px; }
}

/* ============ PAGE: HOMEPAGE ============ */
.home .hero {
  padding: 80px 0 100px;
  position: relative;
  overflow: hidden;
}
.home .hero-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 60px;
  align-items: center;
}
.home .hero-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 14px;
  background: var(--ink); color: var(--paper);
  border-radius: 100px;
  margin-bottom: 28px;
}
.home .hero-eyebrow .blink {
  width: 6px; height: 6px; background: var(--accent); border-radius: 50%;
  animation: pulse 1.5s infinite;
}
.home .hero h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(48px, 6.5vw, 88px);
  line-height: 0.95;
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 28px;
}
.home .hero h1 em {
  font-style: italic;
  color: var(--accent);
  font-weight: 400;
}
.home .hero h1 .underline {
  position: relative; display: inline-block;
}
.home .hero h1 .underline::after {
  content: ''; position: absolute; bottom: 6px; left: 0; right: 0;
  height: 12px; background: var(--highlight); z-index: -1;
  transform: skewX(-3deg);
}
.home .hero-sub {
  font-size: 19px; color: var(--mute);
  max-width: 540px; margin-bottom: 36px;
  line-height: 1.5;
}
.hero-search {
  display: flex; gap: 0;
  border: 2px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
  max-width: 540px;
  margin-bottom: 32px;
  box-shadow: 6px 6px 0 var(--ink);
}
.hero-search input {
  flex: 1; border: 0; background: transparent;
  padding: 16px 20px; font-size: 15px;
  font-family: inherit;
  outline: none;
}
.hero-search button {
  background: var(--ink); color: var(--paper);
  border: 0; padding: 0 24px;
  font-weight: 600; font-size: 14px;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s;
}
.hero-search button:hover { background: var(--accent); }
.hero-trust {
  display: flex; gap: 32px;
  flex-wrap: wrap;
}
.trust-item { display: flex; align-items: baseline; gap: 8px; }
.trust-num {
  font-family: 'Fraunces', serif;
  font-size: 32px; font-weight: 600;
  letter-spacing: 0;
}
.trust-label {
  font-size: 12px; color: var(--mute);
  text-transform: uppercase; letter-spacing: 0.08em;
}
.hero-card {
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 4px;
  padding: 28px;
  position: relative;
  box-shadow: 12px 12px 0 var(--ink);
  transform: rotate(1.5deg);
  transition: transform 0.3s;
}
.hero-card:hover { transform: rotate(0); }
.hero-card-header {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 16px; margin-bottom: 20px;
  border-bottom: 1px dashed var(--ink);
}
.hero-card-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase;
}
.hero-card-date { font-size: 11px; color: var(--mute); }
.score-rank {
  display: flex; gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--paper-2);
  align-items: center;
  cursor: pointer;
  transition: padding 0.2s;
}
.score-rank:hover { padding-left: 8px; }
.score-rank:last-child { border-bottom: 0; }
.rank-num {
  font-family: 'Fraunces', serif;
  font-size: 28px; font-weight: 600;
  width: 36px;
  color: var(--mute);
}
.rank-num.first { color: var(--accent); }
.rank-name { flex: 1; font-weight: 600; font-size: 15px; }
.hero-card-foot {
  margin-top: 16px; padding-top: 16px;
  border-top: 1px dashed var(--ink);
  font-size: 12px; color: var(--mute);
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
}

/* Ticker */
.ticker {
  background: var(--ink); color: var(--paper);
  padding: 14px 0;
  overflow: hidden;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}
.ticker-track {
  display: flex; gap: 60px;
  animation: ticker 40s linear infinite;
  white-space: nowrap;
}
@keyframes ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.ticker-item {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px; letter-spacing: 0.05em;
  display: inline-flex; align-items: center; gap: 12px;
}
.ticker-item .arrow.up { color: #6ed99d; }
.ticker-item .arrow.down { color: #ff6b6b; }
.ticker-item .dot { color: var(--accent); font-size: 18px; }

/* Featured */
.featured-head {
  display: flex; align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 48px;
  gap: 24px; flex-wrap: wrap;
}
.home .featured { padding: 100px 0 80px; }
.featured-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Compare section */
.compare-section { padding: 80px 0; background: var(--paper-2); margin: 60px 0; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }

/* Proxy types */
.types-section { padding: 80px 0; }
.types-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-left: 1px solid var(--ink);
  border-top: 1px solid var(--ink);
  margin-top: 40px;
}
.type-card {
  padding: 32px 28px;
  border-right: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
  transition: background 0.3s;
  cursor: pointer;
  position: relative;
}
.type-card:hover { background: var(--ink); color: var(--paper); }
.type-card:hover .type-arrow { color: var(--accent); transform: translateX(6px); }
.type-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--mute);
  margin-bottom: 18px;
  letter-spacing: 0.1em;
}
.type-card:hover .type-num { color: var(--paper-2); }
.type-icon {
  width: 48px; height: 48px;
  margin-bottom: 20px;
  display: flex; align-items: center; justify-content: center;
}
.type-name {
  font-family: 'Fraunces', serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 10px;
}
.type-desc {
  font-size: 14px;
  color: var(--mute);
  margin-bottom: 24px;
  line-height: 1.5;
}
.type-card:hover .type-desc { color: var(--paper-2); }
.type-meta {
  display: flex; justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px dashed currentColor;
  font-size: 12px;
}
.type-count {
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.05em;
}
.type-arrow {
  font-size: 18px;
  transition: all 0.3s;
}

/* Use cases */
.usecases-section { padding: 80px 0; background: var(--ink); color: var(--paper); }
.usecases-section .section-tag { color: var(--paper-2); }
.usecases-section .section-tag::before { background: var(--paper-2); }
.usecases-section .section-title { color: var(--paper); }
.usecases-section .section-sub { color: var(--paper-2); }
.usecase-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 48px;
}
.usecase {
  border: 1px solid var(--mute);
  padding: 24px;
  border-radius: 4px;
  transition: all 0.3s;
  cursor: pointer;
}
.usecase:hover {
  background: var(--accent);
  border-color: var(--accent);
  transform: translateY(-3px);
}
.usecase-icon {
  margin-bottom: 16px;
}
.usecase-name {
  font-family: 'Fraunces', serif;
  font-size: 19px; font-weight: 600;
  margin-bottom: 6px;
}
.usecase-desc {
  font-size: 12px;
  color: var(--paper-2);
  line-height: 1.4;
}
.usecase:hover .usecase-desc { color: var(--paper); }

/* Tests */
.tests-section { padding: 100px 0; }
.tests-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 48px;
}
.test-item {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: 32px;
  padding: 28px 0;
  border-bottom: 1px solid var(--ink);
  align-items: center;
  transition: padding 0.3s;
  cursor: pointer;
}
.test-item:first-child { border-top: 1px solid var(--ink); }
.test-item:hover { padding-left: 16px; }
.test-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--mute);
  letter-spacing: 0.05em;
}
.test-date .day {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 32px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1;
  margin-bottom: 2px;
}
.test-cat {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--accent);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.test-title {
  font-family: 'Fraunces', serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 6px;
  line-height: 1.2;
}
.test-excerpt {
  font-size: 14px; color: var(--mute);
  line-height: 1.5;
  max-width: 600px;
}
.test-arrow {
  color: var(--mute);
  transition: color 0.3s, transform 0.3s;
}
.test-item:hover .test-arrow {
  color: var(--accent);
  transform: translateX(4px);
}

/* Methodology */
.method-section { padding: 80px 0; background: var(--paper-2); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.method-grid {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
  align-items: center;
}
.method-steps { display: grid; gap: 0; }
.step {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px dashed var(--ink);
  align-items: start;
}
.step:last-child { border-bottom: 0; }
.step-num {
  font-family: 'Fraunces', serif;
  font-size: 38px; font-weight: 600;
  line-height: 1;
  color: var(--accent);
}
.step-content h4 {
  font-family: 'Fraunces', serif;
  font-size: 19px; font-weight: 600;
  margin-bottom: 4px;
}
.step-content p {
  font-size: 14px; color: var(--mute);
  line-height: 1.5;
}

/* Guides */
.guides-section { padding: 100px 0 80px; }
.guides-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.guide {
  background: var(--paper);
  border: 1px solid var(--ink);
  border-radius: 4px;
  padding: 28px;
  transition: all 0.3s;
  cursor: pointer;
  display: flex; flex-direction: column;
  height: 100%;
}
.guide-link {
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.guide:hover {
  transform: translateY(-4px);
  box-shadow: 6px 6px 0 var(--ink);
}
.guide-cat {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  padding: 4px 10px;
  background: var(--ink); color: var(--paper);
  border-radius: 100px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  align-self: flex-start;
  margin-bottom: 20px;
}
.guide-cat.tut { background: var(--accent-2); }
.guide-cat.com { background: var(--accent); }
.guide-cat.beg { background: var(--warn); color: var(--ink); }
.guide-title {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 12px;
  flex: 1;
}
.guide-excerpt {
  font-size: 14px; color: var(--mute);
  line-height: 1.5;
  margin-bottom: 18px;
}
.guide-meta {
  display: flex; justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding-top: 16px;
  border-top: 1px dashed var(--ink);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.05em;
  margin-top: auto;
}
.guide-library .page-head {
  padding: 56px 0 32px;
  margin-bottom: 48px;
}
.guide-library .section-title {
  font-size: clamp(40px, 5vw, 56px);
}
.guide-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 48px;
  flex-wrap: wrap;
}
.guide-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 12px 20px;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  color: var(--mute);
  font-size: 13px;
  font-weight: 600;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.guide-tabs a:hover,
.guide-tabs a.active {
  color: var(--ink);
  border-bottom-color: var(--accent);
}
.guide-start {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 32px;
  margin-bottom: 56px;
}
.guide-start__head {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.guide-start__head span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  padding: 4px 10px;
  background: var(--accent);
  color: var(--paper);
  border-radius: 2px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.guide-start__head h2 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.15;
}
.guide-start__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.guide-start-card {
  background: var(--paper);
  border: 1px solid var(--ink);
  padding: 16px;
  border-radius: 3px;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  transition: background 0.2s, color 0.2s, transform 0.2s;
}
.guide-start-card:hover {
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-2px);
}
.guide-start-card strong {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 4px;
}
.guide-start-card span {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.25;
}
.guide-start-card small {
  margin-top: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  opacity: 0.65;
  letter-spacing: 0.05em;
}
.guide-library-list .section-title {
  font-size: 32px;
  margin-bottom: 24px;
}
.guide-library-list .card-grid {
  margin-top: 0;
}
.btn-arrow-svg {
  width: 18px;
  height: 18px;
  font-size: 13px;
  transition: transform 0.2s;
}
.btn:hover .btn-arrow-svg {
  transform: translateX(2px);
}

/* Newsletter */
.newsletter-section { padding: 80px 0; }
.newsletter-inner {
  background: var(--ink); color: var(--paper);
  padding: 60px;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}
.newsletter-inner::before {
  content: '';
  position: absolute;
  top: -50%; right: -10%;
  width: 60%; height: 200%;
  background: radial-gradient(circle, rgba(214,68,25,0.3), transparent 70%);
  pointer-events: none;
}
.newsletter-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 48px;
  align-items: center;
  position: relative;
}
.newsletter h3 {
  font-family: 'Fraunces', serif;
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.05;
  margin-bottom: 12px;
}
.newsletter p {
  color: var(--paper-2);
  font-size: 15px;
  line-height: 1.5;
  max-width: 440px;
}
.newsletter-form {
  display: flex; gap: 8px;
  background: var(--paper);
  padding: 6px;
  border-radius: 4px;
}
.newsletter-form input {
  flex: 1; border: 0; background: transparent;
  padding: 14px 16px;
  font-size: 14px; font-family: inherit;
  color: var(--ink);
  outline: none;
}
.newsletter-form button {
  background: var(--ink); color: var(--paper);
  border: 0;
  padding: 0 22px;
  font-size: 13px; font-weight: 600;
  border-radius: 3px;
  cursor: pointer;
  transition: background 0.2s;
  letter-spacing: 0.02em;
}
.newsletter-form button:hover { background: var(--accent); }
.newsletter small {
  display: block;
  margin-top: 14px;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.05em;
}

/* ============ PAGE: PILLAR ============ */
.pillar-hero {
  padding: 56px 0 40px;
}
.pillar-meta {
  display: flex; gap: 20px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.pillar-meta .dot { color: var(--accent); }
.pillar-hero h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.02;
  margin-bottom: 24px;
}
.pillar-intro {
  font-size: 19px;
  color: var(--mute);
  line-height: 1.5;
  max-width: 720px;
  margin-bottom: 36px;
}

.quick-verdict {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 32px;
}
.verdict-card {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 20px;
  position: relative;
}
.verdict-card.gold {
  background: var(--ink);
  color: var(--paper);
}
.verdict-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 8px;
}
.verdict-card.gold .verdict-tag { color: var(--accent); }
.verdict-name {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 4px;
}
.verdict-score {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--mute);
}
.verdict-card.gold .verdict-score { color: var(--paper-2); }

/* Pillar review block */
.review-block {
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
  padding: 36px;
  margin-bottom: 32px;
  scroll-margin-top: 100px;
}
.review-block-head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px dashed var(--ink);
}
.review-block-head .provider-logo {
  width: 64px; height: 64px;
  font-size: 28px;
}
.review-block-head .meta { flex: 1; }
.review-block-head h2 {
  font-family: 'Fraunces', serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 6px;
}
.review-block-head .ranking {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--mute);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.review-block-head .rscore { text-align: right; }

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 24px 0;
}
.feature-cell {
  background: var(--paper-3);
  border: 1px solid var(--paper-2);
  border-radius: 3px;
  padding: 12px 14px;
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.feature-cell .ficon { color: var(--good); font-weight: 700; }
.review-page #r-features .feature-cell .ficon {
  width: 18px;
  flex: 0 0 18px;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  color: var(--good);
}

/* ============ PAGE: REVIEW ============ */
.review-page-head {
  padding: 56px 0 40px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 48px;
}
.review-page-head .head-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
.review-page-head .provider-logo {
  width: 80px; height: 80px;
  font-size: 32px;
  display: inline-flex;
  margin-bottom: 20px;
}
.provider-page-kickers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.provider-page-kickers span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--ink);
  background: var(--paper-3);
  border-radius: 3px;
  padding: 5px 8px;
}
.provider-tags--single {
  margin-top: 18px;
  margin-bottom: 0;
}
.review-page-head h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(40px, 5vw, 56px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.05;
  margin-bottom: 12px;
}
.review-page-head .rsubtitle {
  font-size: 18px;
  color: var(--mute);
  max-width: 520px;
}
.review-page-head .score-circle {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: var(--ink);
  color: var(--paper);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 6px 6px 0 var(--accent);
}
.review-page-head .score-circle .score {
  font-family: 'Fraunces', serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1;
}
.review-page-head .score-circle .out-of {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  opacity: 0.6;
  margin-top: 4px;
  letter-spacing: 0.1em;
}

.score-breakdown {
  display: grid;
  gap: 12px;
  margin: 24px 0;
}
.score-row {
  display: grid;
  grid-template-columns: 140px 1fr 50px;
  gap: 16px;
  align-items: center;
}
.score-row .label {
  font-size: 13px;
  font-weight: 500;
}
.score-row .bar {
  height: 8px;
  background: var(--paper-2);
  border-radius: 4px;
  overflow: hidden;
}
.score-row .bar .fill {
  height: 100%;
  background: var(--accent);
  border-radius: 4px;
  transition: width 0.6s ease;
}
.score-row .num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}

/* ============ PAGE: COMPARISON ============ */
.compare-head {
  padding: 56px 0 40px;
}
.compare-vs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 32px;
  align-items: center;
  margin: 32px 0;
}
.compare-vs .side {
  text-align: center;
  padding: 28px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.compare-vs .side.winner {
  background: var(--ink);
  color: var(--paper);
  position: relative;
}
.compare-vs .side.winner::before {
  content: 'OUR PICK';
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%);
  background: var(--accent);
  color: var(--paper);
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 2px;
}
.compare-vs .side .provider-logo {
  width: 72px; height: 72px;
  font-size: 28px;
  margin: 0 auto 16px;
}
.compare-vs .side h3 {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 8px;
}
.compare-vs .vs {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 48px;
  color: var(--mute);
  text-align: center;
}

.vs-table {
  width: 100%;
  border-collapse: collapse;
  border: 1.5px solid var(--ink);
  background: var(--paper);
  border-radius: 4px;
  overflow: hidden;
}
.vs-table th {
  background: var(--ink);
  color: var(--paper);
  padding: 14px 20px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
}
.vs-table th.col-a, .vs-table th.col-b { text-align: center; }
.vs-table td {
  padding: 16px 20px;
  border-bottom: 1px solid var(--paper-2);
  font-size: 14px;
  vertical-align: middle;
}
.vs-table tr:last-child td { border-bottom: 0; }
.vs-table tr:hover { background: #faf5ec; }
.vs-table .feature {
  font-weight: 600;
}
.vs-table .val { text-align: center; }
.vs-table .winner-cell {
  background: #fffaea;
  font-weight: 700;
  position: relative;
}
.vs-table .winner-cell::after {
  content: '*';
  color: var(--accent);
  margin-left: 4px;
}

/* ============ PAGE: HUB / GRID ============ */
.review-card {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 24px;
  transition: all 0.3s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
}
.review-card:hover {
  transform: translateY(-4px);
  box-shadow: 6px 6px 0 var(--ink);
}
.review-card-head {
  display: flex;
  gap: 14px;
  margin-bottom: 16px;
  align-items: center;
}
.review-card-head .provider-logo { width: 48px; height: 48px; font-size: 18px; }
.review-card-name {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 600;
  flex: 1;
}
.review-card .verdict-text {
  font-size: 14px;
  color: var(--mute);
  line-height: 1.5;
  margin-bottom: 16px;
  flex: 1;
}
.review-card-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px dashed var(--ink);
}
.review-card-foot .from-price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--mute);
}
.review-card-foot .from-price strong {
  font-family: 'Fraunces', serif;
  font-size: 18px;
  color: var(--ink);
  font-weight: 600;
}
.review-card--alternative {
  cursor: pointer;
  text-decoration: none;
}
.review-card--alternative:hover,
.review-card--alternative:focus {
  text-decoration: none;
}
.review-page #r-alt .review-card--alternative,
.review-page #r-alt .review-card--alternative *,
.review-page #r-alt .review-card--alternative:hover,
.review-page #r-alt .review-card--alternative:hover *,
.review-page #r-alt .review-card--alternative:focus,
.review-page #r-alt .review-card--alternative:focus *,
.review-page .provider-review-alternatives .review-card--alternative,
.review-page .provider-review-alternatives .review-card--alternative *,
.review-page .provider-review-alternatives .review-card--alternative:hover,
.review-page .provider-review-alternatives .review-card--alternative:hover *,
.review-page .provider-review-alternatives .review-card--alternative:focus,
.review-page .provider-review-alternatives .review-card--alternative:focus * {
  text-decoration: none;
}
.review-card--alternative .review-card-head {
  align-items: center;
}
.review-card--alternative .review-card-head .score-badge {
  margin-left: auto;
}
.review-card--alternative .verdict-text {
  min-height: 68px;
  text-decoration: none;
}
.review-card--alternative .verdict-text:hover,
.review-card--alternative .verdict-text:focus {
  text-decoration: none;
}
.review-card--alternative .compare-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--accent);
}
.review-card--alternative .compare-link .pa-icon {
  width: 12px;
  height: 12px;
}

/* ============ PAGE: PRICING TOOL ============ */
.tool-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 32px;
  align-items: start;
}
.tool-filters {
  position: sticky;
  top: 100px;
  background: var(--paper-3);
  border: 1px solid var(--ink);
  border-radius: 4px;
  padding: 24px;
}
.tool-filters h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--ink);
}
.tool-filter-group {
  margin-bottom: 20px;
}
.tool-filter-group label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 6px;
}
.tool-filter-group select,
.tool-filter-group input[type=range] {
  width: 100%;
}
.tool-filter-group input[type=text] {
  width: 100%;
  padding: 8px 10px;
  font-size: 13px;
  border: 1px solid var(--ink);
  background: var(--paper);
  border-radius: 2px;
  font-family: inherit;
}
.tool-filter-group .check-list {
  display: flex; flex-direction: column;
  gap: 6px;
  font-size: 13px;
}
.tool-filter-group .check-list label {
  display: flex; align-items: center; gap: 8px;
  font-weight: 400; cursor: pointer;
  margin-bottom: 0;
}
.range-vals {
  display: flex; justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  margin-top: 4px;
}

/* ============ PAGE: GUIDE ============ */
.guide-page-head {
  padding: 56px 0 40px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 48px;
}
.guide-page-meta {
  display: flex; gap: 16px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.guide-page-meta .diff {
  background: var(--warn);
  color: var(--ink);
  padding: 2px 8px;
  border-radius: 2px;
  font-weight: 600;
}
.guide-page-head h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.02;
  margin-bottom: 16px;
}
.guide-page-head .lead {
  font-size: 19px;
  color: var(--mute);
  line-height: 1.5;
  max-width: 720px;
}

/* Diagram box (in-content) */
.diagram-box {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 32px;
  margin: 32px 0;
  text-align: center;
}
.diagram-flow {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.diagram-node {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 16px 20px;
  font-family: 'Fraunces', serif;
  font-size: 16px;
  font-weight: 600;
  position: relative;
  box-shadow: 3px 3px 0 var(--ink);
}
.diagram-node.special {
  background: var(--ink);
  color: var(--paper);
  box-shadow: 3px 3px 0 var(--accent);
}
.diagram-arrow {
  font-size: 24px;
  color: var(--accent);
  font-weight: 700;
}
.diagram-caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 8px;
}

@media (max-width: 1024px) {
  .home .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .featured-list { grid-template-columns: repeat(2, 1fr); }
  .types-grid { grid-template-columns: repeat(2, 1fr); }
  .usecase-grid { grid-template-columns: repeat(3, 1fr); }
  .guides-grid { grid-template-columns: repeat(2, 1fr); }
  .guide-start__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-main > article.use-cases-hub-page { padding-bottom: 56px; }
  .use-cases-hub-page .page-head { padding: 40px 0 26px; margin-bottom: 40px; }
  .use-cases-hub-section { margin-bottom: 44px; }
  .use-case-guide-box { grid-template-columns: 1fr; }
  .alternatives-list--hub { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method-grid { grid-template-columns: 1fr; }
  .newsletter-grid { grid-template-columns: 1fr; }
  .quick-verdict { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .compare-vs { grid-template-columns: 1fr; }
  .review-page-head .head-grid { grid-template-columns: 1fr; }
  .tool-layout { grid-template-columns: 1fr; }
  .tool-filters { position: static; }
}
@media (max-width: 900px) {
}
@media (max-width: 720px) {
  .featured-list { grid-template-columns: 1fr; }
  .types-grid { grid-template-columns: 1fr; }
  .usecase-grid { grid-template-columns: repeat(2, 1fr); }
  .guides-grid { grid-template-columns: 1fr; }
  .guide-start { padding: 22px; }
  .guide-start__grid { grid-template-columns: 1fr; }
  .guide-tabs a { flex: 1 1 auto; justify-content: center; padding-inline: 12px; }
  .use-cases-hub-page .page-head { padding: 32px 0 22px; margin-bottom: 32px; }
  .use-cases-hub-section { margin-bottom: 36px; }
  .use-cases-grid { gap: 14px; margin-top: 18px; }
  .use-case-card,
  .use-case-guide-box { padding: 22px; }
  .use-cases-hub-section .table-wrap,
  .use-cases-hub-section .related-posts-grid { margin-top: 18px; }
  .use-case-quiz__choice { align-items: flex-start; flex-direction: column; gap: 6px; }
  .use-case-quiz__choice strong { text-align: left; white-space: normal; }
  .alternatives-list--hub { grid-template-columns: 1fr; }
  .home .hero h1 { font-size: 44px; }
  .hero-trust {
    flex-wrap: nowrap;
    gap: 12px;
    justify-content: space-between;
    padding: 0 12px;
  }
  .trust-item {
    flex: 1 1 0;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
  .trust-num {
    font-size: 26px;
    line-height: 1;
  }
  .trust-label {
    font-size: 9px;
    line-height: 1.25;
    letter-spacing: 0.06em;
  }
  .trust-item:nth-child(2) {
    align-items: center;
    text-align: center;
  }
  .trust-item:nth-child(3) {
    align-items: flex-end;
    text-align: right;
  }
  .newsletter-inner { padding: 36px 24px; }
  .newsletter h3 { font-size: 30px; }
  .test-item { grid-template-columns: 1fr; gap: 12px; }
  .test-arrow { display: none; }
  .feature-grid { grid-template-columns: 1fr; }
  .review-block { padding: 24px; }
  .review-block-head { flex-wrap: wrap; }
  .review-block-head .rscore { width: 100%; text-align: left; }
}

/* ============ PAGE: PRICING TOOL (REBUILT) ============ */
.pricing-page-v2 {
  padding-bottom: clamp(64px, 8vw, 104px);
}
.pricing-page-v2 .page-head {
  margin-bottom: clamp(36px, 5vw, 56px);
}
.pricing-page-title {
  font-size: clamp(42px, 6vw, 64px);
  line-height: 0.98;
}
.pricing-section {
  margin: 0 0 clamp(48px, 6vw, 72px);
}
.pricing-section:last-of-type { margin-bottom: 0; }
.pricing-filter-spec { margin-bottom: clamp(28px, 4vw, 44px); }
.pricing-section-title {
  font-size: clamp(28px, 4vw, 36px);
  margin-bottom: 16px;
}
.pricing-section > .section-sub {
  margin-bottom: 28px;
}
.pricing-filter-bar {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  margin: 0 0 clamp(48px, 6vw, 72px);
  padding: 20px 22px;
  position: sticky;
  top: 76px;
  z-index: 50;
}
.pfilter-row {
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr 1fr 1fr;
  gap: 14px;
  align-items: end;
  margin-bottom: 12px;
}
.pfilter-group { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pfilter-group label {
  font-size: 10px;
  font-family: 'JetBrains Mono', monospace;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--mute);
  display: flex;
  justify-content: space-between;
}
.budget-current {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 7px;
  border: 1px solid rgba(14, 15, 12, 0.18);
  border-radius: 3px;
  background: var(--paper);
  color: var(--ink);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.pfilter-group select {
  min-height: 40px;
  padding: 8px 12px;
  font-size: 13px;
  border: 1.5px solid var(--ink);
  background: var(--paper);
  border-radius: 2px;
  font-family: inherit;
  cursor: pointer;
}
.pfilter-group select:focus { outline: none; border-color: var(--accent); }

.range-wrap {
  position: relative;
  height: 28px;
  display: block;
  margin-top: 2px;
  padding: 0 10px;
}
.range-track {
  position: absolute;
  left: 10px;
  right: 10px;
  top: 13px;
  height: 4px;
  overflow: hidden;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--paper);
  box-shadow: inset 0 1px 0 rgba(14, 15, 12, 0.12);
}
.range-track span {
  position: absolute;
  top: -1px;
  bottom: -1px;
  left: 0;
  right: 50%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), #f3a12d);
}
.range-wrap input[type=range] {
  position: absolute;
  left: 0;
  top: 1px;
  width: 100%;
  height: 28px;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}
.range-wrap input[data-budget-max] {
  z-index: 3;
}
.range-wrap input[type=range]:focus {
  outline: none;
}
.range-wrap input[type=range]::-webkit-slider-thumb {
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  background: var(--paper);
  border: 3px solid var(--accent);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 0 0 1px var(--ink), 2px 2px 0 rgba(14, 15, 12, 0.35);
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.range-wrap input[type=range]::-webkit-slider-thumb:hover {
  background: var(--accent);
  transform: scale(1.08);
  box-shadow: 0 0 0 1px var(--ink), 3px 3px 0 rgba(14, 15, 12, 0.42);
}
.range-wrap input[type=range]:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px var(--ink), 0 0 0 5px rgba(226, 59, 31, 0.18);
}
.range-wrap input[type=range]::-moz-range-thumb {
  pointer-events: auto;
  width: 12px;
  height: 12px;
  background: var(--paper);
  border: 3px solid var(--accent);
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 0 0 1px var(--ink), 2px 2px 0 rgba(14, 15, 12, 0.35);
}
.range-wrap input[type=range]:focus-visible::-moz-range-thumb,
.range-wrap input[type=range]::-moz-range-thumb:hover {
  background: var(--accent);
  box-shadow: 0 0 0 1px var(--ink), 0 0 0 5px rgba(226, 59, 31, 0.18);
}
.range-wrap input[type=range]::-webkit-slider-runnable-track {
  height: 6px;
  background: transparent;
}
.range-wrap input[type=range]::-moz-range-track {
  height: 6px;
  background: transparent;
  border: 0;
}
.range-vals {
  display: flex;
  justify-content: space-between;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: var(--mute);
  margin-top: 2px;
  padding: 0 2px;
}

.active-chips {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px dashed var(--ink);
}
.pricing-result-count {
  align-self: center;
  color: var(--mute);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
}
.active-chips [data-pricing-clear] {
  margin-left: auto;
}
.active-filter-chip {
  background: var(--accent);
}
.pricing-how-tool {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr);
  gap: 28px;
  align-items: stretch;
  padding: 30px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.pricing-how-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.pricing-how-card {
  padding: 18px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
}
.pricing-how-card span {
  display: block;
  margin-bottom: 10px;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.pricing-how-card strong {
  display: block;
  margin-bottom: 6px;
  font-family: 'Fraunces', serif;
  font-size: 20px;
}
.pricing-how-card p {
  color: var(--mute);
  font-size: 13px;
  line-height: 1.45;
}

/* Pricing table with expandable tiers */
.pricing-table .tier-detail {
  display: none;
  background: #faf5ec;
}
.pricing-table .tier-detail.show { display: table-row; }
.pricing-table .tier-main {
  cursor: pointer;
}
.pricing-table td {
  vertical-align: middle;
}
.pricing-page-v2 .table-wrap {
  max-height: min(78vh, 760px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.pricing-page-v2 .pricing-table thead th {
  position: sticky;
  top: 0;
  z-index: 25;
  box-shadow: 0 2px 0 var(--ink);
}
.expand-ind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 22px;
  margin-left: auto;
  padding: 0;
  border: 1px solid rgba(14, 15, 12, 0.18);
  border-radius: 2px;
  background: #3f63d7;
  color: #fff;
  cursor: pointer;
  transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.expand-ind:hover,
.expand-ind:focus-visible {
  background: var(--ink);
  box-shadow: 2px 2px 0 var(--accent);
  outline: none;
}
.expand-ind__icon {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 7px solid currentColor;
  transform: rotate(180deg);
  transition: transform 0.18s ease;
}
.tier-main.expanded .expand-ind {
  background: #3f63d7;
}
.tier-main.expanded .expand-ind__icon {
  transform: rotate(0deg);
}
.tier-detail-label {
  padding-left: 44px;
  color: var(--mute);
  font-size: 12px;
}
.pricing-verified-note {
  margin-top: 12px;
  color: var(--mute);
  font-size: 12px;
  font-style: italic;
}

/* Value Picks cards */
.value-pick {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 28px;
  position: relative;
  transition: all 0.3s;
  display: flex;
  flex-direction: column;
}
.value-pick:hover {
  transform: translateY(-4px);
  box-shadow: 8px 8px 0 var(--ink);
}
.value-pick.featured {
  background: var(--ink);
  color: var(--paper);
}
.value-pick.featured .price-label { color: var(--paper-2); }
.value-pick.featured .provider-score { color: var(--paper-2); }
.value-pick.featured .provider-score strong { color: var(--paper); }
.value-pick.featured .pick-why strong { color: var(--paper); }
.value-pick.featured .pick-why { color: var(--paper-2); }

.pick-ribbon {
  position: absolute;
  top: -12px;
  left: 24px;
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 2px;
  font-family: 'JetBrains Mono', monospace;
}
.pick-ribbon.budget { background: var(--accent-2); color: var(--paper); }
.pick-ribbon.value { background: var(--accent); color: var(--paper); }
.pick-ribbon.premium { background: var(--warn); color: var(--ink); }

.pick-price-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 18px 0;
  margin-top: 8px;
  border-top: 1px dashed var(--ink);
  border-bottom: 1px dashed var(--ink);
  margin-bottom: 16px;
}
.value-pick.featured .pick-price-row {
  border-color: var(--mute);
}

.pick-why {
  font-size: 13px;
  line-height: 1.55;
  color: var(--mute);
  margin-bottom: 20px;
  flex: 1;
}
.pricing-picks-grid {
  margin-top: 28px;
}
.pricing-pick-head {
  margin-top: 16px;
}
.pricing-pick-head .provider-logo {
  width: 56px;
  height: 56px;
}
.pricing-pick-meta {
  text-align: right;
}
.pricing-pick-meta .mono {
  font-size: 16px;
  font-weight: 700;
}
.pricing-pick-button {
  width: 100%;
  justify-content: center;
}
.pricing-faq .faq-section {
  margin-top: 24px;
}
@media (max-width: 900px) {
  .pricing-how-tool {
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .pricing-how-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .pricing-page-v2 .table-wrap {
    max-height: none;
    overflow: visible;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .pricing-page-v2 .pricing-table {
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 14px;
  }
  .pricing-page-v2 .pricing-table thead {
    display: none;
  }
  .pricing-page-v2 .pricing-table tbody,
  .pricing-page-v2 .pricing-table tr,
  .pricing-page-v2 .pricing-table td {
    display: block;
    width: 100%;
  }
  .pricing-page-v2 .pricing-table tr {
    border: 1.5px solid var(--ink);
    border-radius: 4px;
    background: var(--paper);
    overflow: hidden;
  }
  .pricing-page-v2 .pricing-table tr.highlight {
    background: #fffaea;
  }
  .pricing-page-v2 .pricing-table .tier-detail {
    display: none;
    margin-top: -14px;
    border-top: 0;
    background: #faf5ec;
  }
  .pricing-page-v2 .pricing-table .tier-detail.show {
    display: block;
  }
  .pricing-page-v2 .pricing-table td {
    display: grid;
    grid-template-columns: minmax(108px, 0.38fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--paper-2);
  }
  .pricing-page-v2 .pricing-table td::before {
    content: attr(data-label);
    color: var(--mute);
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .pricing-page-v2 .pricing-table td:first-child {
    grid-template-columns: 1fr;
    background: var(--paper-3);
  }
  .pricing-page-v2 .pricing-table td:first-child::before {
    display: none;
  }
  .pricing-page-v2 .pricing-table td:last-child {
    border-bottom: 0;
  }
  .pricing-page-v2 .pricing-table td[data-label="Action"] .btn {
    width: 100%;
  }
  .pricing-page-v2 .tier-detail-label {
    padding-left: 0;
  }
}

/* ============ PAGE: METHODOLOGY ============ */
.methodology-page .page-head {
  margin-bottom: 54px;
}
.methodology-title {
  font-size: 56px;
}
.methodology-section {
  margin-top: 100px;
}
.methodology-page .page-head + .methodology-section {
  margin-top: 0;
}
.methodology-section-title {
  font-size: 32px;
  margin-bottom: 12px;
}
.methodology-section > .section-sub {
  margin-bottom: 40px;
}
.methodology-subtitle {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  font-weight: 600;
  margin: 40px 0 20px;
}
.methodology-update-copy {
  position: relative;
  margin-top: 28px;
  color: var(--paper-2);
  font-size: 16px;
  line-height: 1.6;
}
.methodology-blog-link {
  margin-top: 32px;
}
.methodology-extra-content {
  margin-top: 72px;
}

/* Section 2: Timeline 7 steps */
.timeline-7 {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap: 8px;
  align-items: start;
  margin: 0 -8px;
}
.tl-step {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 20px 16px;
  position: relative;
  text-align: center;
}
.tl-step:nth-child(4n+1) {
  background: var(--ink);
  color: var(--paper);
}
.tl-icon {
  font-size: 28px;
  margin-bottom: 10px;
}
.tl-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.15em;
  color: var(--accent);
  margin-bottom: 6px;
}
.tl-step:nth-child(4n+1) .tl-num { color: var(--accent); }
.tl-title {
  font-family: 'Fraunces', serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 8px;
  line-height: 1.2;
}
.tl-desc {
  font-size: 12px;
  color: var(--mute);
  line-height: 1.45;
}
.tl-step:nth-child(4n+1) .tl-desc { color: var(--paper-2); }
.tl-arrow {
  font-size: 18px;
  color: var(--accent);
  font-weight: 700;
  padding-top: 60px;
}

/* Section 3: Metric Accordion */
.metric-accordion {
  border-top: 1px solid var(--ink);
}
.metric-item {
  border-bottom: 1px solid var(--ink);
}
.metric-q {
  width: 100%;
  background: var(--paper);
  border: 0;
  padding: 20px 4px;
  text-align: left;
  cursor: pointer;
  display: grid;
  grid-template-columns: 40px 1fr auto auto;
  gap: 20px;
  align-items: center;
  font-family: inherit;
  color: inherit;
  transition: background 0.15s;
}
.metric-q:hover { background: var(--paper-3); padding-left: 16px; }
.m-icon { font-size: 24px; }
.m-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.m-name {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
}
.m-sum {
  font-size: 13px;
  color: var(--mute);
}
.m-weight {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  padding: 4px 10px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 3px;
  margin-right: 12px;
}
.metric-q::after {
  content: '+';
  font-size: 24px;
  color: var(--accent);
  font-weight: 300;
}
.metric-item.open .metric-q::after {
  content: '-';
}
.metric-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  padding: 0 4px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--mute);
}
.metric-item.open .metric-a {
  max-height: 400px;
  padding: 0 4px 24px;
}
.metric-a ul { padding-left: 24px; margin-top: 10px; }
.metric-a li { margin-bottom: 6px; }
.metric-a strong { color: var(--ink); }

/* Section 4: Tools grid */
.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.tool-card {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 24px;
  transition: all 0.2s;
}
.tool-card:hover {
  transform: translateY(-3px);
  box-shadow: 5px 5px 0 var(--ink);
}
.tool-icon {
  font-size: 32px;
  margin-bottom: 14px;
}
.tool-card h4 {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 10px;
}
.tool-card p {
  font-size: 14px;
  color: var(--mute);
  line-height: 1.55;
  margin-bottom: 16px;
}
.tool-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--accent);
  letter-spacing: 0.05em;
  padding-top: 12px;
  border-top: 1px dashed var(--ink);
}

/* Section 5: Scoring formula */
.scoring-formula {
  background: var(--ink);
  color: var(--paper);
  padding: 32px;
  border-radius: 4px;
  margin-bottom: 16px;
  overflow-x: auto;
}
.formula-title {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--accent);
  margin-bottom: 14px;
}
.formula-eq {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  line-height: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.f-num {
  padding: 4px 10px;
  background: var(--paper);
  color: var(--ink);
  border-radius: 3px;
  font-weight: 600;
}
.f-plus { color: var(--accent); font-weight: 700; font-size: 18px; }

/* Section 5: Rating scale */
.rating-scale {
  display: grid;
  gap: 12px;
}
.scale-row {
  display: grid;
  grid-template-columns: 120px 140px 1fr 200px;
  gap: 24px;
  padding: 18px 20px;
  border-radius: 4px;
  align-items: center;
  border: 1.5px solid var(--ink);
}
.scale-row.best { background: #ecf7f1; }
.scale-row.good { background: #f4faf6; }
.scale-row.average { background: #fdf6e8; }
.scale-row.poor { background: #fdf0ef; }
.scale-range {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
}
.scale-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 2px;
  text-align: center;
}
.scale-row.best .scale-label { background: var(--good); color: var(--paper); }
.scale-row.good .scale-label { background: var(--accent-2); color: var(--paper); }
.scale-row.average .scale-label { background: var(--warn); color: var(--ink); }
.scale-row.poor .scale-label { background: var(--bad); color: var(--paper); }
.scale-desc {
  font-size: 14px;
  color: var(--mute);
  line-height: 1.5;
}
.scale-bar {
  width: 100%;
  height: 10px;
  background: var(--paper);
  border-radius: 5px;
  overflow: hidden;
  border: 1px solid var(--ink);
}
.bar-fill {
  height: 100%;
  border-radius: 4px;
  transition: width 0.5s ease;
}

/* Section 6: Update Frequency */
.update-callout {
  background: var(--ink);
  color: var(--paper);
  padding: 40px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
}
.update-callout::before {
  content: '';
  position: absolute;
  top: -50%; right: -10%;
  width: 50%; height: 200%;
  background: radial-gradient(circle, rgba(214,68,25,0.3), transparent 70%);
  pointer-events: none;
}
.update-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  position: relative;
}
.update-stat { text-align: center; }
.update-num {
  font-family: 'Fraunces', serif;
  font-size: 64px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--accent);
  line-height: 1;
  margin-bottom: 8px;
}
.update-lbl {
  font-size: 13px;
  color: var(--paper-2);
  line-height: 1.4;
}

/* Changelog */
.changelog {
  border-top: 1px solid var(--ink);
}
.changelog-entry {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px dashed var(--ink);
  align-items: start;
}
.cl-date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--accent);
  letter-spacing: 0.08em;
  font-weight: 600;
}
.cl-body {
  font-size: 14px;
  line-height: 1.65;
  color: var(--mute);
}
.cl-body strong { color: var(--ink); font-weight: 600; }

/* Responsive */
@media (max-width: 1024px) {
  .pfilter-row { grid-template-columns: 1fr 1fr; }
  .timeline-7 {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .tl-arrow { transform: rotate(90deg); padding: 0; }
  .tools-grid { grid-template-columns: repeat(2, 1fr); }
  .update-grid { grid-template-columns: 1fr; }
  .scale-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
@media (max-width: 720px) {
  .pfilter-row { grid-template-columns: 1fr; }
  .tools-grid { grid-template-columns: 1fr; }
  .pricing-page-v2 .page-head {
    margin-bottom: 28px;
  }
  .pricing-page-title {
    font-size: clamp(38px, 12vw, 54px);
  }
  .pricing-section {
    margin-bottom: 38px;
  }
  .pricing-filter-spec { margin-bottom: 24px; }
  .pricing-section-title {
    font-size: clamp(26px, 8vw, 32px);
  }
  .pricing-filter-bar {
    position: static;
    max-height: none;
    overflow: visible;
    margin-bottom: 38px;
    padding: 16px;
    border: 1.5px solid var(--ink);
    border-radius: 4px;
    box-shadow: 4px 4px 0 var(--ink);
  }
  .pricing-filter-bar .pfilter-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
  }
  .pricing-filter-bar .pricing-budget-group {
    grid-column: 1 / -1;
  }
  .pricing-filter-bar .pfilter-group {
    min-width: 0;
    gap: 5px;
  }
  .pricing-filter-bar .pfilter-group label {
    min-height: 20px;
    align-items: center;
    gap: 6px;
    font-size: 9px;
  }
  .pricing-filter-bar .pfilter-group select {
    width: 100%;
    min-width: 0;
    padding: 9px 8px;
    font-size: 12px;
  }
  .pricing-filter-bar .range-wrap {
    height: 30px;
    margin-top: 0;
  }
  .pricing-filter-bar .range-track {
    top: 13px;
  }
  .pricing-filter-bar .range-vals {
    font-size: 9px;
  }
  .pricing-filter-bar .active-chips {
    flex-wrap: nowrap;
    gap: 8px;
    margin: 0 -4px;
    padding: 10px 4px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .pricing-filter-bar .filter-chip,
  .pricing-filter-bar .pricing-result-count,
  .pricing-filter-bar [data-pricing-clear] {
    flex: 0 0 auto;
  }
  .pricing-page-v2 .table-wrap {
    margin-right: -14px;
    margin-left: -14px;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    max-height: 68vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  .pricing-table {
    min-width: 980px;
  }
  .pricing-picks-grid {
    gap: 14px;
  }
  .pricing-pick-card,
  .value-pick {
    padding: 20px;
  }
  .changelog-entry { grid-template-columns: 1fr; gap: 8px; }
  .formula-eq { font-size: 12px; }
  .update-num { font-size: 48px; }
}

@media (max-width: 420px) {
  .pricing-filter-bar .pfilter-row {
    grid-template-columns: 1fr;
  }
  .pricing-filter-bar .pricing-budget-group {
    grid-column: auto;
  }
}

/* ============ PAGE: LOCATIONS ============ */
.locations-page .page-head {
  margin-bottom: 46px;
}
.locations-title {
  font-size: clamp(42px, 6vw, 64px);
  line-height: 0.98;
  margin-bottom: 18px;
}
.locations-section-title {
  font-size: clamp(26px, 4vw, 36px);
  margin-bottom: 18px;
}
.locations-popular-title {
  margin-top: 56px;
}
.locations-popular-sub {
  max-width: 640px;
  margin-bottom: 24px;
}
.regions-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: 32px;
}
.region-card {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 20px 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
}
.region-card:hover {
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-3px);
  box-shadow: 4px 4px 0 var(--accent);
}
.region-icon { font-size: 32px; margin-bottom: 10px; }
.region-name {
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 4px;
}
.region-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  opacity: 0.7;
  letter-spacing: 0.03em;
}

.country-search-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: var(--paper);
  border: 2px solid var(--ink);
  border-radius: 4px;
  margin-bottom: 24px;
  box-shadow: 4px 4px 0 var(--ink);
}
.country-search-bar input {
  flex: 1;
  border: 0;
  background: transparent;
  font-size: 16px;
  outline: none;
  font-family: inherit;
}
.country-search-bar input::placeholder {
  color: var(--mute-2);
}
.country-search-icon {
  color: var(--mute);
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
}

.countries-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.country-card {
  position: relative;
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 20px 18px;
  cursor: pointer;
  transition: all 0.2s;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  align-items: center;
  gap: 14px;
  color: var(--ink);
  text-decoration: none;
}
.country-card,
.country-card:hover,
.country-card:focus,
.country-card * {
  text-decoration: none;
}
.country-card:hover {
  transform: translateY(-3px);
  box-shadow: 5px 5px 0 var(--ink);
}
.country-card.demo {
  opacity: 0.7;
}
.country-card.demo::after {
  content: 'PREVIEW';
  position: absolute;
  top: 10px;
  right: 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 8px;
  letter-spacing: 0.1em;
  padding: 2px 5px;
  background: var(--warn);
  color: var(--ink);
  border-radius: 2px;
}
.cc-flag {
  line-height: 1;
  grid-row: span 2;
}
.cc-name {
  font-family: 'Fraunces', serif;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0;
  align-self: end;
  grid-column: 2;
}
.cc-stats {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--mute);
  letter-spacing: 0.03em;
  align-self: start;
  grid-column: 2;
}
.cc-stats strong { color: var(--ink); }
.cc-arrow {
  color: var(--mute);
  grid-row: span 2;
  align-self: center;
  transition: all 0.2s;
}
.country-card:hover .cc-arrow {
  color: var(--accent);
  transform: translateX(4px);
}
.locations-production-note {
  margin: 16px 0 0;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--mute);
  font-style: italic;
}
.locations-page .provider-cell {
  color: var(--ink);
  text-decoration: none;
}
.locations-page .provider-cell:hover,
.locations-page .provider-cell:focus {
  text-decoration: none;
}
.coverage-yes {
  color: var(--good);
}
.coverage-muted {
  color: var(--mute);
}
.locations-cta {
  margin-top: 56px;
}

/* Country page */
.cpt-single--location {
  padding-bottom: 72px;
}
.cpt-single--location .page-head {
  margin-bottom: 56px;
}
.cpt-single--location > section {
  margin-top: 64px;
  padding-top: 0;
  padding-bottom: 0;
}
.cpt-single--location > section:first-of-type {
  margin-top: 0;
}
.cpt-single--location > section + section {
  padding-top: 8px;
}
.cpt-single--location > section > .section-title,
.cpt-single--location > section > .faq-section > h2 {
  margin-bottom: 14px;
}
.cpt-single--location > section > .section-sub {
  margin-bottom: 24px;
}
.cpt-single--location .table-wrap,
.cpt-single--location .mini-reviews,
.cpt-single--location .country-info-grid,
.cpt-single--location .nearby-grid,
.cpt-single--location .faq-section {
  margin-top: 22px;
}
.cpt-single--location .stats-bar {
  margin-top: 34px;
}
.location-provider-table .strong-cell {
  font-weight: 700;
}
.location-provider-table .type-cell {
  font-size: 13px;
}
.location-provider-table .provider-cell {
  color: var(--ink);
  text-decoration: none;
}
.location-provider-table .btn-sm {
  white-space: nowrap;
}
.city-coverage-table .city-name {
  font-weight: 700;
}
.table-text-link,
.table-text-link:visited {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
.table-text-link:hover,
.table-text-link:focus {
  color: var(--accent);
  text-decoration: none;
}
.table-link-svg {
  width: 13px;
  height: 13px;
}
.country-hero {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 32px;
  align-items: center;
}
.country-hero-flag {
  font-size: 96px;
  line-height: 1;
  text-align: center;
}

.mini-reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.mini-review {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 24px;
  transition: all 0.2s;
}
.mini-review:hover {
  box-shadow: 5px 5px 0 var(--ink);
}
.mini-rev-head {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--ink);
}
.mini-rev-text {
  font-size: 14px;
  color: var(--mute);
  line-height: 1.6;
  margin-bottom: 16px;
}

.country-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.info-card {
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 24px;
  transition: all 0.2s;
}
.info-card:hover {
  background: var(--paper-3);
}
.info-icon {
  font-size: 32px;
  margin-bottom: 12px;
}
.info-card h4 {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0;
  margin-bottom: 8px;
}
.info-card p {
  font-size: 14px;
  color: var(--mute);
  line-height: 1.6;
}

.nearby-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

@media (max-width: 1024px) {
  .regions-grid { grid-template-columns: repeat(3, 1fr); }
  .countries-grid { grid-template-columns: repeat(2, 1fr); }
  .mini-reviews { grid-template-columns: 1fr; }
  .country-info-grid { grid-template-columns: 1fr; }
  .nearby-grid { grid-template-columns: repeat(2, 1fr); }
  .country-hero { grid-template-columns: 1fr; gap: 16px; text-align: center; }
  .country-hero-flag { font-size: 72px; }
}
@media (max-width: 720px) {
  .regions-grid { grid-template-columns: repeat(2, 1fr); }
  .countries-grid { grid-template-columns: 1fr; }
  .nearby-grid { grid-template-columns: 1fr; }
  .cpt-single--location .page-head {
    margin-bottom: 42px;
  }
  .cpt-single--location > section {
    margin-top: 48px;
  }
  .cpt-single--location > section + section {
    padding-top: 0;
  }
}

/* WordPress integration additions */
.site-main a { color: inherit; }
.site-main a.btn-primary,
.site-main a.btn-primary:visited {
  color: var(--paper);
}
.site-main a.btn-primary:hover,
.site-main a.btn-primary:focus-visible {
  color: var(--paper);
}
.site-main a.btn-ghost,
.site-main a.btn-ghost:visited {
  color: var(--ink);
}
.site-main a.btn-ghost:hover,
.site-main a.btn-ghost:focus-visible {
  color: var(--paper);
}
.provider-card-link,
.guide a,
.country-card a,
.score-rank,
.nav-simple,
.mega-link,
.logo { text-decoration: none; }
.nav-item.open .megamenu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); pointer-events: auto; }
.search-overlay.active { opacity: 1; visibility: visible; pointer-events: auto; }
.provider-grid,
.guide-grid,
.country-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.provider-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.table-wrap { overflow-x: auto; }
.compare-table th[data-sort] { cursor: pointer; }
.faq-a { display: none; }
.faq-item.active .faq-a { display: block; }
.score-grid { display: grid; gap: 12px; }
.score-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.score-bar { grid-column: 1 / -1; height: 8px; border: 1px solid var(--ink); background: var(--paper-2); }
.score-bar span { display: block; height: 100%; background: var(--accent); }
.pros-cons,
.content-grid,
.review-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: 28px; }
.pros-cons > *,
.content-grid > *,
.review-hero > * {
  min-width: 0;
}
.sticky-toc { position: sticky; top: 100px; align-self: start; }
.filters,
.compare-selector,
.pricing-controls { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0; }
.filters label { display: grid; gap: 6px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--mute); }
.filters input,
.filters select,
.compare-selector select,
.pricing-controls input { min-height: 44px; border: 1px solid var(--ink); background: var(--paper); padding: 10px 12px; }
.empty-state { grid-column: 1 / -1; border: 1px dashed var(--ink); padding: 28px; background: var(--paper-2); }
.glossary-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.glossary-term { border-top: 1px solid var(--ink); padding-top: 14px; }
.proxy-tool { display: grid; gap: 14px; max-width: 760px; padding: 20px; border: 1px solid var(--ink); background: var(--paper-2); }
.proxy-tool label { display: grid; gap: 6px; }
.proxy-tool input { min-height: 44px; border: 1px solid var(--ink); background: var(--paper); padding: 10px 12px; }
.tool-result { display: block; min-height: 48px; padding: 12px; border: 1px dashed var(--ink); background: var(--paper); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 720px) {
  .glossary-list { grid-template-columns: 1fr; }
}
.mobile-nav-open .main-nav { display: flex; }
@media (max-width: 1100px) {
  .provider-grid,
  .guide-grid,
  .country-grid,
  .pros-cons,
  .content-grid,
  .review-hero { grid-template-columns: 1fr; }
  .entry-content {
    max-width: 100%;
  }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; background: var(--paper); border-bottom: 1px solid var(--ink); padding: 16px; }
  .site-header { position: sticky; top: 0; z-index: 30; }
}

/* WordPress layout polish */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(245, 241, 234, 0.96);
  border-bottom: 1px solid var(--ink);
  backdrop-filter: blur(10px);
}
.header-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  position: relative;
}
.main-nav {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.site-header .logo {
  display: inline-flex;
  align-items: center;
  min-width: max-content;
  line-height: 1;
}
.site-header .logo-mark {
  vertical-align: 0;
}
.site-main {
  min-height: 60vh;
}
.site-main > .section,
.site-main > article.section {
  padding-top: 56px;
  padding-bottom: 56px;
}
.home .section:first-child {
  padding-top: 0;
}
.search-overlay.active .search-panel {
  transform: translateY(0);
}
.mobile-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 4px;
  padding: 0;
  background: transparent;
  color: var(--ink);
}
footer.site-footer {
  padding-top: 64px;
}
.footer-grid {
  grid-template-columns: minmax(240px, 1.5fr) repeat(4, minmax(140px, 1fr));
  gap: 36px;
}
.footer-col a {
  text-decoration: none;
}
.footer-col a:hover {
  color: var(--accent);
}

/* Inline SVG icon system */
.pa-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: currentColor;
}
.pa-icon svg {
  width: 1em;
  height: 1em;
  display: block;
}
.header-action-icon {
  width: 22px;
  height: 22px;
  font-size: 22px;
  pointer-events: none;
}
.menu-svg {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(14, 15, 12, 0.38);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink);
  font-size: 15px;
  transition: all 0.2s;
}
.mega-link:hover .menu-svg {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
  transform: translateY(-1px);
}
.search-suggest-svg {
  width: 30px;
  height: 30px;
  border: 1px solid rgba(14, 15, 12, 0.34);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
}
.sr-item:hover .search-suggest-svg {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.type-svg {
  width: 48px;
  height: 48px;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-2);
  color: var(--ink);
  font-size: 24px;
  transition: all 0.2s;
}
.type-card:hover .type-svg {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--accent);
  transform: rotate(-3deg);
}
.usecase-svg {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(245, 241, 234, 0.42);
  border-radius: 50%;
  color: var(--paper);
  font-size: 20px;
  transition: all 0.2s;
}
.usecase:hover .usecase-svg {
  background: var(--paper);
  border-color: var(--paper);
  color: var(--accent);
}
.arrow-svg {
  width: 28px;
  height: 28px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 15px;
}
.ticker-svg {
  width: 18px;
  height: 18px;
  color: var(--accent);
  font-size: 16px;
}
.country-svg {
  width: 40px;
  height: 40px;
  border: 1.5px solid var(--ink);
  border-radius: 50%;
  background: var(--paper-2);
  color: var(--ink);
  font-size: 22px;
}
.cc-flag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.cc-flag span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  color: var(--mute);
}
.all-locations-card .country-svg {
  border-color: rgba(245, 241, 234, 0.5);
  background: transparent;
  color: var(--paper);
}
.all-locations-card .cc-flag span {
  color: var(--paper-2);
}
.newsletter-icon {
  margin-bottom: 18px;
}
.newsletter-svg {
  width: 46px;
  height: 46px;
  border: 1px solid rgba(245, 241, 234, 0.42);
  border-radius: 6px;
  color: var(--paper);
  font-size: 22px;
}
.provider-card {
  min-width: 0;
  height: 100%;
}
.provider-card-link {
  display: flex;
  flex: 1;
  flex-direction: column;
}
.provider-head > div {
  min-width: 0;
}
.provider-head h3 {
  overflow-wrap: anywhere;
  line-height: 1.15;
}
img.provider-logo {
  object-fit: cover;
  border: 1px solid var(--ink);
}
.provider-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  margin-bottom: 6px;
}
.provider-meta span {
  border: 1px solid var(--ink);
  background: var(--paper-2);
  padding: 4px 7px;
  font-size: 11px;
  line-height: 1.25;
}
.provider-actions .btn {
  flex: 1 1 130px;
  justify-content: center;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
  color: var(--mute);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}
.breadcrumb a {
  color: var(--mute);
  text-decoration: none;
  transition: color 0.2s;
}
.breadcrumb a:hover {
  color: var(--accent);
}
.breadcrumb__sep {
  color: var(--mute-2);
}
.breadcrumb__current {
  color: var(--ink);
  font-weight: 700;
}
.article-hero,
.review-hero,
.compare-head,
.section-head {
  margin-bottom: 32px;
}
.article-hero h1,
.review-hero h1,
.compare-head h1,
.section-head h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1;
  letter-spacing: 0;
}
.entry-content {
  width: 100%;
  max-width: 820px;
}
.entry-content > * + * {
  margin-top: 18px;
}
.entry-content ul,
.entry-content ol {
  padding-left: 22px;
}
.table-wrap {
  border: 1px solid var(--ink);
  background: var(--paper);
}
.compare-table {
  min-width: 760px;
}
.faq-q {
  width: 100%;
  text-align: left;
}
.country-card,
.guide {
  min-width: 0;
}
.country-card a,
.guide a {
  display: block;
  height: 100%;
}
.guide a.guide-link {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1100px) {
  .main-nav {
    gap: 14px;
  }
  .nav-cta {
    display: none;
  }
}
@media (max-width: 1100px) {
  .header-inner {
    padding: 12px 16px;
    justify-content: flex-start;
    gap: 6px;
  }
  .header-inner .nav-search {
    margin-left: auto;
  }
  .header-inner .mobile-toggle {
    margin-left: 0;
  }
  .main-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    flex-direction: column;
    background: rgba(253, 250, 243, 0.98);
    border-top: 1px solid rgba(14, 15, 12, 0.12);
    border-bottom: 1px solid var(--ink);
    box-shadow: 0 18px 32px rgba(14, 15, 12, 0.14);
    max-height: calc(100dvh - 62px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 10px 12px 14px;
    gap: 6px;
    z-index: 120;
  }
  .mobile-nav-open .main-nav {
    display: flex;
  }
  .mobile-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .main-nav .nav-item,
  .main-nav .nav-simple {
    width: 100%;
  }
  .main-nav .nav-item {
    border: 1px solid rgba(14, 15, 12, 0.12);
    border-radius: 6px;
    background: var(--paper);
    overflow: hidden;
  }
  .nav-trigger,
  .nav-simple {
    width: 100%;
    justify-content: space-between;
    min-height: 46px;
    padding: 12px 14px;
    font-weight: 700;
  }
  .main-nav .nav-trigger:hover,
  .main-nav .nav-trigger:focus-visible,
  .main-nav .nav-item.open > .nav-trigger {
    background: var(--paper-2);
    color: var(--ink);
    outline: 0;
  }
  .main-nav .nav-item.open > .nav-trigger .chev {
    transform: rotate(180deg);
    opacity: 1;
  }
  .megamenu,
  .megamenu.wide {
    position: static;
    width: 100%;
    transform: none;
    box-shadow: none;
    border: 0;
    border-top: 1px solid rgba(14, 15, 12, 0.12);
    border-radius: 0;
    background: var(--paper-3);
    padding: 12px;
    margin: 0;
    display: none;
    max-height: none;
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  .nav-item.open .megamenu {
    display: block;
    transform: none;
  }
  .megamenu-grid,
  .megamenu-grid.cols-2 {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .mega-col h5 {
    border-bottom: 0;
    margin: 2px 0 8px;
    padding-bottom: 0;
  }
  .mega-link {
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 10px;
    border-radius: 5px;
    background: rgba(245, 241, 234, 0.72);
  }
  .mega-link + .mega-link {
    margin-top: 6px;
  }
  .mega-link .mtitle {
    font-size: 14px;
  }
  .mega-link .mdesc {
    font-size: 12px;
  }
  .mega-link .mini-logo,
  .mega-link img.mini-logo {
    width: 32px;
    height: 32px;
    object-fit: contain;
  }
  .mega-featured {
    padding: 14px;
    box-shadow: none;
  }
  .mega-featured h4 {
    font-size: 18px;
  }
  .mega-featured p {
    margin-bottom: 10px;
  }
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .topbar {
    display: none;
  }
  .site-header .logo {
    font-size: 20px;
  }
  .site-header .logo-mark {
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 14px;
    margin-right: 8px;
  }
  .site-main > .section,
  .site-main > article.section {
    padding: 36px 16px;
  }
  .provider-grid,
  .guide-grid,
  .country-grid {
    gap: 16px;
  }
  .provider-card {
    padding: 20px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .footer-bottom {
    padding-left: 16px;
    padding-right: 16px;
  }
  .search-input-row {
    padding: 16px;
  }
  .search-input-row input {
    font-size: 18px;
    min-width: 0;
  }
}

/* Block rhythm and padding system */
:root {
  --site-gutter: 24px;
  --block-y: 72px;
  --block-y-sm: 48px;
  --card-pad: 24px;
}
.section {
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
}
.site-main > .section,
.site-main > article.section {
  padding-top: var(--block-y);
  padding-bottom: var(--block-y);
}
.site-main > .section:first-child,
.site-main > article.section:first-child {
  padding-top: var(--block-y-sm);
}
.home .hero.section {
  padding-top: clamp(48px, 7vw, 88px);
  padding-bottom: clamp(56px, 8vw, 96px);
  padding-left: max(var(--site-gutter), 24px);
  padding-right: max(var(--site-gutter), 24px);
}
.home > .section:not(.hero) {
  padding-top: var(--block-y);
  padding-bottom: var(--block-y);
}
.home > .featured.section {
  padding-left: max(var(--site-gutter), 24px);
  padding-right: max(var(--site-gutter), 24px);
}
.home > .compare-section {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: var(--block-y) max(12px, calc((100vw - 1360px) / 2 + 12px));
}
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}
.section-head h1,
.section-head h2 {
  margin: 0;
}
.section-sub {
  margin-top: 12px;
}
.provider-grid,
.guide-grid,
.country-grid {
  gap: 24px;
}
.provider-card,
.review-card,
.guide,
.country-card,
.info-card,
.tool-card,
.empty-state,
.proxy-tool {
  padding: var(--card-pad);
}
.cta-banner {
  margin-top: var(--block-y);
  margin-bottom: var(--block-y);
}
.content-grid {
  gap: 40px;
}
.entry-content section,
.score-breakdown,
.pros-cons,
.pricing-plans,
.benchmark-results,
.faq-section,
.manual-comparison {
  margin-top: 40px;
}
.filters,
.compare-selector,
.pricing-controls {
  padding: 16px;
  border: 1px solid var(--ink);
  background: var(--paper-2);
  align-items: end;
}
.filters .btn,
.compare-selector .btn {
  min-height: 44px;
}
.table-wrap {
  margin-top: 20px;
}
.footer-grid {
  padding-left: var(--site-gutter);
  padding-right: var(--site-gutter);
}
@media (max-width: 900px) {
  :root {
    --block-y: 56px;
    --block-y-sm: 40px;
    --card-pad: 20px;
  }
  .section-head {
    align-items: start;
    flex-direction: column;
  }
  .home > .compare-section {
    padding-top: var(--block-y);
    padding-bottom: var(--block-y);
  }
  .content-grid {
    gap: 28px;
  }
}
@media (max-width: 720px) {
  :root {
    --site-gutter: 16px;
    --block-y: 44px;
    --block-y-sm: 32px;
    --card-pad: 18px;
  }
  .home .hero.section {
    padding-top: 36px;
    padding-bottom: 48px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .home > .featured.section {
    padding-left: 20px;
    padding-right: 20px;
  }
  .hero-card,
  .cta-banner,
  .newsletter-inner {
    padding: 24px;
  }
  .filters,
  .compare-selector,
  .pricing-controls {
    padding: 14px;
  }
  .entry-content section,
  .score-breakdown,
  .pros-cons,
  .pricing-plans,
  .benchmark-results,
  .faq-section,
  .manual-comparison {
    margin-top: 30px;
  }
}

/* Home completion blocks */
.featured-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 32px;
}
.featured-list {
  align-items: stretch;
}
.home .locations-preview {
  padding-top: var(--block-y);
  padding-bottom: var(--block-y-sm);
}
.locations-preview .countries-grid {
  margin-top: 32px;
}
.all-locations-card {
  background: var(--ink);
  color: var(--paper);
}
.all-locations-card .cc-name {
  color: var(--paper);
}
.all-locations-card .cc-stats {
  color: var(--paper-2);
}
.all-locations-card .cc-arrow {
  color: var(--accent);
}
.tests-list a.test-item,
.type-card,
.usecase {
  text-decoration: none;
}
.newsletter-form {
  display: flex;
  gap: 8px;
}
.newsletter-form input {
  min-width: 0;
}
@media (max-width: 900px) {
  .featured-head {
    align-items: start;
    flex-direction: column;
  }
}
@media (max-width: 720px) {
  .newsletter-form {
    flex-direction: column;
  }
}

/* Typography, color, and interaction polish */
:root {
  --button-shadow: 4px 4px 0 var(--ink);
  --focus-ring: 0 0 0 3px rgba(214, 68, 25, 0.28);
}
body {
  font-size: 16px;
}
.display,
.logo,
.section-title,
.home .hero h1,
.article-hero h1,
.review-hero h1,
.compare-head h1,
.section-head h1,
.section-head h2,
.provider-name,
.type-name,
.usecase-name,
.test-title,
.guide-title,
.newsletter h3 {
  letter-spacing: 0;
}
.section-title,
.article-hero h1,
.review-hero h1,
.compare-head h1,
.section-head h1,
.section-head h2 {
  color: var(--ink);
}
.section-tag {
  color: var(--accent);
  font-weight: 700;
}
.section-tag::before {
  background: var(--accent);
}
.section-sub,
.hero-sub,
.provider-verdict,
.guide-excerpt,
.test-excerpt,
.step-content p,
.type-desc {
  color: #565245;
}
.btn,
.nav-cta,
.hero-search button,
.newsletter-form button,
.search-close {
  min-height: 42px;
  border-radius: 4px;
}
.btn,
.nav-cta {
  text-decoration: none;
}
.btn-primary,
.nav-cta,
.hero-search button,
.newsletter-form button {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.btn-primary:hover,
.nav-cta:hover,
.hero-search button:hover,
.newsletter-form button:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--paper);
  transform: translateY(-1px);
  box-shadow: var(--button-shadow);
}
.btn-accent {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--paper);
}
.btn-accent:hover {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
  transform: translateY(-1px);
  box-shadow: var(--button-shadow);
}
.btn-ghost {
  background: var(--paper);
  border-color: var(--ink);
  color: var(--ink);
}
.btn-ghost:hover {
  background: var(--ink);
  color: var(--paper);
  transform: translateY(-1px);
  box-shadow: var(--button-shadow);
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 0;
  box-shadow: var(--focus-ring);
}
.site-header {
  box-shadow: 0 1px 0 rgba(14, 15, 12, 0.12);
}
.topbar {
  background: #11120f;
}
.hero-card,
.provider-card,
.guide,
.country-card,
.review-card,
.type-card,
.tool-card,
.info-card {
  background: var(--paper-3);
}
.provider-card:hover,
.guide:hover,
.country-card:hover,
.review-card:hover,
.type-card:hover {
  box-shadow: 6px 6px 0 var(--ink);
}
.hero-search,
.newsletter-form,
.search-panel {
  background: var(--paper-3);
}
.score-badge {
  background: #171815;
}
.score-badge.gold,
.editor-ribbon,
.provider-card.editor::before {
  background: var(--accent);
  color: var(--paper);
}
.compare-section,
.method-section,
.filters,
.compare-selector,
.pricing-controls,
.empty-state,
.proxy-tool {
  background: #ede6da;
}
.usecases-section,
.newsletter-inner,
.cta-banner,
.mega-featured,
.all-locations-card {
  background: #11120f;
  color: var(--paper);
}
.usecases-section .section-title,
.newsletter-inner h3,
.cta-banner h2,
.cta-banner h3 {
  color: var(--paper);
}
.usecases-section .section-sub,
.usecase-desc,
.newsletter-inner p,
.cta-banner p,
.all-locations-card .cc-stats {
  color: #d8d0c2;
}
.usecase {
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(245, 241, 234, 0.38);
}
.usecase:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--paper);
}
.type-card:hover .type-num,
.type-card:hover .type-desc {
  color: #d8d0c2;
}
.compare-table th {
  background: #151612;
}
.compare-table tr:hover {
  background: #f6edde;
}
.provider-meta span,
.tag {
  background: #eee5d8;
}
.footer-col h5 {
  color: #d8d0c2;
}
.footer-col a,
.footer-tagline,
.footer-bottom {
  color: #eee5d8;
}
.nav-trigger:hover,
.nav-simple:hover,
.footer-col a:hover,
.breadcrumb a:hover {
  color: var(--accent);
}

/* Single provider content blocks */
.review-page .with-toc {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 32px;
}
.review-page .entry-content {
  max-width: none;
  min-width: 0;
}
.review-page .entry-content > section,
.review-page .entry-content > .author-box {
  width: 100%;
}
.review-page .score-breakdown,
.review-page .benchmark-results,
.review-page .review-page-panel,
.review-page .faq-section {
  width: 100%;
  max-width: 100%;
  padding: 24px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
  overflow: hidden;
}
.review-page .score-breakdown h2,
.review-page .pricing-plans h2,
.review-page .benchmark-results h2,
.review-page .review-page-panel h2,
.review-page .faq-section h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(24px, 4vw, 32px);
  line-height: 1.1;
  letter-spacing: 0;
  margin: 0 0 18px;
}
.review-page .score-grid {
  gap: 10px;
}
.review-page .score-row {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  padding: 12px 0;
  border-bottom: 1px dashed rgba(14, 15, 12, 0.35);
}
.review-page .score-row:last-child {
  border-bottom: 0;
}
.review-page .score-row > span {
  min-width: 0;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.review-page .score-row > strong {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
}
.review-page .score-bar {
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
}
.review-page .score-bar span {
  border-radius: inherit;
}
.review-page #r-speed .score-breakdown {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.review-page #r-speed .score-breakdown h2 {
  font-size: clamp(30px, 4vw, 40px);
  margin-bottom: 18px;
}
.review-page #r-speed .score-breakdown p {
  max-width: 920px;
  margin-bottom: 32px;
}
.review-page #r-speed .score-grid--bars {
  display: grid;
  gap: 16px;
  margin: 32px 0;
}
.review-page #r-faq.provider-review-faq {
  padding: 0;
  border: 0;
  background: transparent;
}
.review-page #r-faq.provider-review-faq > h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(32px, 5vw, 42px);
  line-height: 1.05;
  letter-spacing: 0;
  margin: 0 0 14px;
}
.review-page #r-faq.provider-review-faq > .section-sub {
  max-width: 760px;
  margin: 0 0 30px;
  color: var(--mute);
}
.review-page #r-faq.provider-review-faq .faq-section {
  width: 100%;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.review-page #r-faq.provider-review-faq .faq-list {
  border-top: 1px solid var(--ink);
}
.review-page #r-faq.provider-review-faq .faq-q {
  padding: 20px 0;
  font-size: clamp(18px, 4vw, 21px);
}
.review-page #r-speed .score-grid--bars .score-row {
  display: grid;
  grid-template-columns: 140px minmax(220px, 1fr) 72px;
  gap: 16px;
  align-items: center;
  padding: 0;
  border-bottom: 0;
}
.review-page #r-speed .score-grid--bars .score-row .label {
  min-width: 0;
  font-size: 14px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.review-page #r-speed .score-grid--bars .score-row .bar {
  height: 8px;
  background: var(--paper-2);
  border-radius: 999px;
  overflow: hidden;
}
.review-page #r-speed .score-grid--bars .score-row .fill {
  height: 100%;
  background: var(--accent);
  border-radius: inherit;
}
.review-page #r-speed .score-grid--bars .score-row .num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}
.pricing-plans .table-wrap {
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}
.pricing-plans .compare-table {
  min-width: 0;
  table-layout: fixed;
}
.pricing-plans .compare-table th:nth-child(1),
.pricing-plans .compare-table td:nth-child(1) {
  width: 20%;
}
.pricing-plans .compare-table th:nth-child(2),
.pricing-plans .compare-table td:nth-child(2) {
  width: 18%;
}
.pricing-plans .compare-table th,
.pricing-plans .compare-table td {
  overflow-wrap: anywhere;
}
.benchmark-results .benchmark-grid {
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  margin: 0;
}
.benchmark-results .benchmark-grid > div {
  min-width: 0;
  background: var(--paper);
  padding: 18px 16px;
}
.benchmark-results .benchmark-grid strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.benchmark-results .benchmark-grid span {
  display: block;
  margin-top: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.faq-section .faq-list {
  border-top: 1px solid var(--ink);
}
.faq-section .faq-q {
  min-width: 0;
  font-size: clamp(16px, 4vw, 19px);
  line-height: 1.25;
  align-items: flex-start;
}
.faq-section .faq-q::after {
  line-height: 1;
  margin-top: -2px;
}
.faq-section .faq-a {
  overflow-wrap: anywhere;
}
.review-page-panel p {
  margin: 16px 0 0;
  color: var(--mute);
}
.coverage-grid,
.ux-score-grid,
.support-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.coverage-grid > div,
.ux-score-grid > div,
.support-facts > div {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(14, 15, 12, 0.22);
  border-radius: 4px;
  background: var(--paper);
}
.coverage-grid strong,
.ux-score-grid strong,
.support-facts strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 24px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.coverage-grid span,
.ux-score-grid span,
.support-facts span {
  display: block;
  margin-bottom: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}

/* Proxy type pillar pages */
.proxy-pillar .pillar-hero {
  padding: 56px 0 48px;
}
.pillar-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0 0 18px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.pillar-meta .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 7px;
  border-radius: 999px;
  background: var(--accent);
}
.proxy-pillar .pillar-hero h1 {
  max-width: 860px;
  margin: 0 0 18px;
  font-family: 'Fraunces', serif;
  font-size: clamp(42px, 7vw, 78px);
  line-height: 0.98;
  letter-spacing: 0;
}
.pillar-intro {
  max-width: 760px;
  margin: 0 0 34px;
  color: #565245;
  font-size: 19px;
  line-height: 1.55;
}
.proxy-pillar .quick-verdict {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}
.proxy-pillar .verdict-card {
  display: block;
  min-width: 0;
  text-decoration: none;
}
.proxy-pillar .with-toc {
  align-items: start;
}
.proxy-pillar .toc {
  top: 96px;
}
.proxy-pillar .toc a {
  display: block;
  text-decoration: none;
}
.toc-related {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px dashed var(--ink);
}
.review-page .toc-related {
  display: grid;
  gap: 8px;
}
.review-page .toc-related .btn {
  width: 100%;
  justify-content: center;
  min-height: 40px;
  border-radius: 3px;
  box-shadow: none;
  text-decoration: none;
}
.review-page .toc-related .btn-primary {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}
.review-page .toc-related .btn-primary:hover,
.review-page .toc-related .btn-primary:focus {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
  transform: none;
  box-shadow: none;
}
.review-page .toc-related .toc-compare {
  background: #aaa8a1;
  border-color: var(--ink);
  color: #6f6d66;
  font-weight: 700;
}
.review-page .toc-related .toc-compare:hover,
.review-page .toc-related .toc-compare:focus {
  background: #aaa8a1;
  border-color: var(--ink);
  color: #6f6d66;
  transform: none;
  box-shadow: none;
}
.pillar-content {
  min-width: 0;
}
.pillar-section {
  min-width: 0;
  scroll-margin-top: 100px;
}
.pillar-section + .pillar-section {
  margin-top: 64px;
}
.proxy-pillar .pillar-section .section-title {
  margin-bottom: 16px;
  font-size: clamp(28px, 4vw, 36px);
}
.proxy-pillar .table-wrap {
  margin-top: 24px;
}
.pillar-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.pillar-signal-card {
  padding: 22px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.pillar-signal-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.pillar-signal-card strong {
  display: block;
  margin-bottom: 8px;
  font-family: 'Fraunces', serif;
  font-size: 24px;
  line-height: 1.1;
}
.pillar-signal-card p {
  color: var(--mute);
  font-size: 14px;
  line-height: 1.5;
}
.pillar-signal-card a {
  color: var(--accent);
  text-decoration: underline;
}
.compact-review-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.compact-review-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.compact-review-card .provider-head {
  margin-bottom: 0;
}
.compact-review-card .provider-logo {
  width: 44px;
  height: 44px;
  font-size: 18px;
}
.compact-review-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 21px;
  line-height: 1.1;
  margin: 0 0 3px;
}
.compact-review-card p {
  flex: 1;
  color: var(--mute);
  font-size: 14px;
  line-height: 1.5;
}
.scraping-decision-box {
  display: grid;
  gap: 14px;
  text-align: left;
}
.scraping-decision-box div {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  line-height: 1.55;
}
.scraping-decision-box span {
  display: block;
  margin-top: 4px;
  padding-left: 28px;
  color: var(--mute);
}
.use-case-hero-meta {
  margin-bottom: 18px;
}
.use-case-hero-meta .dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--accent);
}
.usecase-benchmark-table th,
.usecase-benchmark-table td {
  vertical-align: top;
}
.usecase-benchmark-table th:nth-child(5),
.usecase-benchmark-table td:nth-child(5) {
  min-width: 190px;
}
.usecase-benchmark-table th:last-child,
.usecase-benchmark-table td:last-child {
  min-width: 136px;
}
.seo-provider-table th:nth-child(6),
.seo-provider-table td:nth-child(6) {
  min-width: 190px;
}
.seo-provider-table th:last-child,
.seo-provider-table td:last-child {
  min-width: 136px;
}
.social-provider-table th:nth-child(3),
.social-provider-table td:nth-child(3),
.social-provider-table th:nth-child(5),
.social-provider-table td:nth-child(5) {
  min-width: 170px;
}
.social-provider-table th:last-child,
.social-provider-table td:last-child {
  min-width: 136px;
}
.usecase-benchmark-table .btn-sm {
  width: 100%;
}
.seo-provider-table .btn-sm {
  width: 100%;
}
.social-provider-table .btn-sm {
  width: 100%;
}
.scraping-review-block + .scraping-review-block {
  margin-top: 18px;
}
.scraping-test-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.scraping-test-grid div {
  padding: 14px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.scraping-test-grid span {
  display: block;
  margin-bottom: 5px;
  color: var(--mute);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.scraping-test-grid strong {
  display: block;
  font-size: 15px;
  line-height: 1.3;
}
.scraping-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.scraping-type-card {
  display: block;
  min-height: 100%;
  padding: 24px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
  color: var(--ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.scraping-type-card:hover {
  transform: translate(-2px, -2px);
  box-shadow: 5px 5px 0 var(--ink);
  background: var(--paper);
}
.scraping-type-card span {
  display: block;
  margin-bottom: 10px;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.scraping-type-card h3 {
  margin-bottom: 8px;
  font-family: 'Fraunces', serif;
  font-size: 26px;
  line-height: 1.08;
}
.scraping-type-card p {
  color: var(--mute);
  font-size: 14px;
  line-height: 1.55;
}
.use-case-editor-content {
  margin-top: 64px;
}
.use-case-editor-content .pillar-section + .pillar-section {
  margin-top: 56px;
}
.use-case-faq-related {
  margin-top: 28px;
}
.landing-author-box {
  margin-top: 32px;
}
.seo-integration-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 0.9fr));
  gap: 16px;
  margin-top: 24px;
}
.seo-integration-card {
  min-width: 0;
  padding: 24px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.seo-integration-card h3 {
  margin-bottom: 14px;
  font-family: 'Fraunces', serif;
  font-size: 24px;
  line-height: 1.1;
}
.seo-integration-card ul {
  margin-left: 18px;
  color: var(--mute);
  font-size: 14px;
  line-height: 1.65;
}
.seo-integration-card li + li {
  margin-top: 8px;
}
.seo-integration-card pre {
  overflow-x: auto;
  margin: 0;
}
.social-safety-list {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}
.social-safety-list div {
  display: grid;
  grid-template-columns: 42px minmax(180px, 0.35fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.social-safety-list span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--ink);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  font-weight: 700;
}
.social-safety-list strong {
  font-family: 'Fraunces', serif;
  font-size: 21px;
  line-height: 1.12;
}
.social-safety-list p {
  color: var(--mute);
  font-size: 14px;
  line-height: 1.55;
}
.code-copy-wrap {
  position: relative;
  margin: 20px 0;
}
.code-copy-wrap pre {
  margin: 0;
}
.code-copy-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 1;
  padding: 6px 10px;
  border: 1px solid var(--paper);
  border-radius: 3px;
  background: var(--ink);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.code-copy-button:hover {
  background: var(--accent);
}
@media (max-width: 900px) {
  .pillar-signal-grid {
    grid-template-columns: 1fr;
  }
  .compact-review-grid {
    grid-template-columns: 1fr;
  }
  .scraping-test-grid,
  .scraping-type-grid,
  .seo-integration-grid {
    grid-template-columns: 1fr;
  }
  .social-safety-list div {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .social-safety-list p {
    grid-column: 2;
  }
}
@media (max-width: 760px) {
  .proxy-pillar .table-wrap,
  .use-case-page .table-wrap {
    overflow: visible;
    border: 0;
    box-shadow: none;
    background: transparent;
  }
  .proxy-pillar .compare-table,
  .use-case-page .compare-table {
    min-width: 0;
    border-collapse: separate;
    border-spacing: 0 14px;
  }
  .proxy-pillar .compare-table thead,
  .use-case-page .compare-table thead {
    display: none;
  }
  .proxy-pillar .compare-table tbody,
  .proxy-pillar .compare-table tr,
  .proxy-pillar .compare-table td,
  .use-case-page .compare-table tbody,
  .use-case-page .compare-table tr,
  .use-case-page .compare-table td {
    display: block;
    width: 100%;
  }
  .proxy-pillar .compare-table tr,
  .use-case-page .compare-table tr {
    border: 1.5px solid var(--ink);
    border-radius: 4px;
    background: var(--paper);
    overflow: hidden;
  }
  .proxy-pillar .compare-table td,
  .use-case-page .compare-table td {
    display: grid;
    grid-template-columns: minmax(104px, 0.36fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    border-bottom: 1px solid var(--paper-2);
  }
  .proxy-pillar .compare-table td::before,
  .use-case-page .compare-table td::before {
    content: attr(data-label);
    color: var(--mute);
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .proxy-pillar .compare-table td:first-child,
  .use-case-page .compare-table td:first-child {
    grid-template-columns: 1fr;
    background: var(--paper-3);
  }
  .proxy-pillar .compare-table td:first-child::before,
  .use-case-page .compare-table td:first-child::before {
    display: none;
  }
  .proxy-pillar .compare-table td:last-child,
  .use-case-page .compare-table td:last-child {
    border-bottom: 0;
  }
  .proxy-pillar .compare-table td[data-label="Action"] .btn,
  .use-case-page .compare-table td[data-label="Action"] .btn {
    width: 100%;
  }
}

/* ============ HEAD-TO-HEAD LAYOUT ============ */
.h2h-layout {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 48px;
  align-items: start;
  margin-top: 32px;
}
.h2h-body {
  min-width: 0;
}
.h2h-section {
  margin-top: 56px;
  scroll-margin-top: 100px;
}
.h2h-section h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 3vw, 30px);
  margin-bottom: 8px;
}
.h2h-section .section-sub {
  color: var(--mute);
  margin-bottom: 16px;
}
.single-comparison-page .h2h-section > .table-wrap {
  border: 0;
  background: transparent;
}
.comparison-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.comparison-choice-grid .verdict-box {
  margin: 0;
}
.winner-ribbon {
  display: inline-block;
  padding: 2px 10px;
  background: var(--warn);
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 2px;
  margin-bottom: 8px;
}
@media (max-width: 900px) {
  .h2h-layout {
    grid-template-columns: 1fr;
  }
  .h2h-toc {
    position: static;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
  }
  .h2h-toc h6 { margin-bottom: 0; }
  .h2h-toc ul {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
}

/* ============ PRICING CONTROL ROWS + CHIPS ============ */
.pricing-control-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
}
.pricing-control-row label {
  font-size: 13px;
  white-space: nowrap;
}
.pricing-control-label {
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mute);
  white-space: nowrap;
}
.chip {
  padding: 6px 14px;
  border: 1px solid var(--ink);
  border-radius: 20px;
  background: transparent;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.chip.active,
.chip:hover {
  background: var(--ink);
  color: var(--paper);
}
.pricing-empty-notice {
  padding: 20px;
  color: var(--mute);
  font-style: italic;
  text-align: center;
}

/* ============ AFFILIATE DISCLOSURE ============ */
.affiliate-disclosure {
  background: var(--paper-2);
  border: 1px solid var(--ink);
  border-radius: 4px;
  padding: 32px 40px;
  margin: 48px 0;
}
.affiliate-disclosure h2 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  margin-bottom: 16px;
}
.affiliate-disclosure p + p {
  margin-top: 12px;
}
.affiliate-disclosure a {
  text-decoration: underline;
  color: var(--accent);
}

/* ============ ABOUT PAGE ============ */
.about-page .page-head {
  padding-top: 56px;
}
.about-page .section-title {
  font-size: clamp(40px, 5vw, 56px);
}
.about-page__content {
  max-width: 760px;
  margin: -24px 0 48px;
}
.about-mission {
  background: var(--paper-3);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  padding: 40px;
  margin-bottom: 56px;
  box-shadow: 6px 6px 0 var(--ink);
}
.about-mission .section-tag {
  margin-bottom: 12px;
}
.about-mission h2,
.about-team-card h3,
.about-contact-card h3,
.about-affiliate-box h2 {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.12;
}
.about-mission h2 {
  font-size: 32px;
  margin-bottom: 16px;
}
.about-mission p {
  max-width: 960px;
  color: var(--mute);
  font-size: 17px;
  line-height: 1.6;
}
.about-section {
  margin-bottom: 80px;
}
.about-section__title {
  font-size: 32px;
  margin-bottom: 28px;
}
.about-team-card {
  background: var(--paper);
  border: 1px solid var(--ink);
  border-radius: 4px;
  padding: 28px;
}
.about-team-card__photo {
  width: 80px;
  height: 80px;
  margin-bottom: 16px;
}
.about-team-card__photo--green {
  background: linear-gradient(135deg, var(--accent-2), var(--info));
}
.about-team-card__photo--warm {
  background: linear-gradient(135deg, var(--warn), var(--accent));
}
.about-team-card h3 {
  font-size: 22px;
  margin-bottom: 4px;
}
.about-team-card p {
  color: var(--mute);
  font-size: 14px;
  line-height: 1.5;
}
.about-methodology-cta {
  margin-bottom: 80px;
}
.about-affiliate-box {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: flex-start;
  background: var(--highlight);
  border: 2px solid var(--ink);
  border-radius: 4px;
  padding: 32px;
  margin-bottom: 80px;
}
.about-affiliate-box__icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--accent);
  color: var(--paper);
  border-radius: 50%;
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
  font-weight: 700;
}
.about-affiliate-box h2 {
  font-size: 20px;
  margin-bottom: 10px;
}
.about-affiliate-box p {
  color: var(--mute);
  line-height: 1.65;
}
.about-affiliate-box strong {
  color: var(--ink);
}
.about-affiliate-box a {
  color: var(--accent);
  text-decoration: underline;
}
.about-contact {
  margin-bottom: 72px;
}
.about-contact-card {
  background: var(--paper-3);
  border: 1px solid var(--ink);
  border-radius: 4px;
  padding: 24px;
}
.about-contact-card__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--accent);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.about-contact-card h3 {
  font-size: 20px;
  margin-bottom: 8px;
}
.about-contact-card a {
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
}
@media (max-width: 700px) {
  .about-mission,
  .about-affiliate-box {
    padding: 24px;
  }
  .about-affiliate-box {
    grid-template-columns: 1fr;
  }
}

/* ============ SOCIAL SHARE BAR ============ */
.social-share {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 0;
  border-top: 1px solid var(--paper-2);
  border-bottom: 1px solid var(--paper-2);
  margin: 40px 0;
}
.social-share__label {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
  margin-right: 4px;
}
.social-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border: 1px solid var(--ink);
  border-radius: 3px;
  background: transparent;
  color: var(--ink);
  font-size: 13px;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.social-share__btn:hover {
  background: var(--ink);
  color: var(--paper);
}
.social-share__btn--copy {
  margin-left: auto;
}
.social-share__btn--copy.copied {
  background: var(--good);
  color: #fff;
  border-color: var(--good);
}

/* Floating sidebar on desktop */
@media (min-width: 1100px) {
  .review-page,
  .single-comparison-page {
    position: relative;
  }
  .social-share--floating {
    position: sticky;
    top: 120px;
    flex-direction: column;
    gap: 10px;
    width: 44px;
    padding: 12px 0;
    border: none;
    margin: 0;
    border-top: none;
    border-bottom: none;
  }
  .social-share--floating .social-share__label {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-size: 9px;
    margin: 0 0 4px;
  }
  .social-share--floating .social-share__btn--copy {
    margin-left: 0;
    margin-top: 8px;
  }
}

/* Fixed bottom bar on mobile */
@media (max-width: 767px) {
  .social-share--mobile-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 200;
    background: var(--paper);
    border-top: 1px solid var(--ink);
    border-bottom: none;
    margin: 0;
    padding: 10px 16px;
    justify-content: center;
  }
}

/* ============ RECENTLY UPDATED REVIEWS ============ */
.recently-updated {
  margin-bottom: 48px;
}
.recently-updated__title {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  margin-bottom: 20px;
}
.recently-updated__list {
  display: grid;
  gap: 12px;
}
.recently-updated__item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--paper-2);
  border-radius: 4px;
  background: var(--paper-3);
  text-decoration: none;
  transition: border-color 0.15s;
}
.recently-updated__item:hover {
  border-color: var(--ink);
}
.recently-updated__name {
  font-weight: 600;
  flex: 1;
}
.recently-updated__date {
  font-size: 12px;
  color: var(--mute);
  white-space: nowrap;
}
.recently-updated__score {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--accent);
  white-space: nowrap;
}
.reviews-compare-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 30px 0 34px;
  padding: 28px;
  border: 2px solid var(--ink);
  border-radius: 6px;
  background: var(--ink);
  color: var(--paper);
  box-shadow: 6px 6px 0 var(--accent);
}
.reviews-compare-cta .section-tag {
  color: var(--accent-2);
  margin-bottom: 10px;
}
.reviews-compare-cta h2 {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.05;
}
.reviews-compare-cta p {
  max-width: 720px;
  margin: 10px 0 0;
  color: rgba(245, 241, 234, 0.78);
}
.reviews-compare-cta .btn {
  flex: 0 0 auto;
}
.provider-tags--types {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 4px 0 14px;
}
.provider-tags--types .tag {
  background: var(--paper-3);
  color: var(--ink);
}

/* ============ USE CASES SECTION (proxy pillar) ============ */
.site-main > article.use-cases-hub-page {
  padding-top: 0;
  padding-bottom: 72px;
}
.use-cases-hub-page .page-head {
  padding: 48px 0 30px;
  margin-bottom: 48px;
}
.use-cases-hub-section {
  margin: 0 0 56px;
}
.use-cases-hub-section:last-child {
  margin-bottom: 0;
}
.use-cases-hub-section > .section-title {
  margin-bottom: 16px;
}
.use-cases-hub-section > .section-sub {
  margin-bottom: 24px;
}
.use-cases-hub-section .table-wrap,
.use-cases-hub-section .related-posts-grid {
  margin-top: 24px;
}
.use-cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.use-case-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  text-decoration: none;
  transition: background 0.15s;
}
.use-case-card:hover {
  background: var(--ink);
  color: var(--paper);
}
.use-case-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 4px;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: var(--paper-3);
}
.use-case-card:hover .use-case-card__icon {
  background: var(--accent);
  color: var(--paper);
}
.use-case-card__icon .pa-icon,
.use-case-card__cta .pa-icon {
  width: 20px;
  height: 20px;
}
.use-case-card__title {
  font-weight: 700;
  font-size: 15px;
}
.use-case-card__desc {
  font-size: 13px;
  color: var(--mute);
}
.use-case-card:hover .use-case-card__desc {
  color: var(--paper-2);
}
.use-cases-hub-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.use-case-card__pick {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed currentColor;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.use-case-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
}
.use-case-guide-box {
  display: grid;
  grid-template-columns: minmax(240px, 0.9fr) minmax(360px, 1.4fr);
  gap: 24px;
  align-items: stretch;
  padding: 32px;
  border: 2px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
  box-shadow: 6px 6px 0 var(--ink);
}
.use-case-guide-box .section-title {
  font-size: clamp(30px, 3vw, 42px);
}
.use-case-quiz {
  display: grid;
  gap: 12px;
}
.use-case-quiz__choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
  color: var(--ink);
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.use-case-quiz__choice:hover {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0 var(--ink);
  background: var(--paper-2);
}
.use-case-quiz__question {
  color: var(--mute);
  font-size: 13px;
}
.use-case-quiz__choice strong {
  text-align: right;
  white-space: nowrap;
}

/* ============ COMPARISON VISUALS ============ */
.comparison-visual-grid {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}
.visual-row {
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.visual-row h3 {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  line-height: 1.1;
}
.visual-bars {
  display: grid;
  gap: 8px;
}
.visual-bars span {
  position: relative;
  display: block;
  min-height: 30px;
  padding: 7px 10px;
  overflow: hidden;
  border: 1px solid rgba(14, 15, 12, 0.25);
  border-radius: 3px;
  background: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.visual-bars span::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--bar);
  background: rgba(214, 68, 25, 0.2);
}
.visual-bars strong {
  position: relative;
  z-index: 1;
}

/* ============ RELATED CONTENT (proxy pillar) ============ */
.related-posts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 20px;
}
.related-post-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  border: 1px solid var(--paper-2);
  border-radius: 4px;
  background: var(--paper-3);
  text-decoration: none;
  transition: border-color 0.15s;
}
.related-post-card:hover {
  border-color: var(--ink);
}
.related-post-card__type {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.related-post-card__title {
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
}
.legal-page {
  max-width: 1180px;
}
.legal-hero {
  max-width: 820px;
  margin-bottom: 34px;
}
.legal-layout {
  grid-template-columns: 220px minmax(0, 820px);
}
.legal-toc {
  padding: 16px;
  border: 1px solid rgba(14, 15, 12, 0.16);
  border-radius: 6px;
  background: var(--paper-3);
}
.legal-toc a {
  display: block;
}
.legal-content {
  max-width: none;
}
.legal-content > p:first-child {
  padding: 18px 20px;
  border-left: 3px solid var(--accent);
  background: var(--paper-3);
}
.legal-content h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
  margin-top: 34px;
}
.legal-related {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid rgba(14, 15, 12, 0.18);
}
.legal-related h2 {
  margin-top: 0;
  margin-bottom: 10px;
}
.legal-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.legal-card .related-post-card__desc {
  display: block;
}
@media (max-width: 900px) {
  .legal-layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .legal-toc {
    position: static;
  }
  .legal-card-grid {
    grid-template-columns: 1fr;
  }
}
.guide-related {
  margin-top: 56px;
}
.guide-related h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(24px, 4vw, 32px);
  margin-bottom: 8px;
}
.alphabet-nav {
  position: sticky;
  top: 76px;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px;
  margin: 0 0 28px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.alphabet-nav a,
.alphabet-nav span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 3px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
}
.alphabet-nav a {
  background: var(--ink);
  color: var(--paper);
}
.alphabet-nav span {
  color: var(--mute-2);
  background: var(--paper-2);
}
.glossary-letter {
  scroll-margin-top: 140px;
  margin-top: 34px;
}
.glossary-letter > h2 {
  font-family: 'Fraunces', serif;
  font-size: 36px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 16px;
}
.glossary-term {
  scroll-margin-top: 140px;
}
.glossary-term h3 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  margin-bottom: 6px;
}

/* ============ COMPARE HUB – MASTER TABLE + ALTERNATIVES ============ */
.compare-hub-page .page-head {
  padding: 56px 0 32px;
  margin-bottom: 56px;
}
.compare-hub-page .section-title {
  font-size: clamp(40px, 5vw, 56px);
}
.compare-selector--hub {
  background: var(--paper-3);
  border: 2px solid var(--ink);
  border-radius: 4px;
  padding: clamp(22px, 3vw, 36px);
  box-shadow: 8px 8px 0 var(--ink);
  margin-bottom: 56px;
  overflow: hidden;
}
.compare-selector__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 24px;
  align-items: end;
  justify-content: flex-start;
  min-width: 0;
}
.compare-selector--hub .filter-group {
  width: 450px;
  margin-bottom: 0;
  min-width: 0;
}
.compare-selector--hub .filter-label {
  display: block;
  margin-bottom: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.42em;
  color: var(--mute);
  text-transform: uppercase;
  line-height: 1;
}
.compare-selector__grid select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 51px;
  padding: 0 42px 0 23px;
  font-size: 16px;
  border: 1.5px solid var(--ink);
  background: var(--paper);
  border-radius: 3px;
  font-family: inherit;
  color: var(--ink);
  line-height: 51px;
}
.compare-selector__vs {
  flex: 0 0 34px;
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 28px;
  color: var(--mute);
  line-height: 51px;
  padding-bottom: 0;
  text-align: center;
  text-transform: uppercase;
}
.compare-selector--hub .btn {
  flex: 0 0 128px;
  height: 48px;
  min-width: 128px;
  max-width: 100%;
  margin-bottom: 0;
  padding-inline: 20px;
  align-self: end;
  justify-content: center;
  white-space: nowrap;
}
@media (max-width: 1120px) {
  .compare-selector--hub .filter-group {
    width: min(100%, 220px);
  }
  .compare-selector--hub .btn {
    flex: 0 0 142px;
  }
}
@media (max-width: 900px) {
  .compare-selector--hub {
    padding: 24px;
    box-shadow: 5px 5px 0 var(--ink);
  }
  .compare-selector--hub .compare-selector__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr);
    gap: 18px;
    align-items: end;
  }
  .compare-selector--hub .filter-group,
  .compare-selector--hub select {
    width: 100%;
  }
  .compare-selector--hub .compare-selector__vs {
    line-height: 51px;
    text-align: center;
    width: 36px;
  }
  .compare-selector--hub .btn {
    grid-column: 1 / -1;
    justify-content: center;
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 720px) {
  .compare-selector--hub {
    padding: 20px;
    box-shadow: 4px 4px 0 var(--ink);
  }
  .compare-selector--hub .compare-selector__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    justify-items: stretch;
    align-items: stretch;
  }
  .compare-selector--hub .compare-selector__grid > *,
  .compare-selector--hub .filter-group,
  .compare-selector--hub select,
  .compare-selector--hub .btn {
    width: 100%;
  }
  .compare-selector--hub .compare-selector__vs {
    line-height: 1;
    width: 100%;
    padding: 2px 0 0;
  }
  .compare-selector--hub .filter-label {
    margin-bottom: 8px;
    letter-spacing: 0.18em;
  }
  .compare-selector__grid select {
    padding-inline: 14px;
    font-size: 15px;
  }
  .reviews-compare-cta {
    flex-direction: column;
    align-items: stretch;
    padding: 22px;
  }
  .reviews-compare-cta .btn {
    justify-content: center;
    width: 100%;
  }
}
.compare-hub-section {
  margin: 56px 0;
}
.compare-hub-section > .section-title {
  font-size: 32px;
  margin-bottom: 24px;
}
.compare-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.compare-card__logos {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.compare-card__logos > span {
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--mute);
}
.compare-card__logos .mini-logo {
  width: 40px;
  height: 40px;
  font-size: 14px;
}
.compare-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 8px;
}
.compare-winner-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 10px 0 14px;
  border: 1px solid var(--ink);
  background: var(--accent);
  color: var(--paper);
  padding: 7px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.final-verdict-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.compare-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--accent);
  text-transform: uppercase;
}
.compare-link .pa-icon {
  width: 12px;
  height: 12px;
}
.compare-hub-master {
  margin: 56px 0;
}
.compare-hub-master h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(24px, 4vw, 32px);
  margin-bottom: 8px;
}
.compare-hub-master .section-sub {
  color: var(--mute);
  margin-bottom: 24px;
}
.alternatives-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.alternatives-list--hub {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.alternatives-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px;
  border: 1px solid var(--paper-2);
  border-radius: 4px;
  background: var(--paper-3);
  text-decoration: none;
  transition: border-color 0.15s;
}
.alternatives-card:hover {
  border-color: var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
}
.alternatives-card__name {
  font-weight: 700;
}
.alternatives-card__desc {
  font-size: 13px;
  color: var(--mute);
}
@media (max-width: 900px) {
  .compare-hub-section {
    margin: 44px 0;
  }
  .alternatives-list--hub {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .alternatives-card {
    padding: 18px;
    min-width: 0;
  }
  .alternatives-card__name {
    font-size: 16px;
    line-height: 1.25;
  }
  .alternatives-card__desc {
    font-size: 12px;
    line-height: 1.45;
  }
  .alternatives-card .compare-link {
    font-size: 10px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  .cpt-single--guide .guide-step-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 20px;
  }
}
@media (max-width: 420px) {
  .alternatives-list--hub {
    gap: 12px;
  }
  .alternatives-card {
    padding: 14px;
  }
  .alternatives-card__name {
    font-size: 14px;
  }
  .alternatives-card__desc {
    font-size: 11px;
  }
  .cpt-single--guide .guide-step-card {
    padding: 16px;
  }
  .cpt-single--guide .guide-step-main strong {
    font-size: 19px;
  }
}

/* ============ HEAD-TO-HEAD – TOC + PRICING + CONSIDER ALSO ============ */
.h2h-toc {
  position: sticky;
  top: 80px;
  padding: 20px;
  border: 1px solid var(--paper-2);
  border-radius: 4px;
  background: var(--paper-3);
  align-self: start;
  font-size: 14px;
}
.h2h-toc h6 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 12px;
  color: var(--mute);
}
.h2h-toc ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.h2h-toc a {
  color: var(--mute);
  text-decoration: none;
  transition: color 0.15s;
}
.h2h-toc a:hover,
.h2h-toc li.active a,
.h2h-toc a[aria-current="true"] {
  color: var(--ink);
}
.pricing-comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}
.pricing-comparison-table th,
.pricing-comparison-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--paper-2);
  font-size: 14px;
}
.pricing-comparison-table thead th {
  background: var(--ink);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
}
.consider-also-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.consider-also-card {
  padding: 20px;
  border: 1px solid var(--paper-2);
  border-radius: 4px;
  background: var(--paper-3);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: border-color 0.15s;
}
.consider-also-card:hover {
  border-color: var(--ink);
}
.consider-also-card__score {
  font-family: 'JetBrains Mono', monospace;
  font-size: 20px;
  color: var(--accent);
  font-weight: 700;
}
.consider-also-card__name {
  font-weight: 600;
}
.consider-also-card__desc {
  font-size: 13px;
  color: var(--mute);
}
.cpt-single--alternatives .hero-eyebrow {
  text-transform: uppercase;
}
.alternatives-primary-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-top: 28px;
  padding: 26px;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
  box-shadow: 5px 5px 0 var(--ink);
}
.alternatives-primary-card__logo .provider-logo {
  width: 64px;
  height: 64px;
}
.alternatives-primary-card__label {
  margin-bottom: 6px;
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.alternatives-primary-card h2 {
  margin-bottom: 6px;
  font-family: 'Fraunces', serif;
  font-size: 30px;
}
.alternatives-primary-card p {
  max-width: 760px;
  color: var(--mute);
}
.alternatives-primary-card__score {
  min-width: 98px;
  text-align: center;
  color: var(--ink);
}
.alternatives-primary-card__score span {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 42px;
  line-height: 1;
}
.alternatives-primary-card__score small {
  color: var(--mute);
}
.alternatives-provider-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.alternative-provider-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
}
.alternative-provider-card__top,
.alternative-provider-card__head,
.alternative-provider-card__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.alternative-provider-card__rank {
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.alternative-provider-card__head {
  justify-content: flex-start;
}
.alternative-provider-card__head .provider-logo {
  width: 44px;
  height: 44px;
}
.alternative-provider-card h3 {
  font-family: 'Fraunces', serif;
  font-size: 24px;
}
.alternative-provider-card p {
  color: var(--mute);
}
.alternative-provider-card dl {
  display: grid;
  gap: 10px;
  margin: 0;
}
.alternative-provider-card dl div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 12px;
  padding-top: 10px;
  border-top: 1px dashed var(--ink);
}
.alternative-provider-card dt {
  color: var(--mute);
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.alternative-provider-card dd {
  margin: 0;
  font-weight: 600;
}
.alternatives-switch-banner {
  margin: 0;
}

/* ============ BLOG NEWSLETTER SIDEBAR ============ */
.blog-newsletter {
  background: var(--ink);
  color: var(--paper);
  border-radius: 4px;
  padding: 32px;
  margin-top: 48px;
  text-align: center;
}
.blog-newsletter h3 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  margin-bottom: 8px;
}
.blog-newsletter p {
  font-size: 14px;
  color: var(--mute-2);
  margin-bottom: 20px;
}
.blog-newsletter form {
  display: flex;
  gap: 8px;
  max-width: 400px;
  margin: 0 auto;
}
.blog-newsletter input[type="email"] {
  flex: 1;
  padding: 10px 14px;
  border: 1px solid var(--paper-2);
  border-radius: 3px;
  background: transparent;
  color: var(--paper);
  font-family: inherit;
  font-size: 14px;
}
.blog-newsletter input[type="email"]::placeholder {
  color: var(--mute-2);
}
.blog-newsletter button {
  padding: 10px 20px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 3px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
@media (max-width: 480px) {
  .blog-newsletter form {
    flex-direction: column;
  }
}

/* ============ BLOG TEMPLATES ============ */
.blog-index .article-hero {
  margin-bottom: 32px;
}
.blog-featured {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 34px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
  box-shadow: 6px 6px 0 var(--ink);
  margin-bottom: 28px;
}
.blog-featured h2 {
  max-width: 760px;
  font-family: 'Fraunces', serif;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.08;
  margin: 8px 0 12px;
}
.blog-featured p {
  max-width: 700px;
  color: var(--mute);
}
.blog-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mute);
}
.blog-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 28px;
}
.blog-tabs a,
.blog-tabs button {
  display: inline-flex;
  padding: 8px 13px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
}
.blog-tabs a:hover,
.blog-tabs a.active,
.blog-tabs button:hover,
.blog-tabs button.active {
  background: var(--ink);
  color: var(--paper);
}
.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 36px;
  align-items: start;
}
.blog-sidebar {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 18px;
}
.blog-sidebar > section:not(.blog-newsletter) {
  padding: 22px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.blog-sidebar h2 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  margin-bottom: 12px;
}
.blog-sidebar ul {
  list-style: none;
  display: grid;
  gap: 8px;
}
.blog-sidebar a:hover {
  color: var(--accent);
}
.blog-index--lab .page-head {
  margin-bottom: 40px;
}
.blog-index--lab {
  max-width: 1280px;
}
.blog-index--lab .section-title {
  max-width: 920px;
  font-size: 56px;
}
.blog-index--lab .section-sub {
  max-width: 720px;
}
.blog-index--lab .blog-featured {
  position: relative;
  display: block;
  padding: 48px;
  margin-bottom: 56px;
  overflow: hidden;
  border: 0;
  border-radius: 6px;
  background: var(--ink);
  color: var(--paper);
  box-shadow: none;
}
.blog-index--lab .blog-featured__glow {
  position: absolute;
  inset: 0 0 0 auto;
  width: 42%;
  background: linear-gradient(115deg, transparent 0%, rgba(214, 68, 25, 0.18) 44%, rgba(214, 68, 25, 0.42) 100%);
  pointer-events: none;
}
.blog-index--lab .blog-featured__content {
  position: relative;
  max-width: 720px;
}
.blog-index--lab .blog-featured__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 4px 12px;
  margin-bottom: 20px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.blog-index--lab .blog-featured h2 {
  max-width: 720px;
  margin: 0 0 16px;
  color: var(--paper);
  font-size: 44px;
  letter-spacing: 0;
}
.blog-index--lab .blog-featured p {
  max-width: 720px;
  margin-bottom: 24px;
  color: var(--paper-2);
  font-size: 17px;
  line-height: 1.5;
}
.blog-index--lab .blog-featured .blog-meta-row {
  margin-bottom: 24px;
  color: var(--paper-2);
}
.blog-index--lab .blog-tabs {
  gap: 4px;
  margin-bottom: 48px;
  border-bottom: 1px solid var(--ink);
}
.blog-index--lab .blog-tabs a,
.blog-index--lab .blog-tabs button {
  padding: 12px 20px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--mute);
}
.blog-index--lab .blog-tabs a:hover,
.blog-index--lab .blog-tabs a.active,
.blog-index--lab .blog-tabs button:hover,
.blog-index--lab .blog-tabs button.active {
  border-bottom-color: var(--accent);
  background: transparent;
  color: var(--ink);
}
.blog-index--lab .blog-card-grid {
  align-items: stretch;
}
.blog-index--lab .blog-card {
  display: flex;
  min-height: 100%;
}
.blog-index--lab .blog-card .guide-link {
  display: flex;
  width: 100%;
  flex-direction: column;
}
.blog-index--lab .blog-card .guide-excerpt {
  flex: 1;
}
.blog-index--lab .proxyaudit-pagination {
  margin-top: 56px;
}
.blog-index--lab .blog-featured {
  display: block;
}
.blog-index--lab .blog-guide-card {
  min-height: 100%;
}
.blog-index--lab .blog-guide-card .guide-link {
  color: inherit;
  text-decoration: none;
}
.blog-index-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 28px;
  align-items: start;
}
.blog-index-layout .blog-sidebar {
  position: sticky;
  top: 96px;
  display: grid;
  gap: 18px;
  min-width: 0;
}
.blog-index-layout .blog-newsletter,
.blog-index-layout .blog-sidebar__panel {
  min-width: 0;
}
.blog-index-layout .blog-newsletter form {
  max-width: none;
  width: 100%;
  flex-direction: column;
}
.blog-index-layout .blog-newsletter input[type="email"],
.blog-index-layout .blog-newsletter button {
  width: 100%;
  min-width: 0;
}
.blog-sidebar__panel {
  display: grid;
  gap: 10px;
  padding: 22px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.blog-sidebar__panel h3,
.blog-newsletter h3,
.blog-other-categories h2 {
  font-family: 'Fraunces', serif;
  font-size: 24px;
  margin: 0;
}
.blog-sidebar__panel a {
  color: var(--ink);
  text-decoration: none;
}
.blog-index--lab .blog-featured:has(.blog-featured__media) {
  display: grid;
  grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
  gap: 34px;
  align-items: stretch;
}
.blog-featured__media {
  display: flex;
  min-height: 320px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 5px;
  background: var(--paper);
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 42px;
  text-decoration: none;
}
.blog-featured__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-card {
  min-height: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--paper);
  overflow: hidden;
}
.blog-card__link {
  display: grid;
  min-height: 100%;
  color: inherit;
  text-decoration: none;
}
.blog-card__thumb {
  display: flex;
  aspect-ratio: 16 / 9;
  align-items: center;
  justify-content: center;
  background: var(--ink);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 28px;
}
.blog-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-card__body {
  display: grid;
  gap: 12px;
  padding: 22px;
}
.blog-card__cat,
.blog-card__cta {
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.blog-card__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.14;
}
.blog-card__excerpt {
  margin: 0;
  color: var(--mute);
  line-height: 1.55;
}
.blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--mute);
  font-size: 13px;
}
.blog-card.is-hidden,
.blog-guide-card.is-hidden {
  display: none;
}
.blog-newsletter {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid var(--ink);
  border-radius: 5px;
  background: var(--paper-3);
}
.blog-newsletter p {
  margin: 0;
  color: var(--mute);
}
.blog-other-categories {
  display: grid;
  gap: 16px;
  margin-top: 48px;
}
.blog-category-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.blog-category-pills a {
  padding: 9px 13px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  text-decoration: none;
}
.blog-category-pills a:hover {
  background: var(--ink);
  color: var(--paper);
}
@media (max-width: 760px) {
  .blog-index--lab .section-title {
    font-size: 42px;
  }
  .blog-index--lab .blog-featured {
    grid-template-columns: 1fr;
    padding: 32px 24px;
  }
  .blog-featured__media {
    min-height: 220px;
  }
  .blog-index--lab .blog-featured__glow {
    width: 100%;
    opacity: 0.45;
  }
  .blog-index--lab .blog-featured h2 {
    font-size: 32px;
  }
  .blog-index--lab .blog-tabs a,
  .blog-index--lab .blog-tabs button {
    padding: 10px 12px;
  }
}
@media (max-width: 980px) {
  .blog-index-layout {
    grid-template-columns: 1fr;
  }
  .blog-index-layout .blog-sidebar {
    position: static;
  }
}
.blog-post-page .social-share {
  margin-top: 0;
}
.blog-post-page .article-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 34px;
  align-items: end;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--ink);
}
.blog-post-hero__content {
  max-width: 860px;
}
.blog-post-page .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--paper-3);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mute);
  margin-bottom: 16px;
}
.blog-post-page .article-hero h1 {
  max-width: 920px;
  margin: 0;
}
.blog-post-page .article-hero .section-sub {
  max-width: 720px;
  font-size: 18px;
  line-height: 1.65;
}
.blog-post-page .blog-meta-row a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.blog-author-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.blog-author-inline img {
  width: 26px;
  height: 26px;
  border: 1px solid currentColor;
  border-radius: 999px;
  object-fit: cover;
}
.blog-post-hero__media {
  overflow: hidden;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
  box-shadow: 6px 6px 0 var(--ink);
  aspect-ratio: 4 / 3;
}
.blog-post-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-article-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 780px);
  gap: 54px;
  align-items: start;
}
.blog-entry {
  grid-column: 2;
  max-width: 780px;
}
.blog-entry > p:first-child {
  font-size: 19px;
  line-height: 1.75;
  color: var(--ink);
}
.blog-entry a:not(.btn) {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.blog-entry blockquote {
  margin: 32px 0;
  padding: 8px 0 8px 22px;
  border-left: 4px solid var(--accent);
  color: var(--mute);
  font-size: 18px;
}
.blog-entry img {
  display: block;
  border: 1px solid var(--ink);
  border-radius: 6px;
}
.blog-post-aside {
  grid-column: 1;
  grid-row: 1;
  position: sticky;
  top: 100px;
  display: grid;
  gap: 16px;
}
.blog-post-aside__panel {
  padding: 20px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
}
.blog-post-aside__panel h2 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 14px;
}
.blog-post-toc h6 {
  margin-bottom: 12px;
}
.blog-post-toc li {
  margin-left: 0;
}
.blog-post-toc a {
  display: block;
}
.blog-post-aside__panel p {
  color: var(--mute);
  font-size: 14px;
  margin-bottom: 14px;
}
.blog-post-aside dl {
  display: grid;
  gap: 12px;
}
.blog-post-aside dl div {
  display: grid;
  gap: 2px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--paper-2);
}
.blog-post-aside dl div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.blog-post-aside dt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.blog-post-aside dd {
  font-size: 14px;
  font-weight: 700;
}
.blog-post-share .social-share {
  padding: 0;
  border: 0;
  margin: 0;
}
.blog-post-share .social-share--floating {
  position: static;
  width: auto;
  flex-direction: row;
}
.blog-post-share .social-share__label {
  display: none;
}
.blog-post-share .social-share__btn {
  width: 38px;
  height: 38px;
  justify-content: center;
  padding: 0;
}
.blog-post-share .social-share__btn--copy {
  width: auto;
  padding: 0 10px;
  margin-left: 0;
}
.blog-inline-cta {
  margin: 42px 0;
  padding: 34px;
  border-radius: 6px;
}
.related-posts {
  margin-top: 44px;
}
.related-posts--single-end {
  margin-top: 72px;
}
.related-blog-card-grid {
  align-items: stretch;
}
.related-blog-card-grid .blog-guide-card {
  height: 100%;
}
.search-page-head {
  margin-bottom: 26px;
}
.search-tabs {
  margin-bottom: 34px;
}
.search-results-section {
  scroll-margin-top: 96px;
  padding-top: 26px;
  border-top: 1px solid var(--ink);
}
.search-results-section + .search-results-section {
  margin-top: 52px;
}
.search-preview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.search-preview-grid .provider-card,
.search-preview-grid .search-preview-card {
  min-width: 0;
}
.search-compare-grid .compare-card {
  height: 100%;
}
.not-found-page {
  min-height: 66vh;
  display: grid;
  gap: 34px;
  align-content: center;
}
.not-found-panel {
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  padding: 46px;
  border: 2px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
  box-shadow: 10px 10px 0 var(--accent);
  box-sizing: border-box;
}
.not-found-panel .section-title {
  margin-bottom: 14px;
}
.not-found-search {
  width: 100%;
  max-width: 720px;
  margin: 28px 0 22px;
  box-sizing: border-box;
  overflow: hidden;
}
.not-found-search input {
  min-width: 0;
}
.not-found-search button {
  flex: 0 0 auto;
  min-width: 104px;
}
.not-found-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.not-found-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
}
.blog-comments {
  margin-top: 42px;
  padding-top: 28px;
  border-top: 1px solid var(--ink);
}
.blog-comments h2 {
  margin-bottom: 16px;
}
.blog-comments {
  max-width: 780px;
  margin-left: 354px;
  margin-right: 0;
}
.blog-comments .comments-area,
.blog-comments .comment-respond,
.blog-comments .comment-list {
  max-width: none;
  width: 100%;
}
.blog-comments .comment-respond {
  box-sizing: border-box;
  padding: 28px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
  box-shadow: 6px 6px 0 var(--ink);
}
.blog-comments .comment-reply-title {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  line-height: 1.1;
  margin: 0 0 10px;
}
.blog-comments .logged-in-as,
.blog-comments .comment-notes {
  color: var(--mute);
  font-size: 14px;
  margin-bottom: 18px;
}
.blog-comments .comment-form-comment {
  display: grid;
  gap: 8px;
}
.blog-comments label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.blog-comments textarea,
.blog-comments input[type="text"],
.blog-comments input[type="email"],
.blog-comments input[type="url"] {
  width: 100%;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
  padding: 12px;
  font: inherit;
  color: var(--ink);
}
.blog-comments textarea {
  min-height: 150px;
  resize: vertical;
}
.blog-comments .form-submit {
  margin-top: 14px;
}
.blog-comments .submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--ink);
  color: var(--paper);
  font-weight: 700;
  cursor: pointer;
}
.blog-comments .submit:hover {
  background: var(--accent);
  border-color: var(--accent);
}
.blog-comments .comment-list {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}
.blog-comments .comment {
  padding: 18px 0;
  border-bottom: 1px solid var(--paper-2);
}
.related-posts h2 {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  margin-bottom: 16px;
}
.blog-post-aside .btn {
  margin-top: 12px;
  justify-content: center;
  width: 100%;
}
.author-photo img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}
.author-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 10px;
}
.author-social-links a {
  color: var(--accent);
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  text-transform: uppercase;
}
.related-post-card--thumb {
  display: grid;
  gap: 10px;
}
.related-post-card__media {
  display: flex;
  aspect-ratio: 16 / 9;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 4px;
  background: var(--ink);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 22px;
}
.related-post-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.related-post-card__desc {
  color: var(--mute);
  line-height: 1.5;
}
.methodology-flow,
.methodology-metrics,
.methodology-tools {
  margin: 48px 0;
}
.methodology-flow h2,
.methodology-metrics h2,
.methodology-tools h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(26px, 4vw, 36px);
  margin-bottom: 18px;
}
.methodology-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}
.methodology-steps article {
  padding: 20px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.methodology-steps span {
  display: inline-flex;
  margin-bottom: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: var(--accent);
}
.methodology-steps h3 {
  font-family: 'Fraunces', serif;
  font-size: 21px;
  margin-bottom: 8px;
}
.methodology-steps p {
  color: var(--mute);
  font-size: 14px;
}
.location-coverage {
  margin-top: 56px;
}
.location-coverage h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(26px, 4vw, 36px);
  margin-bottom: 8px;
}
.location-coverage .table-wrap {
  margin-top: 22px;
}
.use-case-page .article-hero {
  margin-bottom: 28px;
}
.use-case-verdict {
  margin-bottom: 42px;
}
.use-case-layout {
  margin-top: 0;
}
.use-case-panel {
  padding: 26px;
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
}
.use-case-stat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.use-case-stat-grid > div {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(14, 15, 12, 0.24);
  border-radius: 4px;
  background: var(--paper);
}
.use-case-stat-grid strong {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 22px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.use-case-stat-grid span {
  display: block;
  margin-top: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.use-case-code {
  margin-top: 18px;
  padding: 18px;
  overflow-x: auto;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: #11120f;
  color: var(--paper);
  font-size: 13px;
}
.best-value-picks {
  margin: 36px 0;
}
.best-value-picks h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(26px, 4vw, 34px);
  margin-bottom: 14px;
}
.pricing-pick-card {
  border-color: var(--ink);
}
.pricing-detail-row td {
  background: #faf5ec;
}
.pricing-detail-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  padding: 4px 0;
  font-size: 13px;
  color: var(--mute);
}
.pricing-detail-panel strong {
  color: var(--ink);
}
.proxy-tool textarea,
.proxy-tool input[type="number"] {
  width: 100%;
  border: 1px solid var(--ink);
  border-radius: 3px;
  padding: 10px 12px;
  background: var(--paper);
  font-family: inherit;
}
.tool-result-card {
  display: grid;
  gap: 14px;
  width: 100%;
}
.tool-help-text {
  margin: 0;
  color: var(--mute);
  font-size: 15px;
}
.tool-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.tool-field-card {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--paper);
}
.tool-field-card span {
  color: var(--mute);
  font-size: 14px;
}
.tool-result-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tool-result-metrics span {
  padding: 6px 10px;
  border: 1px solid var(--ink);
  border-radius: 3px;
  background: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
}
.tool-speed-chart {
  display: flex;
  align-items: end;
  gap: 8px;
  height: 140px;
  padding: 14px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper);
}
.tool-speed-chart span {
  position: relative;
  flex: 1;
  min-width: 16px;
  height: var(--bar);
  background: var(--accent);
  border-radius: 3px 3px 0 0;
}
.tool-speed-chart i {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  font-style: normal;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: var(--mute);
  white-space: nowrap;
}
.tool-result-table {
  box-shadow: none;
}
.tool-result-table .compare-table {
  min-width: 760px;
}
.cpt-cta-panel {
  display: grid;
  gap: 14px;
  align-items: start;
}
.cpt-cta-panel p {
  max-width: 760px;
  color: var(--mute);
}
@media (max-width: 640px) {
  .tool-field-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .blog-layout {
    grid-template-columns: 1fr;
  }
  .blog-sidebar {
    position: static;
  }
  .blog-post-page .article-hero,
  .blog-article-layout {
    grid-template-columns: 1fr;
  }
  .blog-entry,
  .blog-post-aside {
    grid-column: auto;
    grid-row: auto;
  }
  .blog-post-aside {
    position: static;
    order: -1;
  }
  .blog-comments {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  .blog-post-hero__media {
    max-height: 360px;
  }
  .search-preview-grid {
    grid-template-columns: 1fr;
  }
  .not-found-panel {
    padding: 30px 22px;
    box-shadow: 6px 6px 0 var(--accent);
  }
  .not-found-links {
    grid-template-columns: 1fr;
  }
  .blog-featured {
    display: grid;
  }
  .tool-archive-grid {
    grid-template-columns: 1fr;
  }
}
.proxy-pillar .review-block {
  background: var(--paper-3);
}
.proxy-pillar .review-block-head .meta {
  min-width: 0;
}
.proxy-pillar .review-block-head .meta p {
  color: var(--mute);
  font-size: 14px;
  line-height: 1.5;
}
.proxy-pillar .verdict-box p {
  color: var(--mute);
  font-size: 15px;
  line-height: 1.6;
}
.proxy-pillar .provider-ctas {
  margin-top: 20px;
}

/* ============ CPT SINGLE VIEWS ============ */
.cpt-archive .breadcrumb,
.cpt-single .breadcrumb {
  margin-bottom: 24px;
}
.cpt-archive-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 34px;
  align-items: stretch;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 32px;
}
.cpt-archive-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
}
.cpt-archive .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--paper-3);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mute);
  margin-bottom: 16px;
}
.cpt-archive-hero h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.98;
  letter-spacing: 0;
  margin: 0;
}
.cpt-archive-hero .section-sub {
  max-width: 760px;
  font-size: 18px;
  line-height: 1.65;
}
.cpt-archive-card {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 24px;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
  box-shadow: 5px 5px 0 var(--ink);
}
.cpt-archive-card span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mute);
}
.cpt-archive-card strong {
  font-family: 'Fraunces', serif;
  font-size: 52px;
  line-height: 1;
}
.cpt-archive-card p {
  color: var(--mute);
  font-size: 14px;
}
.cpt-archive-card .btn {
  justify-content: center;
  margin-top: 8px;
}
.cpt-archive-section {
  margin-top: 38px;
}
.cpt-archive-content {
  max-width: 880px;
}
.tool-archive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.tool-archive-card {
  min-height: 100%;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper);
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tool-archive-card:hover {
  transform: translateY(-3px);
  box-shadow: 6px 6px 0 var(--ink);
}
.tool-archive-card__link {
  display: grid;
  gap: 16px;
  min-height: 100%;
  padding: 24px;
  color: inherit;
  text-decoration: none;
}
.tool-archive-card__top,
.tool-archive-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}
.tool-archive-card__type,
.tool-archive-card__status,
.tool-archive-card__meta span,
.tool-archive-card__cta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.tool-archive-card__type {
  color: var(--accent);
}
.tool-archive-card__status,
.tool-archive-card__meta span {
  color: var(--mute);
}
.tool-archive-card h3 {
  margin: 0;
  font-family: 'Fraunces', serif;
  font-size: 30px;
  line-height: 1.1;
}
.tool-archive-card p {
  margin: 0;
  color: var(--mute);
  line-height: 1.6;
}
.tool-archive-card__cta {
  color: var(--accent);
}
.section-head--compact {
  margin-bottom: 20px;
}
.section-head--compact h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.1;
}
.proxyaudit-pagination {
  margin-top: 36px;
}
.proxyaudit-pagination .page-numbers {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  list-style: none;
}
.proxyaudit-pagination li {
  margin: 0;
}
.proxyaudit-pagination a,
.proxyaudit-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  background: var(--paper-3);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.proxyaudit-pagination a:hover,
.proxyaudit-pagination .current {
  background: var(--ink);
  color: var(--paper);
}
.proxyaudit-pagination .prev,
.proxyaudit-pagination .next {
  min-width: 98px;
}
.proxyaudit-pagination .dots {
  border-color: transparent;
  background: transparent;
  color: var(--mute);
}
.cpt-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: 34px;
  align-items: stretch;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--ink);
  margin-bottom: 42px;
}
.cpt-hero__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-width: 0;
}
.cpt-single .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: var(--paper-3);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mute);
  margin-bottom: 16px;
}
.cpt-hero h1,
.cpt-single .compare-head h1 {
  font-family: 'Fraunces', serif;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 0.98;
  letter-spacing: 0;
  margin: 0;
}
.cpt-hero .section-sub,
.cpt-single .compare-head .section-sub {
  max-width: 760px;
  font-size: 18px;
  line-height: 1.65;
}
.cpt-hero-card,
.cpt-sidebar__panel {
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
  box-shadow: 5px 5px 0 var(--ink);
}
.cpt-hero-card {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 26px;
}
.cpt-card-kicker {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
}
.cpt-hero-card h2 {
  font-family: 'Fraunces', serif;
  font-size: 30px;
  line-height: 1.05;
}
.provider-hero-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--paper);
  overflow: hidden;
}
.provider-hero-logo .provider-logo {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}
.cpt-hero-card > p {
  color: var(--mute);
  font-size: 13px;
  margin-top: -8px;
}
.cpt-facts,
.cpt-sidebar-list {
  display: grid;
  gap: 10px;
}
.cpt-facts div,
.cpt-sidebar-list div {
  display: grid;
  gap: 3px;
  padding-top: 10px;
  border-top: 1px dashed var(--paper-2);
}
.cpt-facts dt,
.cpt-sidebar-list dt {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mute);
}
.cpt-facts dd,
.cpt-sidebar-list dd {
  font-size: 14px;
  font-weight: 700;
}
.cpt-layout {
  display: grid;
  grid-template-columns: minmax(0, 820px) 300px;
  gap: 48px;
  align-items: start;
}
.cpt-main {
  max-width: 820px;
}
.cpt-panel,
.cpt-main > .faq-section,
.cpt-single--location .provider-table,
.cpt-single--tool .tool-shell {
  padding: 28px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
}
.cpt-panel + .cpt-panel,
.cpt-panel + .faq-section,
.cpt-main > * + * {
  margin-top: 34px;
}
.cpt-panel h2,
.cpt-main > .faq-section h2 {
  font-family: 'Fraunces', serif;
  font-size: clamp(26px, 4vw, 34px);
  line-height: 1.1;
  margin-bottom: 14px;
}
.cpt-code-panel pre {
  margin-bottom: 0;
}
.cpt-single--guide .guide-step-list {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
.cpt-single--guide .guide-step-card {
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.35fr);
  gap: 22px;
  align-items: stretch;
  padding: 22px;
  border: 1.5px solid var(--ink);
  border-radius: 6px;
  background: var(--paper-3);
}
.cpt-single--guide .guide-step-card--text {
  grid-template-columns: 1fr;
}
.cpt-single--guide .guide-step-main {
  min-width: 0;
}
.cpt-single--guide .guide-step-main span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 20px;
  font-weight: 800;
}
.cpt-single--guide .guide-step-main strong {
  display: block;
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.2;
}
.cpt-single--guide .guide-step-main p {
  margin-bottom: 0;
  color: var(--mute);
  font-size: 16px;
  line-height: 1.55;
}
.cpt-single--guide .guide-step-code {
  align-self: stretch;
  max-width: 100%;
  min-width: 0;
  max-height: 340px;
  margin: 0;
  overflow: auto;
  white-space: pre;
}
.cpt-sidebar {
  position: sticky;
  top: 100px;
  display: grid;
  gap: 16px;
}
.cpt-sidebar__panel {
  padding: 20px;
  box-shadow: none;
}
.cpt-sidebar__panel h2 {
  font-family: 'Fraunces', serif;
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 14px;
}
.cpt-sidebar__panel p {
  color: var(--mute);
  font-size: 14px;
  margin-bottom: 14px;
}
.cpt-sidebar__panel .btn {
  width: 100%;
  justify-content: center;
}
.cpt-sidebar .social-share {
  position: static;
  display: flex;
  flex-direction: row;
  width: auto;
  gap: 8px;
  padding: 0;
  border: 0;
  margin: 0;
}
.cpt-sidebar .social-share__label {
  display: none;
}
.cpt-sidebar .social-share__btn {
  width: 38px;
  height: 38px;
  justify-content: center;
  padding: 0;
}
.cpt-sidebar .social-share__btn--copy {
  width: auto;
  padding: 0 10px;
  margin-left: 0;
}
.cpt-single--tool .proxy-tool {
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
}
.cpt-single--comparison .compare-head {
  padding-bottom: 30px;
  border-bottom: 1px solid var(--ink);
}
@media (max-width: 900px) {
  .compare-vs,
  .comparison-choice-grid {
    grid-template-columns: 1fr;
  }
  .alternatives-primary-card,
  .alternatives-provider-grid {
    grid-template-columns: 1fr;
  }
  .alternatives-primary-card__score {
    text-align: left;
  }
  .compare-vs .vs {
    font-size: 34px;
  }
}
.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.score-chart {
  display: grid;
  gap: 14px;
  margin-top: 24px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.score-chart__row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(160px, 2fr) minmax(150px, auto);
  align-items: center;
  gap: 14px;
}
.score-chart__label {
  font-weight: 700;
}
.score-chart__track,
.mini-score-bar {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #edf1f5;
}
.score-chart__track span,
.mini-score-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--ink));
}
.score-chart__metric {
  color: var(--muted);
  font-size: 0.9rem;
}
.review-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}
.review-mini-card {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.review-mini-card h4 {
  margin: 0 0 10px;
}
.review-mini-card ul {
  margin: 0;
  padding-left: 18px;
}
.review-mini-card dl {
  display: grid;
  gap: 8px;
  margin: 0;
}
.review-mini-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.review-mini-card dt {
  color: var(--muted);
}
.review-mini-card dd {
  margin: 0;
  font-weight: 700;
  text-align: right;
}
.methodology-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.methodology-card div {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.methodology-card span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 0.82rem;
  text-transform: uppercase;
}
.methodology-card strong {
  display: block;
}
.comparison-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.comparison-box,
.rotation-step,
.definition-grid > div {
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.comparison-box h3,
.definition-grid h3 {
  margin: 0 0 12px;
}
.comparison-box ul {
  margin: 0;
  padding-left: 18px;
}
.rotation-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0;
}
.rotation-step span {
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-weight: 800;
}
.rotation-step strong {
  display: block;
  margin-bottom: 8px;
}
.rotation-step p,
.definition-grid p {
  margin-bottom: 0;
  color: var(--muted);
}
.definition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.warning-callout {
  padding: 24px;
  border: 1px solid #d78b2a;
  border-left-width: 6px;
  border-radius: 8px;
  background: #fff7e8;
}
.warning-callout h2 {
  margin: 0 0 10px;
}
.warning-callout p {
  margin-bottom: 0;
}
.numbered-tips {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.numbered-tips div {
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #fff;
}
.numbered-tips span {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
}
.numbered-tips strong {
  display: block;
  margin-bottom: 8px;
}
.numbered-tips p {
  margin-bottom: 0;
  color: var(--muted);
}
@media (max-width: 900px) {
  .score-chart__row,
  .review-mini-grid,
  .methodology-card,
  .comparison-split,
  .rotation-flow,
  .definition-grid,
  .numbered-tips {
    grid-template-columns: 1fr;
  }
  .score-chart__metric {
    font-size: 0.85rem;
  }
}
@media (max-width: 720px) {
  body {
    font-size: 15px;
  }
  .btn,
  .nav-cta,
  .hero-search button,
  .newsletter-form button {
    box-shadow: none;
  }
  .review-page .score-breakdown,
  .review-page .pricing-plans,
  .review-page .benchmark-results,
  .review-page .faq-section {
    padding: 18px;
  }
  .pricing-plans .compare-table th,
  .pricing-plans .compare-table td {
    padding: 10px 8px;
    font-size: 12px;
  }
  .benchmark-results .benchmark-grid {
    grid-template-columns: 1fr;
  }
  .benchmark-results .benchmark-grid strong {
    font-size: 24px;
  }
  .review-page #r-speed .score-grid--bars .score-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .review-page #r-speed .score-grid--bars .score-row .num {
    text-align: left;
  }
  .proxy-pillar .pillar-hero {
    padding: 36px 0 34px;
  }
  .pillar-meta {
    gap: 8px 12px;
    font-size: 9px;
  }
  .proxy-pillar .quick-verdict {
    grid-template-columns: 1fr;
  }
  .proxy-pillar .with-toc {
    gap: 28px;
  }
  .proxy-pillar .toc {
    position: static;
  }
  .proxy-pillar .toc ul {
    display: grid;
    grid-template-columns: 1fr;
  }
  .pillar-section + .pillar-section {
    margin-top: 44px;
  }
  .proxy-pillar .review-block {
    padding: 22px;
  }
  .proxy-pillar .review-block-head {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
  }
  .proxy-pillar .review-block-head .provider-logo {
    width: 54px;
    height: 54px;
    font-size: 22px;
  }
  .proxy-pillar .review-block-head .rscore {
    grid-column: 1 / -1;
    text-align: left;
  }
  .proxy-pillar .feature-grid {
    grid-template-columns: 1fr;
  }
  .cpt-hero,
  .cpt-archive-hero,
  .cpt-layout {
    grid-template-columns: 1fr;
  }
  .cpt-archive-hero h1,
  .cpt-hero h1,
  .cpt-single .compare-head h1 {
    font-size: clamp(34px, 12vw, 48px);
  }
  .cpt-archive-card,
  .cpt-hero-card,
  .cpt-panel,
  .cpt-main > .faq-section,
  .cpt-sidebar__panel {
    padding: 20px;
  }
  .cpt-sidebar {
    position: static;
    order: -1;
  }
}
