/* ==========================================================================
   /geo-insight — the GEO diagnosis engine (Intelligence page): website address → Level 1 executive view
   (GEO Readiness + six core dimensions) → Level 2 detailed diagnosis (nine metrics, AI Search funnel, plan).
   Loads after styles.css, features.css, flow.css, aeo-report.css and radar-sample.css.
   ========================================================================== */

/* ---------- Hero: the URL form and the radar window, centred ---------- */
.gi-hero { padding: 72px 0 24px; text-align: center; background: radial-gradient(90% 60% at 50% 0%, #111112 0%, #000 70%); }
.gi-hero h1 { max-width: 820px; margin: 22px auto 0; font-size: clamp(36px, 4.6vw, 56px); font-weight: 500; line-height: 1.06; letter-spacing: -0.04em; }
.gi-hero .gi-lead { max-width: 640px; margin: 20px auto 0; color: var(--fg-2); font-size: 17px; }
.gi-audit { scroll-margin-top: 96px; }
.gi-hero .url-msg.err { color: #ff7d7d; }
.gi-hero .radar-notice p { flex: 1 1 280px; margin: 0; font-size: 13.5px; color: var(--fg); }
.gi-hero .hero-links { margin-top: 14px; gap: 22px; flex-wrap: wrap; }
.gi-hero .ft-hero-visual { margin-top: 48px; }
.gi-rw-primary { padding-bottom: 12px; border-bottom: 1px solid var(--line-soft); }
.gi-rw-primary small { color: var(--fg-2); }
.gi-rw-primary .gi-rw-score { font-weight: 500; font-size: 15px; color: var(--fg); font-variant-numeric: tabular-nums; }

/* sub-feature openers sit directly above the first section head of each block */
.gi .ft-subhead { scroll-margin-top: 120px; }
.gi .ft-subhead + .section-grid .section-head { padding-top: 24px; }
.gi .ft-subhead + .section-grid .split.gi-split { padding-top: 40px; border-top: 0; }
.gi-split h2 { font-size: 30px; }

/* ---------- Level 1: one primary score and six dimension tiles ---------- */
.gi-exec { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 16px; align-items: stretch; }
.gi-primary { --rx-good: var(--green); --rx-fair: var(--fl-warn); --rx-poor: #ff6b6b; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 26px; border: 1px solid rgba(1,194,225,.35); border-radius: 12px; background: radial-gradient(80% 120% at 0% 0%, rgba(1,194,225,.08), transparent 60%), var(--bg-1); }
.gi-primary > small { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--fg-3); }
.gi-ring.score-ring { width: 128px; height: 128px; margin: 6px 0; font-size: 40px; font-weight: 500; letter-spacing: -0.03em; }
.gi-ring.score-ring::before { inset: 9px; }
.gi-primary h3 { font-size: 20px; font-weight: 500; letter-spacing: -0.02em; }
.gi-primary .rx-k { margin-top: -4px; }
.gi-primary p:last-child { margin-top: auto; padding-top: 10px; font-size: 13.5px; color: var(--fg-2); }
.gi-dims.score-grid { grid-template-columns: repeat(3, 1fr); }
.gi-dims .score-card header { margin-bottom: 10px; }
.gi-dims .score-card header small { font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; }
.gi-dims .score-card p { font-size: 13.5px; }
.gi-note { margin: 16px 0 96px; font-size: 12.5px; color: var(--fg-3); }

/* ---------- Level 2: the full report and the nine metrics ---------- */
.gi-report .rw-wrap { margin-top: 0; }
.gi-l2 { margin: 24px 0 96px; padding: 24px 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); }
.gi-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 28px; counter-reset: gim; }
.gi-metrics li { counter-increment: gim; display: grid; grid-template-columns: 22px 1fr; gap: 3px 10px; font-size: 13px; line-height: 1.45; color: var(--fg-3); }
.gi-metrics li::before { content: counter(gim, decimal-leading-zero); grid-row: 1 / span 2; padding-top: 2px; font-size: 11px; color: var(--fl-a); font-variant-numeric: tabular-nums; }
.gi-metrics b { font-weight: 500; font-size: 13.5px; color: var(--fg); }
.gi-metrics span { grid-column: 2; }

/* ---------- Capabilities ---------- */
.gi-caps { padding-bottom: 48px; }
.gi-caps .card small { display: block; margin-bottom: 12px; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-3); }
.gi-engines { padding-bottom: 96px; }

/* ---------- Metrics ---------- */
.gi-stats { margin-bottom: 24px; }
.gi-stats strong b { font-weight: inherit; }
.gi-stats strong small { margin-left: 2px; font-size: 16px; color: var(--fg-3); letter-spacing: 0; }

@media (max-width: 1100px) { .gi-caps.feature-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 980px) {
  .gi-exec { grid-template-columns: 1fr; }
  .gi-primary p:last-child { margin-top: 0; max-width: 560px; }
  .gi-dims.score-grid { grid-template-columns: 1fr 1fr; }
  .gi-metrics { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .gi-hero { padding-top: 48px; }
  .gi-hero .gi-lead { font-size: 16px; }
  .gi-hero .ft-hero-visual { margin-top: 36px; }
  .gi-split h2 { font-size: 26px; }
  .gi-dims.score-grid { grid-template-columns: 1fr; }
  .gi-metrics { grid-template-columns: 1fr; }
  .gi-l2 { padding: 20px; }
  .gi-caps.feature-grid--4 { grid-template-columns: 1fr; }
}
