/* Privacy Test Lab / GEO pages. Dark, evidence-first, no dashboard chrome. */
.geo-body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(900px 480px at 6% -10%, rgba(6, 182, 212, 0.12), transparent 55%),
    radial-gradient(720px 420px at 96% 0%, rgba(139, 92, 246, 0.1), transparent 50%),
    #08090d;
  color: #d4d4d8;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  line-height: 1.65;
}
.geo-skip {
  position: absolute;
  left: -999px;
  top: 8px;
  background: #fff;
  color: #08090d;
  padding: 8px 12px;
  border-radius: 8px;
  z-index: 80;
}
.geo-skip:focus { left: 8px; }
.geo-main {
  width: min(920px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 80px;
}
.geo-main--wide { width: min(1080px, calc(100% - 32px)); }
.geo-crumbs ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  padding: 0;
  margin: 0 0 22px;
  font-size: 13px;
  color: #71717a;
}
.geo-crumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 10px;
  color: #3f3f46;
}
.geo-crumbs a { color: #a1a1aa; text-decoration: none; }
.geo-crumbs a:hover { color: #fff; }
.geo-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #22d3ee;
  margin: 0 0 10px;
}
.geo-hero h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(28px, 5vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.035em;
}
.geo-hero .geo-lede {
  margin: 0;
  font-size: 18px;
  color: #a1a1aa;
  max-width: 46rem;
}
.geo-answer {
  margin: 28px 0;
  padding: 20px 22px;
  border-radius: 18px;
  border: 1px solid rgba(6, 182, 212, 0.28);
  background: linear-gradient(180deg, rgba(6, 182, 212, 0.08), rgba(15, 17, 23, 0.9));
}
.geo-answer-body { font-size: 17px; color: #e4e4e7; }
.geo-answer-body p { margin: 0; }
.geo-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 14px 0 0;
  font-size: 13px;
  font-weight: 700;
  color: #fbbf24;
}
.geo-status[data-status="verified"] { color: #34d399; }
.geo-status[data-status="needs-retest"] { color: #fb7185; }
.geo-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
}
.geo-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid currentColor;
}
.geo-badge[data-status="pending"] { color: #fbbf24; background: rgba(245, 158, 11, 0.12); }
.geo-badge[data-status="verified"] { color: #34d399; background: rgba(16, 185, 129, 0.12); }
.geo-badge[data-status="needs-retest"] { color: #fb7185; background: rgba(244, 63, 94, 0.12); }
.geo-dates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.geo-dates div, .geo-meta-list div {
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  background: rgba(15, 17, 23, 0.72);
}
.geo-dates dt, .geo-meta-list dt {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #71717a;
}
.geo-dates dd, .geo-meta-list dd {
  margin: 4px 0 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  color: #e4e4e7;
}
.geo-table-wrap {
  overflow: auto;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  margin: 16px 0 28px;
}
.geo-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 480px;
  font-size: 14px;
}
.geo-table th, .geo-table td {
  padding: 12px 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.geo-table th { color: #fff; background: #0e131d; font-weight: 650; }
.geo-table td { color: #a1a1aa; }
.geo-table td[data-state="pending"] { color: #fbbf24; }
.geo-table td[data-state="yes"] { color: #34d399; }
.geo-table td[data-state="no"] { color: #fb7185; }
.geo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0 36px;
}
.geo-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 148px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 17, 23, 0.78);
  color: inherit;
  text-decoration: none;
}
.geo-card:hover {
  border-color: rgba(6, 182, 212, 0.35);
  text-decoration: none;
}
.geo-card h2, .geo-card h3 {
  margin: 0;
  color: #fff;
  font-size: 18px;
  letter-spacing: -0.02em;
}
.geo-card p { margin: 0; color: #a1a1aa; font-size: 14px; }
.geo-body h2 {
  margin: 36px 0 10px;
  color: #fff;
  font-size: 24px;
  letter-spacing: -0.03em;
}
.geo-body h3 { color: #f4f4f5; font-size: 18px; }
.geo-body p, .geo-body li { color: #b7bec9; }
.geo-body a { color: #67e8f9; text-decoration: none; }
.geo-body a:hover { text-decoration: underline; text-underline-offset: 3px; }
.geo-note, .geo-note-box p { color: #a1a1aa; }
.geo-note-box {
  margin: 28px 0;
  padding: 16px 18px;
  border-left: 3px solid #f59e0b;
  border-radius: 0 12px 12px 0;
  background: rgba(15, 23, 42, 0.72);
}
.geo-related ul, .geo-questions ul, .geo-sources ul, .geo-steps {
  padding-left: 20px;
}
.geo-steps { counter-reset: step; list-style: none; padding-left: 0; }
.geo-steps li {
  counter-increment: step;
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  margin: 12px 0;
}
.geo-steps li::before {
  content: counter(step);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #172033;
  color: #67e8f9;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid rgba(103, 232, 249, 0.22);
}
.geo-faq details {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 12px 16px;
  margin: 8px 0;
  background: rgba(15, 17, 23, 0.7);
}
.geo-faq summary { cursor: pointer; color: #fff; font-weight: 650; }
.geo-tool-cite {
  margin: 28px 0;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 14, 20, 0.85);
}
.geo-tool-cite h2 { margin-top: 0; font-size: 18px; }
@media (max-width: 760px) {
  .geo-dates, .geo-grid { grid-template-columns: 1fr; }
  .geo-hero h1 { font-size: 30px; }
  .geo-table { min-width: 0; }
}
