    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --em:   #3157FF;
      --ink:  #101828;
      --blue: #3157FF;
      --gold: #08A8C5;
      --bg:   #F7F9FD;
      --card: #FFFFFF;
      --text: #101828;
      --mut:  #667085;
      --sep:  #D9E2F2;
      --soft: #F8FBFF;
      --primary: #3157FF;
      --primary-dark: #172554;
      --cyan: #08A8C5;
      --brand-blue: #3366C5;
      --brand-mid: #22859F;
      --brand-green: #2F8346;
      --serif: 'Instrument Serif', Georgia, serif;
      --sans:  'Inter', system-ui, sans-serif;
    }

    body {
      font-family: var(--sans);
      background: var(--bg);
      color: var(--text);
      font-size: 15px;
      line-height: 1.7;
      min-width: 320px;
    }
    a { color: var(--em); text-decoration: none; }

    /* ── NAV ── */
    nav {
      position: sticky; top: 0; z-index: 100;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0 24px; height: 52px;
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--sep);
    }
    .nav-logo { position: relative; z-index: 101; display: inline-flex; align-items: center; gap: 8px; height: 100%; font-size: 1.32rem; font-weight: 900; color: var(--em); text-decoration: none; pointer-events: auto; }
    .nav-logo:hover { color: var(--em); }
    .beta-badge {
      display: inline-flex;
      align-items: center;
      padding: 2px 7px;
      border: 1px solid rgba(8, 168, 197, 0.34);
      border-radius: 999px;
      background: rgba(8, 168, 197, 0.08);
      color: rgba(8, 168, 197, 0.72);
      font-size: 0.68rem;
      font-weight: 900;
      text-transform: uppercase;
      line-height: 1.2;
    }
    .nav-links { display: flex; align-items: center; gap: 16px; margin-left: auto; }
    .nav-link { font-size: 14px; color: #1A1A1A; font-weight: 500; font-family: inherit; }
    .nav-login {
      padding: 7px 12px;
      border: 1px solid var(--sep);
      border-radius: 8px;
      color: var(--em);
      background: #fff;
      font-size: 14px;
      font-weight: 600;
      line-height: 1;
    }
    .nav-login:hover { border-color: var(--em); }
    @media (max-width: 480px) {
      nav { padding: 0 16px; }
      .nav-links { gap: 10px; }
      .nav-link { font-size: 13px; }
      .nav-login { padding: 7px 10px; }
    }

    /* ── LAYOUT ── */
    main { max-width: 900px; margin: 0 auto; padding: 40px 24px 80px; }
    @media (max-width: 600px) { main { padding: 16px 16px 60px; } }

    /* ── HERO ── */
    .hero { text-align: center; margin-bottom: 40px; }
    .hero h1 {
      font-family: var(--sans);
      font-size: 48px; font-weight: normal;
      color: var(--ink); line-height: 1.05; margin-bottom: 16px;
      letter-spacing: 0;
    }
    .hero-kicker {
      display: inline-flex; align-items: center; gap: 8px;
      margin-bottom: 14px; padding: 6px 10px;
      border: 1px solid var(--sep); border-radius: 999px;
      background: var(--soft); color: var(--em);
      font-size: 11px; font-weight: 800; text-transform: uppercase;
      letter-spacing: 0.08em;
    }
    .hero-kicker::before {
      content: ""; width: 7px; height: 7px; border-radius: 999px;
      background: var(--gold); box-shadow: 0 0 0 4px color-mix(in srgb, var(--gold) 18%, transparent);
    }
    @media (max-width: 600px) { .hero h1 { font-size: 30px; } }
    .hero p { font-size: 15px; color: var(--mut); max-width: 540px; margin: 0 auto; line-height: 1.7; }

    /* ── SEARCH FORM ── */
    #searchForm {
      background: var(--card); border-radius: 12px;
      padding: 28px; box-shadow: 0 18px 45px rgba(23,32,51,0.08);
      border: 1px solid var(--sep); margin-bottom: 24px;
    }
    .form-row { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
    .form-row input {
      flex: 1; min-width: 160px; padding: 13px 14px;
      border: 1px solid var(--sep); border-radius: 8px;
      background: #FBFDFE; color: var(--text);
      font-size: 15px; font-family: inherit; outline: none;
      transition: border-color 0.15s;
    }
    .form-row input::placeholder { color: #AAAAAA; }
    .form-row input:focus { border-color: var(--em); }
    @media (max-width: 500px) { .form-row { flex-direction: column; } }

    .radius-row { margin-bottom: 16px; }
    .radius-label {
      font-size: 12px; color: var(--mut); text-transform: uppercase;
      letter-spacing: 0.08em; margin-bottom: 8px; display: block;
    }
    .radius-slider-wrap { display: flex; align-items: center; gap: 10px; }
    input[type="range"] { flex: 1; height: 4px; accent-color: var(--em); cursor: pointer; }
    .radius-val { font-size: 13px; font-weight: 600; color: var(--em); min-width: 72px; }

    .btn-primary {
      width: 100%; padding: 15px;
      background: var(--em); color: #fff; border: none;
      border-radius: 8px; font-size: 15px; font-weight: 600;
      cursor: pointer; font-family: inherit; transition: opacity 0.15s;
    }
    .btn-primary:hover { opacity: 0.88; }
    .btn-primary:disabled { opacity: 0.45; cursor: not-allowed; }
    .form-hint { text-align: center; margin-top: 10px; font-size: 13px; color: var(--mut); }

    /* ── LOADER ── */
    #loader { display: none; padding: 80px 24px 60px; text-align: center; }
    .ldr-track {
      width: min(400px, 75vw); height: 4px;
      background: var(--sep); border-radius: 99px;
      margin: 0 auto 24px; overflow: hidden;
    }
    .ldr-bar { height: 100%; width: 0%; background: var(--em); border-radius: 99px; }
    .ldr-text { font-size: 14px; color: var(--mut); min-height: 1.5em; }

    /* ── ERROR ── */
    #errorCard {
      display: none; border: 1px solid #FECACA; border-radius: 12px;
      padding: 20px; margin-bottom: 20px; background: #FEF2F2;
    }
    #errorCard p { color: #DC2626; font-weight: 600; }

    /* ── EMAIL GATE ── */
    #emailGate {
      display: none; position: fixed; inset: 0; z-index: 200;
      background: rgba(0,0,0,0.5); backdrop-filter: blur(6px);
      align-items: center; justify-content: center; padding: 20px;
    }
    #emailGate.active { display: flex; }
    .report-blurred { filter: blur(6px); pointer-events: none; user-select: none; }
    .gate-card {
      background: #fff; border-radius: 16px; padding: 36px 32px;
      max-width: 420px; width: 100%;
      box-shadow: 0 24px 60px rgba(0,0,0,0.2); text-align: center;
    }
    .gate-card h2 {
      font-family: var(--serif); font-size: 24px; font-weight: normal;
      color: var(--em); margin-bottom: 10px;
    }
    .gate-card p { color: var(--mut); line-height: 1.6; margin-bottom: 24px; }
    .gate-card input {
      width: 100%; padding: 13px 14px;
      border: 1px solid var(--sep); border-radius: 8px;
      background: var(--bg); color: var(--text);
      font-size: 15px; font-family: inherit; outline: none;
      margin-bottom: 12px; transition: border-color 0.15s;
    }
    .gate-card input:focus { border-color: var(--em); }
    .gate-card .hint { font-size: 12px; color: var(--mut); margin-top: 10px; }
    #gateSuccess {
      display: none; margin-top: 16px;
      background: #F0FDF4; border: 1px solid #86EFAC;
      border-radius: 8px; padding: 12px 16px;
      color: #16A34A; font-size: 14px; font-weight: 600;
    }

    /* ── DISAMBIGUATION ── */
    #bizConfirm {
      display: none; max-width: 740px; margin: 0 auto;
      padding: 32px 24px 60px;
    }
    #bizConfirm h2 {
      font-family: var(--sans); font-size: clamp(28px, 4vw, 38px); color: var(--ink);
      line-height: 1.05; font-weight: 900;
      text-align: center; margin-bottom: 8px;
      letter-spacing: 0;
    }
    #bizConfirm > p {
      text-align: center; color: var(--mut); font-size: 14px; margin-bottom: 28px;
    }
    .candidate-card {
      display: flex; align-items: center; gap: 16px;
      background: var(--card); border: 1px solid var(--sep);
      border-radius: 12px; padding: 16px; margin-bottom: 14px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.06);
      transition: border-color 0.15s, box-shadow 0.15s;
    }
    .candidate-card:hover { border-color: var(--em); box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
    .candidate-photo {
      width: 72px; height: 72px; flex-shrink: 0; border-radius: 8px;
      background: var(--bg); object-fit: cover; border: 1px solid var(--sep);
    }
    .candidate-photo.no-img {
      display: flex; align-items: center; justify-content: center;
      font-size: 24px; color: var(--mut); background: #F8FBFF;
    }
    .candidate-info { flex: 1; min-width: 0; }
    .candidate-info .c-name { font-weight: 600; font-size: 15px; color: var(--text); margin-bottom: 2px; }
    .candidate-info .c-address { font-size: 13px; color: var(--mut); }
    .candidate-info .c-meta { font-size: 12px; color: var(--mut); margin-top: 4px; }
    .candidate-btn {
      flex-shrink: 0; padding: 9px 16px; border-radius: 8px;
      font-size: 13px; font-weight: 600; cursor: pointer;
      border: 1px solid var(--em); background: var(--em); color: #fff;
      transition: opacity 0.15s;
    }
    .candidate-btn:hover { opacity: 0.88; }
    .candidate-btn:disabled { opacity: 0.45; cursor: not-allowed; }
    .none-option {
      text-align: center; margin-top: 18px;
    }
    .none-option button {
      background: none; border: none; color: var(--em); font-size: 14px;
      font-weight: 500; cursor: pointer; text-decoration: underline;
    }
    .footprint-card {
      background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,251,255,0.96));
      border: 1px solid rgba(117,139,184,0.28);
      border-radius: 12px;
      padding: 22px;
      margin-bottom: 16px;
      box-shadow: 0 22px 60px rgba(16,40,88,0.08);
    }
    .footprint-card h3 {
      margin-bottom: 6px;
      color: var(--text);
      font-size: 19px;
      line-height: 1.25;
    }
    .footprint-card p { color: var(--mut); font-size: 13px; line-height: 1.6; }
    .footprint-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
      margin-top: 16px;
    }
    .footprint-stat {
      border: 1px solid rgba(117,139,184,0.24);
      border-radius: 8px;
      padding: 11px 12px;
      background: rgba(255,255,255,0.78);
      min-width: 0;
    }
    .footprint-stat span {
      display: block;
      color: var(--mut);
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.06em;
    }
    .footprint-stat strong {
      display: block;
      overflow-wrap: anywhere;
      color: var(--text);
      font-size: 13px;
      line-height: 1.35;
      margin-top: 4px;
    }
    .footprint-pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 14px;
    }
    .footprint-pill {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 5px 9px;
      border: 1px solid rgba(49,87,255,0.18);
      border-radius: 999px;
      background: rgba(49,87,255,0.07);
      color: var(--em);
      font-size: 12px;
      font-weight: 800;
    }
    .footprint-signal-list,
    .footprint-profile-list {
      display: grid;
      gap: 8px;
      margin-top: 14px;
    }
    .footprint-section-title {
      margin-top: 16px;
      color: var(--mut);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .footprint-source-note {
      margin-top: 6px;
      color: var(--mut);
      font-size: 12px;
      line-height: 1.5;
    }
    .footprint-signal-row,
    .footprint-profile-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      border: 1px solid rgba(117,139,184,0.24);
      border-radius: 8px;
      padding: 11px 12px;
      background: rgba(255,255,255,0.9);
      color: var(--text);
    }
    .footprint-signal-row {
      transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    }
    .footprint-signal-row.positive-signal {
      border-color: rgba(49,87,255,0.3);
      background:
        linear-gradient(135deg, rgba(49,87,255,0.13), rgba(73,182,214,0.15)),
        rgba(255,255,255,0.94);
      box-shadow: 0 10px 24px rgba(49,87,255,0.08);
    }
    .footprint-signal-row.gap-signal {
      border-color: rgba(117,139,184,0.24);
      background: rgba(255,255,255,0.94);
      box-shadow: none;
    }
    .footprint-profile-row {
      grid-template-columns: auto minmax(0, 1fr) auto;
      transition: border-color 0.15s, background 0.15s, opacity 0.15s;
    }
    .footprint-profile-row.has-media {
      grid-template-columns: auto 54px minmax(0, 1fr) auto;
    }
    .footprint-profile-row:hover {
      border-color: rgba(49,87,255,0.34);
      background: #fff;
    }
    .footprint-profile-row.excluded {
      background: rgba(248,250,252,0.86);
      border-color: rgba(148,163,184,0.28);
      opacity: 0.72;
    }
    .footprint-profile-row input[type="checkbox"] {
      width: 17px;
      height: 17px;
      margin: 0;
      accent-color: var(--em);
      cursor: pointer;
    }
    .footprint-signal-row strong,
    .footprint-profile-row strong {
      display: block;
      color: var(--text);
      font-size: 13px;
      line-height: 1.3;
    }
    .footprint-signal-row small,
    .footprint-profile-row small {
      display: block;
      overflow-wrap: anywhere;
      color: var(--mut);
      font-size: 12px;
      line-height: 1.45;
      margin-top: 2px;
    }
    .footprint-signal-badge,
    .footprint-source-state {
      justify-self: end;
      border-radius: 999px;
      padding: 4px 8px;
      background: rgba(49,87,255,0.08);
      color: var(--em);
      font-size: 11px;
      font-weight: 900;
      white-space: nowrap;
    }
    .footprint-source-actions {
      display: grid;
      justify-items: end;
      gap: 6px;
    }
    .footprint-address-edit,
    .footprint-address-editor button {
      border: 0;
      background: transparent;
      color: var(--em);
      font: inherit;
      font-size: 11px;
      font-weight: 900;
      cursor: pointer;
      padding: 2px 0;
    }
    .footprint-address-editor {
      display: grid;
      gap: 6px;
      margin-top: 6px;
    }
    .footprint-address-editor input {
      width: 100%;
      min-height: 38px;
      border: 1px solid rgba(49,87,255,0.34);
      border-radius: 7px;
      padding: 7px 9px;
      color: var(--text);
      background: #fff;
      font: inherit;
      font-size: 12px;
    }
    .footprint-address-editor > span {
      display: flex;
      gap: 10px;
    }
    .footprint-signal-badge.positive,
    .footprint-source-state.included {
      border: 1px solid rgba(49,87,255,0.18);
      background: linear-gradient(135deg, #3157FF 0%, #49B6D6 100%);
      color: #fff;
      box-shadow: 0 8px 18px rgba(49,87,255,0.18);
    }
    .footprint-signal-badge.warning,
    .footprint-source-state.excluded {
      border: 1px solid rgba(49,87,255,0.14);
      background: linear-gradient(135deg, rgba(49,87,255,0.11), rgba(73,182,214,0.11));
      color: var(--em);
    }
    .footprint-profile-row.excluded .footprint-source-state {
      background: rgba(102,112,133,0.1);
      color: var(--mut);
    }
    .footprint-profile-row a {
      color: var(--em);
      font-weight: 800;
    }
    .footprint-source-photo,
    .footprint-source-fallback {
      width: 46px;
      height: 46px;
      border-radius: 8px;
      border: 1px solid rgba(117,139,184,0.24);
      background: #F8FBFF;
      object-fit: cover;
    }
    .footprint-source-fallback {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--mut);
      font-weight: 900;
    }
    .footprint-profile-empty {
      border: 1px dashed rgba(117,139,184,0.34);
      border-radius: 8px;
      padding: 12px;
      background: rgba(255,255,255,0.66);
      color: var(--mut);
      font-size: 13px;
      line-height: 1.5;
    }
    .search-console-panel {
      position: relative;
      display: grid;
      gap: 12px;
      margin-top: 12px;
      padding: 16px;
      border: 1px solid rgba(49,87,255,0.22);
      border-radius: 10px;
      background:
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,255,0.96));
      box-shadow: 0 10px 28px rgba(16,40,88,0.08);
    }
    .search-console-row {
      display: flex;
      gap: 12px;
      align-items: flex-start;
      justify-content: space-between;
    }
    .search-console-row strong {
      display: block;
      color: var(--text);
      font-size: 13px;
      line-height: 1.3;
    }
    .search-console-row small {
      display: block;
      color: var(--mut);
      font-size: 12px;
      line-height: 1.45;
      margin-top: 2px;
      overflow-wrap: anywhere;
    }
    .search-console-badge {
      border-radius: 999px;
      padding: 4px 8px;
      background: rgba(49,87,255,0.08);
      color: var(--em);
      font-size: 11px;
      font-weight: 900;
      white-space: nowrap;
    }
    .search-console-badge.verified {
      background: linear-gradient(135deg, #3157FF 0%, #49B6D6 100%);
      color: #fff;
      box-shadow: 0 8px 18px rgba(49,87,255,0.18);
    }
    .search-console-badge.gap {
      background: rgba(102,112,133,0.1);
      color: var(--mut);
    }
    .search-console-badge.setup {
      background: rgba(242,217,139,0.32);
      color: #775A06;
    }
    .search-console-callout {
      border: 1px solid rgba(49,87,255,0.18);
      border-radius: 8px;
      padding: 11px 12px;
      background: rgba(49,87,255,0.055);
      color: var(--text);
    }
    .search-console-options[hidden] { display: none; }
    .search-console-options {
      display: grid;
      gap: 12px;
      padding-top: 4px;
    }
    .search-console-callout strong {
      display: block;
      color: var(--text);
      font-size: 13px;
      line-height: 1.35;
    }
    .search-console-callout small {
      display: block;
      color: var(--mut);
      font-size: 12px;
      line-height: 1.55;
      margin-top: 3px;
    }
    .search-console-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    .search-console-actions button {
      padding: 8px 11px;
      border: 1px solid var(--sep);
      border-radius: 8px;
      background: var(--card);
      color: var(--em);
      font: inherit;
      font-size: 12px;
      font-weight: 900;
      cursor: pointer;
    }
    .search-console-actions button.primary {
      border-color: var(--em);
      background: var(--em);
      color: #fff;
    }
    .search-console-actions button:disabled {
      opacity: 0.55;
      cursor: default;
    }
    .gsc-wizard {
      display: grid;
      gap: 12px;
      margin-top: 8px;
      padding-top: 10px;
      border-top: 1px solid rgba(117,139,184,0.2);
    }
    .gsc-wizard[hidden] {
      display: none;
    }
    .gsc-wizard-intro {
      color: var(--mut);
      font-size: 12px;
      line-height: 1.55;
    }
    .gsc-path-list {
      display: grid;
      gap: 10px;
    }
    .gsc-path {
      border: 1px solid rgba(117,139,184,0.24);
      border-radius: 8px;
      padding: 11px 12px;
      background: rgba(248,251,255,0.72);
    }
    .gsc-path strong {
      display: block;
      color: var(--text);
      font-size: 13px;
      line-height: 1.35;
    }
    .gsc-path small,
    .gsc-path li {
      color: var(--mut);
      font-size: 12px;
      line-height: 1.5;
    }
    .gsc-path ol {
      margin: 8px 0 0 18px;
      padding: 0;
    }
    .gsc-copy-row {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      align-items: center;
      margin-top: 9px;
    }
    .gsc-copy-value {
      min-width: 0;
      max-width: 100%;
      overflow-wrap: anywhere;
      border-radius: 7px;
      background: #fff;
      border: 1px solid rgba(117,139,184,0.24);
      padding: 7px 8px;
      color: var(--text);
      font-size: 12px;
      font-weight: 800;
    }
    .gsc-link,
    .gsc-copy {
      border: 1px solid var(--sep);
      border-radius: 8px;
      background: #fff;
      color: var(--em);
      padding: 7px 10px;
      font-size: 12px;
      font-weight: 900;
      cursor: pointer;
      text-decoration: none;
    }
    .footprint-add {
      display: grid;
      grid-template-columns: minmax(130px, 0.42fr) minmax(0, 1fr) auto;
      gap: 10px;
      margin: 14px 0;
    }
    .footprint-add select,
    .footprint-add input {
      min-width: 0;
      padding: 12px 13px;
      border: 1px solid var(--sep);
      border-radius: 8px;
      background: #fff;
      color: var(--text);
      font-size: 14px;
      font-family: inherit;
      outline: none;
    }
    .footprint-add button,
    .footprint-secondary {
      padding: 11px 14px;
      border: 1px solid var(--sep);
      border-radius: 8px;
      background: var(--card);
      color: var(--em);
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      font-family: inherit;
    }
    .footprint-add button:hover,
    .footprint-secondary:hover {
      border-color: rgba(49,87,255,0.38);
      background: #F8FBFF;
    }
    .footprint-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 16px;
    }
    .footprint-actions .candidate-btn { min-height: 42px; }
    @media (max-width: 560px) {
      .footprint-grid { grid-template-columns: 1fr; }
      .footprint-add { grid-template-columns: 1fr; }
      .footprint-signal-row {
        grid-template-columns: minmax(0, 1fr);
      }
      .footprint-profile-row {
        grid-template-columns: auto minmax(0, 1fr);
      }
      .footprint-profile-row.has-media {
        grid-template-columns: auto 46px minmax(0, 1fr);
      }
      .footprint-signal-badge,
      .footprint-source-state {
        justify-self: start;
      }
      .footprint-signal-badge {
        grid-column: 1;
      }
      .footprint-source-state {
        grid-column: 2;
      }
      .footprint-profile-row.has-media .footprint-source-state,
      .footprint-profile-row.has-media .footprint-source-actions {
        grid-column: 3;
      }
      .footprint-profile-row.has-media .footprint-source-photo,
      .footprint-profile-row.has-media .footprint-source-fallback {
        grid-column: 2;
      }
      .search-console-row {
        display: grid;
        gap: 8px;
      }
      .search-console-panel {
        position: relative;
        top: auto;
      }
      .search-console-badge {
        justify-self: start;
      }
      .candidate-card { align-items: flex-start; flex-direction: column; }
      .candidate-btn { width: 100%; }
    }

    #bizRetry {
      display: none; max-width: 620px; margin: 0 auto;
      padding: 32px 24px 60px;
    }
    #bizRetry h2 {
      font-family: var(--serif); font-size: 28px; color: var(--em);
      text-align: center; margin-bottom: 8px;
    }
    #bizRetry > p {
      text-align: center; color: var(--mut); font-size: 14px; margin-bottom: 24px;
    }
    .retry-row {
      display: flex; gap: 10px; margin-bottom: 12px;
    }
    .retry-row input {
      flex: 1; padding: 13px 14px;
      border: 1px solid var(--sep); border-radius: 8px;
      background: var(--bg); color: var(--text);
      font-size: 15px; font-family: inherit; outline: none;
    }
    .retry-row input:focus { border-color: var(--em); }
    .retry-row button {
      flex-shrink: 0; padding: 13px 22px;
      background: var(--em); color: #fff; border: none;
      border-radius: 8px; font-size: 15px; font-weight: 600;
      cursor: pointer;
    }
    .retry-row button:hover { opacity: 0.88; }
    .retry-back {
      text-align: center; font-size: 13px; color: var(--mut);
      margin-top: 8px;
    }
    .retry-back a { color: var(--em); cursor: pointer; }

    /* ── PUBLIC AI READINESS VISUAL REFRESH ── */
    :root {
      --em: #3157FF;
      --ink: #101828;
      --blue: #3157FF;
      --gold: #08A8C5;
      --bg: #F7F9FD;
      --card: #FFFFFF;
      --text: #101828;
      --mut: #667085;
      --sep: #D9E2F2;
      --soft: #F8FBFF;
      --shadow: 0 24px 58px rgba(16,16,20,0.08);
    }
    body.dark {
      --em: #EAF2FF;
      --ink: #F7F2E9;
      --blue: #38BDF8;
      --gold: #38BDF8;
      --bg: #080808;
      --card: #111111;
      --text: #F7F2E9;
      --mut: #CBD5E1;
      --sep: #34302A;
      --soft: #181715;
      --shadow: 0 24px 60px rgba(0,0,0,0.46);
    }
    body {
      background: var(--bg);
      color: var(--text);
      letter-spacing: 0;
    }
    body::before {
      content: "";
      display: none;
    }
    body.dark::before { background: linear-gradient(90deg, #000 0 78%, var(--gold) 78% 100%); }
    a { color: var(--gold); }
    nav {
      height: 58px;
      background: rgba(255,255,255,0.94);
      border-bottom-color: var(--sep);
      padding: 0 28px;
    }
    body.dark nav { background: rgba(8,8,8,0.94); }
    .nav-logo {
      color: var(--text);
      font-size: 1.12rem;
      font-weight: 900;
    }
    .nav-logo:hover { color: var(--gold); }
    .nav-link { color: var(--text); font-weight: 700; }
    .nav-link:hover { color: var(--gold); }
    .nav-login {
      border-color: var(--gold);
      border-radius: 6px;
      color: var(--gold);
      background: var(--card);
      font-weight: 800;
    }
    .nav-login:hover { background: var(--em); border-color: var(--em); color: #fff; }
    body.dark .nav-login:hover { color: #3157FF; }
    main { max-width: 980px; padding: 66px 24px 90px; }
    .hero { margin-bottom: 34px; }
    .hero h1 {
      color: var(--ink);
      font-size: clamp(2.35rem, 5.4vw, 4.25rem);
      font-weight: 900;
      line-height: 0.98;
      max-width: 820px;
      margin: 0 auto 18px;
    }
    .hero p {
      color: var(--mut);
      font-size: 1.02rem;
      max-width: 620px;
    }
    .hero-kicker {
      border-color: color-mix(in srgb, var(--primary) 24%, transparent);
      background: color-mix(in srgb, var(--primary) 7%, transparent);
      color: var(--primary);
      border-radius: 999px;
      margin-bottom: 18px;
    }
    .hero-kicker::before {
      background: var(--cyan);
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--cyan) 18%, transparent);
    }
    #searchForm {
      border-radius: 8px;
      border-color: var(--sep);
      border-top: 0;
      box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
      padding: 18px;
    }
    .form-row input,
    .retry-row input,
    .gate-card input,
    .panel-input {
      border-radius: 8px;
      border-color: var(--sep);
      background: #fff;
      color: var(--text);
    }
    .form-row input:focus,
    .retry-row input:focus,
    .gate-card input:focus,
    .panel-input:focus { border-color: var(--primary); }
    input[type="range"] { accent-color: var(--primary); }
    .radius-val { color: var(--ink); font-weight: 900; }
    .btn-primary,
    .candidate-btn,
    .retry-row button,
    .panel-run-btn,
    .locked-report .btn-gold {
      background: linear-gradient(135deg, var(--primary), var(--cyan));
      color: #fff;
      border-radius: 8px;
      font-weight: 900;
      box-shadow: 0 10px 24px rgba(49, 87, 255, 0.18);
    }
    body.dark .btn-primary,
    body.dark .candidate-btn,
    body.dark .retry-row button,
    body.dark .panel-run-btn,
    body.dark .locked-report .btn-gold { color: #3157FF; }
    .ldr-bar { background: linear-gradient(90deg, var(--gold), var(--em)); }
    .gate-card,
    .candidate-card,
    .r-card,
    .biz-id-header,
    .r-cta,
    .locked-preview {
      background: var(--card);
      border: 1px solid var(--sep);
      border-radius: 6px;
      box-shadow: var(--shadow);
    }
    .r-agent-card { border-top-color: var(--gold); }
    .biz-id-name,
    .score-biz-name,
    .r-market-pos,
    .r-ot-text,
    .r-elena-posture { color: var(--gold); }
    .enrich-value,
    .r-act-impact,
    .you-name-cell,
    .chk,
    .m-yes,
    .analysis-details summary::after { color: var(--gold); }
    .you-badge,
    .bar-you,
    .severity-dot {
      background: var(--gold);
      box-shadow: none;
      border-color: var(--card);
    }
    .r-verdict,
    .r-elena-pulse,
    .r-elena-posture { border-left-color: var(--gold); }
    .r-gap-num {
      background: var(--soft);
      color: var(--gold);
    }
    .r-continue-grid { grid-template-columns: 1fr; }
    .r-continue-card,
    .analysis-pass,
    .locked-report,
    .enrich-cell {
      background: var(--soft);
      border-color: var(--sep);
      border-radius: 6px;
    }
    @media (max-width: 600px) {
      main { padding: 34px 16px 64px; }
      .hero h1 { font-size: 2.25rem; }
      #searchForm { padding: 22px; }
    }

    /* ═══════════════════════════════════
       EVALTIQS LANDING PAGE
    ═══════════════════════════════════ */
    html { scroll-behavior: auto; }
    body { background: var(--bg); }
    nav {
      height: 76px;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      gap: 24px;
      padding: 0 clamp(20px, 5vw, 64px);
      background: rgba(247, 249, 253, 0.92);
      border-bottom: 1px solid rgba(217, 226, 242, 0.8);
    }
    .nav-logo {
      width: fit-content;
      color: var(--ink);
      font-size: 1.18rem;
      font-weight: 800;
    }
    .nav-logo:hover { color: var(--primary); }
    .nav-links {
      justify-self: center;
      gap: 24px;
      margin-left: 0;
    }
    .nav-link,
    .nav-login {
      color: var(--mut);
      font-size: 0.98rem;
      font-weight: 700;
    }
    .nav-link:hover,
    .nav-login:hover { color: var(--primary); }
    .nav-login {
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      line-height: inherit;
    }
    .nav-cta {
      justify-self: end;
      min-height: 40px;
      padding: 0 16px;
      border-radius: 8px;
      background: linear-gradient(135deg, var(--primary), var(--cyan));
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 0.92rem;
      font-weight: 900;
      box-shadow: 0 10px 24px rgba(49, 87, 255, 0.18);
    }
    .nav-cta:hover { color: #fff; background: linear-gradient(135deg, #2447E8, #078CA4); }
    main {
      max-width: none;
      margin: 0;
      padding: 0;
    }
    .landing-shell {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(340px, 520px);
      gap: clamp(32px, 7vw, 96px);
      align-items: center;
      min-height: calc(100vh - 76px);
      padding: clamp(42px, 5vw, 72px) clamp(20px, 5vw, 64px);
      background:
        linear-gradient(115deg, rgba(255,255,255,0.78), rgba(231,240,255,0.7)),
        var(--bg);
    }
    .hero {
      margin-bottom: 0;
      text-align: left;
    }
    .hero h1 {
      max-width: 760px;
      margin: 0 0 22px;
      color: var(--ink);
      font-size: clamp(2.75rem, 5vw, 4.45rem);
      font-weight: 900;
      line-height: 1;
      letter-spacing: 0;
    }
    .hero p {
      max-width: 680px;
      margin: 0;
      color: var(--mut);
      font-size: clamp(1.05rem, 2vw, 1.28rem);
      line-height: 1.55;
    }
    .hero-kicker {
      display: block;
      width: fit-content;
      margin-bottom: 14px;
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--primary);
      font-size: 0.78rem;
      font-weight: 900;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }
    .hero-kicker::before { display: none; }
    #searchForm {
      justify-self: end;
      width: min(100%, 560px);
      margin: 0;
      padding: 18px;
      border: 1px solid var(--sep);
      border-top: 0;
      border-radius: 8px;
      background: rgba(255,255,255,0.78);
      box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
    }
    .form-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 14px;
    }
    .form-row.url-only-row {
      grid-template-columns: 1fr;
    }
    .form-field-wide {
      grid-column: 1 / -1;
    }
    .form-field,
    .radius-row {
      display: grid;
      gap: 8px;
      color: var(--mut);
      font-size: 0.88rem;
      font-weight: 800;
    }
    .form-row input {
      min-width: 0;
      min-height: 48px;
      border-color: var(--sep);
      border-radius: 8px;
      background: #fff;
      color: var(--ink);
    }
    .form-row input:focus {
      border-color: var(--primary);
      outline: 3px solid rgba(49, 87, 255, 0.18);
    }
    .radius-row { margin-bottom: 14px; }
    .radius-label {
      margin-bottom: 0;
      color: var(--mut);
      font-size: 0.88rem;
      letter-spacing: 0;
      text-transform: none;
    }
    input[type="range"] { accent-color: var(--primary); }
    .radius-val { color: var(--ink); font-weight: 900; }
    .btn-primary {
      min-height: 48px;
      border-radius: 8px;
      background: linear-gradient(135deg, var(--primary), var(--cyan));
      font-weight: 900;
      box-shadow: 0 10px 24px rgba(49, 87, 255, 0.18);
    }
    .btn-primary:hover { opacity: 1; background: linear-gradient(135deg, #2447E8, #078CA4); }
    .form-hint {
      margin: 12px 0 0;
      color: var(--mut);
      font-size: 0.92rem;
      font-weight: 700;
    }
    #signalActions {
      background: #fff;
    }
    .landing-section {
      padding: clamp(72px, 8vw, 116px) clamp(20px, 5vw, 64px);
      background: #fff;
    }
    .section-heading {
      max-width: 760px;
      margin-bottom: 34px;
    }
    .centered-heading {
      margin-right: auto;
      margin-left: auto;
      text-align: center;
    }
    .section-heading h2,
    .business-copy h2,
    .closing-cta h2 {
      margin-bottom: 16px;
      color: var(--ink);
      font-size: clamp(2.1rem, 4vw, 4rem);
      font-weight: 900;
      line-height: 1;
      letter-spacing: 0;
    }
    .section-heading p,
    .business-copy p:not(.hero-kicker) {
      color: var(--mut);
      font-size: clamp(1.05rem, 2vw, 1.26rem);
      line-height: 1.55;
    }
    .ai-card-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
      max-width: 1060px;
      margin: 36px auto 0;
    }
    .ai-card {
      display: flex;
      min-height: 362px;
      flex-direction: column;
      overflow: hidden;
      position: relative;
      border-radius: 28px;
      padding: clamp(24px, 3vw, 32px);
      color: #fff;
    }
    .ai-card::after {
      content: "";
      position: absolute;
      inset: auto 0 0;
      height: 46%;
      background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.08));
      pointer-events: none;
    }
    .ai-card-evaluate {
      background:
        linear-gradient(155deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
        linear-gradient(165deg, #315FB8, #4A8CD8);
    }
    .ai-card-track {
      background:
        linear-gradient(155deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
        linear-gradient(165deg, #177AA7, #2C9478);
    }
    .ai-card-adapt {
      background:
        linear-gradient(155deg, rgba(255,255,255,0.08), rgba(255,255,255,0)),
        linear-gradient(165deg, #2F7C43, #55A45E);
    }
    .ai-card-icon {
      display: grid;
      width: 58px;
      height: 58px;
      place-items: center;
      margin-bottom: 22px;
      border: 1.5px solid rgba(255,255,255,0.76);
      border-radius: 50%;
      font-weight: 900;
    }
    .ai-card h3 {
      margin-bottom: 8px;
      color: #fff;
      font-size: clamp(2rem, 3vw, 2.35rem);
      font-weight: 900;
    }
    .ai-card p {
      color: rgba(255,255,255,0.94);
      font-weight: 700;
    }
    .pill-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 24px 0 20px;
    }
    .pill-row span {
      border: 1px solid rgba(255,255,255,0.76);
      border-radius: 999px;
      padding: 7px 10px;
      color: #fff;
      font-size: 0.78rem;
      font-weight: 800;
    }
    .agent-note {
      margin-top: auto;
      position: relative;
      z-index: 1;
      border-radius: 8px;
      padding: 14px;
      background: rgba(255,255,255,0.1);
      color: rgba(255,255,255,0.92);
      font-size: 0.86rem;
      font-weight: 700;
    }
    .process-section {
      display: grid;
      grid-template-columns: minmax(0, 0.76fr) minmax(420px, 1fr);
      gap: clamp(32px, 7vw, 88px);
      align-items: center;
    }
    .text-link {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 10px;
      color: var(--primary);
      font-weight: 900;
    }
    .text-link:hover { color: var(--cyan); }
    .process-list {
      display: grid;
      gap: 18px;
    }
    .process-list article {
      display: grid;
      grid-template-columns: 132px 1fr;
      gap: 24px;
      align-items: center;
      padding: 22px 0;
      border-bottom: 1px solid var(--sep);
    }
    .process-list article:first-child { padding-top: 0; }
    .process-number {
      display: block;
      background: linear-gradient(145deg, var(--brand-blue), var(--cyan), var(--brand-green));
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      font-size: clamp(5.6rem, 11vw, 8.8rem);
      font-weight: 950;
      line-height: 0.8;
    }
    .process-list h3 { font-size: clamp(1.45rem, 3vw, 2rem); }
    .process-list p {
      margin: 0;
      color: var(--mut);
      font-size: 1.02rem;
    }
    .refined-signals {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: 16px;
      max-width: 1120px;
      margin: 36px auto 0;
    }
    .refined-signals article {
      grid-column: span 2;
      min-height: 220px;
      padding: 22px;
      overflow: hidden;
      position: relative;
      border: 1px solid rgba(49, 87, 255, 0.18);
      border-radius: 8px;
      box-shadow: 0 18px 34px rgba(16, 24, 40, 0.05);
      text-align: center;
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 620ms ease, transform 620ms ease, border-color 220ms ease, box-shadow 220ms ease;
    }
    .refined-signals article:nth-child(1) { background: linear-gradient(160deg, rgba(49,87,255,0.11), rgba(255,255,255,0.72) 46%), #fff; }
    .refined-signals article:nth-child(2) { background: linear-gradient(160deg, rgba(8,168,197,0.12), rgba(255,255,255,0.74) 48%), #fff; }
    .refined-signals article:nth-child(3) { background: linear-gradient(160deg, rgba(47,131,70,0.12), rgba(255,255,255,0.76) 48%), #fff; }
    .refined-signals article:nth-child(4) {
      grid-column: 2 / span 2;
      background: linear-gradient(160deg, rgba(34,133,159,0.12), rgba(255,255,255,0.74) 48%), #fff;
    }
    .refined-signals article:nth-child(5) {
      grid-column: 4 / span 2;
      background: linear-gradient(160deg, rgba(49,87,255,0.08), rgba(47,131,70,0.1) 34%, rgba(255,255,255,0.76) 58%), #fff;
    }
    .refined-signals article::after {
      content: "";
      position: absolute;
      inset: auto 18px 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, rgba(8,168,197,0.46), transparent);
    }
    .refined-signals article:hover {
      border-color: rgba(49, 87, 255, 0.34);
      box-shadow: 0 22px 42px rgba(16, 24, 40, 0.08);
      transform: translateY(-2px);
    }
    .reveal.is-visible .refined-signals article {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal.is-visible .refined-signals article:nth-child(1) { transition-delay: 80ms; }
    .reveal.is-visible .refined-signals article:nth-child(2) { transition-delay: 150ms; }
    .reveal.is-visible .refined-signals article:nth-child(3) { transition-delay: 220ms; }
    .reveal.is-visible .refined-signals article:nth-child(4) { transition-delay: 290ms; }
    .reveal.is-visible .refined-signals article:nth-child(5) { transition-delay: 360ms; }
    .refined-signals .card-icon {
      display: block;
      width: auto;
      height: auto;
      margin: 0 0 16px;
      background: none;
      color: var(--primary);
      font-size: 1.45rem;
      font-weight: 950;
    }
    .refined-signals h3 { font-size: 1.12rem; font-weight: 900; }
    .refined-signals p { color: var(--mut); }
    .business-section {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(340px, 0.8fr);
      gap: clamp(32px, 7vw, 86px);
      align-items: center;
    }
    .business-copy { max-width: 780px; }
    .business-copy .btn-primary {
      width: fit-content;
      margin-top: 12px;
      padding-right: 22px;
      padding-left: 22px;
    }
    .business-points {
      display: grid;
      gap: 14px;
    }
    .business-points article {
      display: grid;
      gap: 8px;
      border: 1px solid var(--sep);
      border-radius: 8px;
      padding: 20px;
      background: #F8FBFF;
    }
    .business-points strong { font-size: 1.05rem; }
    .business-points span { color: var(--mut); }
    .closing-cta {
      display: grid;
      justify-items: center;
      background:
        radial-gradient(circle at 82% 18%, rgba(8,168,197,0.22), transparent 34%),
        linear-gradient(135deg, #111827, var(--primary-dark) 72%);
      color: #fff;
      text-align: center;
    }
    .closing-cta .hero-kicker,
    .closing-cta .form-hint { color: #C7D7FF; }
    .closing-cta h2 {
      max-width: 760px;
      color: #fff;
    }
    .closing-cta .btn-primary {
      width: fit-content;
      margin-bottom: 14px;
      padding-right: 22px;
      padding-left: 22px;
      background: #fff;
      color: var(--primary-dark);
      box-shadow: none;
    }
    .closing-cta .btn-primary:hover { background: #EEF3FF; color: var(--primary-dark); }
    .reveal {
      opacity: 0;
      transform: translateY(26px);
      transition: opacity 700ms ease, transform 700ms ease;
    }
    .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    @media (max-width: 940px) {
      .landing-shell,
      .process-section,
      .business-section {
        grid-template-columns: 1fr;
      }
      .landing-shell { min-height: auto; }
      #searchForm {
        width: 100%;
        justify-self: stretch;
      }
      .ai-card-grid {
        grid-template-columns: 1fr;
        max-width: 620px;
      }
      .refined-signals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .refined-signals article,
      .refined-signals article:nth-child(4),
      .refined-signals article:nth-child(5) {
        grid-column: auto;
      }
    }
    @media (max-width: 680px) {
      nav {
        height: 64px;
        display: flex;
        padding: 0 18px;
      }
      .nav-links { display: none; }
      .nav-cta { display: none; }
      .landing-shell,
      .landing-section,
      .closing-cta {
        padding: 44px 18px;
      }
      .hero { text-align: left; }
      .hero h1 { font-size: clamp(2.45rem, 12vw, 3.35rem); }
      .hero p,
      .section-heading p,
      .business-copy p:not(.hero-kicker) {
        font-size: 1rem;
      }
      .form-row,
      .refined-signals {
        grid-template-columns: 1fr;
      }
      .ai-card {
        min-height: 318px;
        border-radius: 22px;
      }
      .process-list article {
        grid-template-columns: 86px 1fr;
        gap: 16px;
      }
      .process-number { font-size: 5rem; }
      .refined-signals article { min-height: 0; }
    }

    /* ═══════════════════════════════════
       REPORT DESIGN SYSTEM
    ═══════════════════════════════════ */

    #results { display: none; }
    #reportPage { max-width: 980px; margin: 0 auto; }

    /* CARD BASE */
    .r-card {
      background: var(--card); border-radius: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.08);
      margin-bottom: 24px; overflow: hidden;
    }
    .r-card-pad { padding: 32px; }
    @media (max-width: 600px) {
      .r-card-pad { padding: 20px; }
      .r-card { margin-bottom: 16px; }
    }

    /* AGENT CARD */
    .r-agent-card { border-top: 4px solid var(--em); }

    /* LABELS + HEADINGS */
    .r-section-label {
      font-size: 11px; font-weight: 600;
      letter-spacing: 0.08em; text-transform: uppercase;
      color: var(--mut); display: block; margin-bottom: 4px;
    }
    .r-agent-name {
      font-family: var(--serif); font-size: 18px;
      color: var(--text); margin-bottom: 20px; line-height: 1.3;
    }
    .r-card-title {
      font-family: var(--serif); font-size: 22px;
      color: var(--text); margin-bottom: 24px; line-height: 1.25;
    }
    .r-int-hdr {
      font-size: 12px; font-weight: 600;
      letter-spacing: 0.1em; text-transform: uppercase;
      color: #08A8C5; margin-bottom: 10px; margin-top: 20px;
    }
    .r-int-hdr:first-child { margin-top: 0; }
    .r-divider { border: none; border-top: 1px solid var(--sep); margin: 20px 0; }
    .enrich-grid {
      display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px; margin-bottom: 18px;
    }
    .enrich-cell {
      background: var(--bg); border: 1px solid var(--sep);
      border-radius: 8px; padding: 12px;
    }
    .enrich-label {
      color: var(--mut); font-size: 11px; font-weight: 700;
      letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 5px;
    }
    .enrich-value { color: var(--em); font-size: 20px; font-weight: 700; line-height: 1; }
    @media (max-width: 600px) { .enrich-grid { grid-template-columns: 1fr; } }

    /* BODY */
    .r-body { font-size: 15px; color: var(--text); line-height: 1.7; }
    .r-body p { margin-bottom: 12px; }
    .r-body p:last-child { margin-bottom: 0; }

    /* BUSINESS IDENTITY HEADER */
    .biz-id-header {
      background: var(--card); border-radius: 12px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.08);
      margin-bottom: 24px; overflow: hidden;
    }
    .biz-id-inner {
      padding: 32px; display: flex;
      justify-content: space-between; align-items: flex-start;
      gap: 24px; position: relative;
    }
    @media (max-width: 600px) { .biz-id-inner { padding: 20px; flex-direction: column; gap: 12px; } }
    .biz-id-name {
      font-family: var(--serif); font-size: 32px;
      color: var(--em); margin-bottom: 12px; line-height: 1.1;
    }
    @media (max-width: 600px) { .biz-id-name { font-size: 24px; } }
    .biz-id-details { display: flex; flex-direction: column; gap: 4px; }
    .biz-id-detail { font-size: 14px; color: var(--mut); line-height: 1.4; }
    .biz-id-detail a { color: var(--mut); text-decoration: underline; }
    .biz-id-right { text-align: right; flex-shrink: 0; }
    @media (max-width: 600px) { .biz-id-right { text-align: left; } }
    .biz-id-date { font-size: 13px; color: var(--mut); margin-bottom: 8px; }
    .tier-badge {
      display: inline-block; padding: 3px 10px;
      border: 1px solid var(--gold); border-radius: 99px;
      color: var(--gold); font-size: 11px; font-weight: 600;
      letter-spacing: 0.06em; text-transform: uppercase; background: #fff;
    }

    /* COLLAPSE TOGGLE (Pro + Entrepreneur) */
    .biz-id-toggle {
      position: absolute; top: 14px; right: 14px;
      background: none; border: none; cursor: pointer;
      color: var(--mut); padding: 6px;
      display: flex; align-items: center; justify-content: center;
    }
    .biz-id-toggle:hover { color: var(--text); }
    .toggle-plus { font-size: 22px; line-height: 1; font-weight: 300; }
    .toggle-ham { display: none; flex-direction: column; gap: 4px; width: 18px; }
    .toggle-ham span { display: block; height: 2px; width: 100%; background: currentColor; border-radius: 1px; }

    /* INLINE EXPAND PANEL */
    .biz-id-panel {
      display: none; border-top: 1px solid var(--sep);
      padding: 20px 32px; background: var(--bg);
    }
    .biz-id-panel.open { display: block; }
    @media (max-width: 600px) { .biz-id-panel { padding: 16px 20px; } }
    .panel-fields { display: flex; flex-direction: column; gap: 12px; }
    .panel-input {
      padding: 11px 14px; border: 1px solid var(--sep); border-radius: 8px;
      background: #fff; color: var(--text);
      font-size: 14px; font-family: inherit; outline: none;
      transition: border-color 0.15s;
    }
    .panel-input:focus { border-color: var(--em); }
    .panel-input:disabled { opacity: 0.45; cursor: not-allowed; }
    .panel-run-btn {
      padding: 11px 20px; background: var(--em); color: #fff;
      border: none; border-radius: 8px; font-size: 14px; font-weight: 600;
      cursor: pointer; font-family: inherit; align-self: flex-start;
      transition: opacity 0.15s;
    }
    .panel-run-btn:hover { opacity: 0.88; }
    .panel-counter { font-size: 12px; color: var(--mut); }
    .panel-limit-msg { font-size: 13px; color: var(--gold); }

    /* SCORE CARD */
    .score-wrap { display: flex; flex-direction: column; align-items: center; padding: 32px 20px; }
    .score-biz-name {
      font-family: var(--serif); font-size: 20px; color: var(--em);
      margin-bottom: 4px; text-align: center;
    }
    .score-biz-sub { font-size: 13px; color: var(--mut); margin-bottom: 24px; text-align: center; }
    .ring-container { position: relative; width: 200px; height: 200px; margin-bottom: 24px; }
    .ring-container svg { position: absolute; top: 0; left: 0; }
    .ring-inner {
      position: absolute; top: 50%; left: 50%;
      transform: translate(-50%, -50%); text-align: center; pointer-events: none;
    }
    .ring-pct { font-size: 56px; font-weight: 700; color: var(--gold); line-height: 1; }
    .ring-lbl { font-size: 14px; color: var(--mut); margin-top: 4px; }
    .severity-track { width: 100%; max-width: 260px; }
    .severity-bar {
      height: 4px; border-radius: 2px;
      background: linear-gradient(to right, #DC2626 0%, #DC2626 33%, #D97706 33%, #D97706 66%, #1A6B4A 66%, #1A6B4A 100%);
      margin-bottom: 6px; position: relative;
    }
    .severity-dot {
      width: 12px; height: 12px; border-radius: 50%;
      background: var(--em); border: 2px solid #fff;
      box-shadow: 0 0 0 1.5px var(--em);
      position: absolute; top: 50%; transform: translate(-50%, -50%);
    }
    .severity-labels { display: flex; justify-content: space-between; font-size: 11px; color: var(--mut); }

    /* AI RECOMMENDATION READINESS */
    .readiness-topline {
      display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap: 24px; align-items: stretch;
    }
    .readiness-score-panel {
      background: linear-gradient(160deg, rgba(49,87,255,0.08), rgba(8,168,197,0.08)), var(--bg);
      border: 1px solid var(--sep); border-radius: 10px; padding: 18px;
      display: flex; flex-direction: column; justify-content: space-between; min-height: 220px;
    }
    .readiness-score-value { font-size: 54px; line-height: 1; font-weight: 800; color: var(--em); }
    .readiness-score-label { font-size: 13px; color: var(--mut); margin-top: 6px; }
    .readiness-status { margin-top: 16px; font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.35; }
    .readiness-axis {
      position: relative; min-height: 240px; border-left: 2px solid #98A2B3; border-bottom: 2px solid #98A2B3;
      background:
        linear-gradient(to right, rgba(15,23,42,0.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(15,23,42,0.06) 1px, transparent 1px);
      background-size: 25% 25%; border-radius: 0 8px 0 0; margin: 14px 8px 22px 28px;
    }
    .readiness-axis-dot {
      position: absolute; width: 18px; height: 18px; border-radius: 50%;
      background: var(--em); border: 3px solid #fff; box-shadow: 0 0 0 2px rgba(49,87,255,0.28);
      transform: translate(-50%, 50%);
    }
    .readiness-axis-label {
      position: absolute; font-size: 11px; font-weight: 700; color: var(--mut);
      letter-spacing: 0.05em; text-transform: uppercase;
    }
    .readiness-axis-label.x { left: 50%; bottom: -22px; transform: translateX(-50%); white-space: nowrap; }
    .readiness-axis-label.y { left: -30px; top: 50%; transform: translate(-50%, -50%) rotate(-90deg); white-space: nowrap; }
    .readiness-components {
      display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px;
    }
    .readiness-component {
      border: 1px solid var(--sep); border-radius: 8px; padding: 10px; background: #fff;
    }
    .readiness-component-head { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; font-weight: 700; color: var(--text); }
    .readiness-component-bar { height: 5px; border-radius: 99px; background: #D9E2F2; overflow: hidden; margin-top: 8px; }
    .readiness-component-fill { height: 100%; background: linear-gradient(90deg, var(--em), #08A8C5); border-radius: inherit; }
    .footprint-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
    .footprint-pill {
      border: 1px solid rgba(49,87,255,0.22); background: rgba(49,87,255,0.07);
      color: var(--em); border-radius: 999px; padding: 6px 9px; font-size: 12px; font-weight: 700;
    }
    .visual-suite {
      display: grid;
      gap: 16px;
    }
    .visual-hero-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
    }
    .visual-stat {
      border: 1px solid var(--sep);
      border-radius: 10px;
      background: linear-gradient(150deg, rgba(49,87,255,0.05), rgba(8,168,197,0.05)), #fff;
      padding: 14px;
      min-width: 0;
    }
    .visual-stat-label {
      color: var(--mut);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      line-height: 1.25;
    }
    .visual-stat-value {
      color: var(--em);
      font-size: 30px;
      font-weight: 900;
      line-height: 1;
      margin-top: 9px;
    }
    .visual-stat-status {
      color: var(--text);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.35;
      margin-top: 7px;
      overflow-wrap: anywhere;
    }
    .visual-grid-2 {
      display: grid;
      grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
      gap: 16px;
    }
    .visual-panel {
      border: 1px solid var(--sep);
      border-radius: 12px;
      background: #fff;
      padding: 18px;
      min-width: 0;
    }
    .visual-panel-title {
      color: var(--text);
      font-size: 15px;
      font-weight: 900;
      line-height: 1.25;
      margin-bottom: 6px;
    }
    .visual-panel-copy {
      color: var(--mut);
      font-size: 12px;
      line-height: 1.45;
      margin-bottom: 14px;
    }
    .visual-axis {
      position: relative;
      min-height: 250px;
      margin: 18px 10px 34px 34px;
      border-left: 2px solid #98A2B3;
      border-bottom: 2px solid #98A2B3;
      background:
        linear-gradient(to right, rgba(15,23,42,0.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(15,23,42,0.06) 1px, transparent 1px);
      background-size: 25% 25%;
      border-radius: 0 10px 0 0;
    }
    .visual-axis-dot {
      position: absolute;
      width: 18px;
      height: 18px;
      border-radius: 50%;
      background: var(--em);
      border: 3px solid #fff;
      box-shadow: 0 0 0 3px rgba(49,87,255,0.18);
      transform: translate(-50%, 50%);
    }
    .visual-axis-label {
      position: absolute;
      color: var(--mut);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .visual-axis-label.x { left: 50%; bottom: -24px; transform: translateX(-50%); white-space: nowrap; }
    .visual-axis-label.y { left: -31px; top: 50%; transform: translate(-50%, -50%) rotate(-90deg); white-space: nowrap; }
    .visual-bars {
      display: grid;
      gap: 10px;
    }
    .visual-bar-row {
      display: grid;
      grid-template-columns: minmax(135px, 0.48fr) minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      min-width: 0;
    }
    .visual-bar-label {
      color: var(--text);
      font-size: 12px;
      font-weight: 800;
      line-height: 1.3;
      overflow-wrap: anywhere;
    }
    .visual-track {
      height: 8px;
      border-radius: 999px;
      background: #D9E2F2;
      overflow: hidden;
    }
    .visual-fill {
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, var(--em), #08A8C5);
    }
    .visual-bar-value {
      color: var(--mut);
      font-size: 12px;
      font-weight: 900;
      white-space: nowrap;
    }
    .visual-gap-list,
    .visual-roadmap,
    .visual-monitoring {
      display: grid;
      gap: 10px;
    }
    .visual-gap-item,
    .visual-roadmap-item,
    .visual-monitor-item {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 10px;
      border: 1px solid var(--sep);
      border-radius: 10px;
      background: var(--soft);
      padding: 12px;
    }
    .visual-step {
      width: 28px;
      height: 28px;
      border-radius: 999px;
      background: rgba(49,87,255,0.08);
      color: var(--em);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 12px;
      font-weight: 900;
    }
    .visual-item-title {
      color: var(--text);
      font-size: 13px;
      font-weight: 900;
      line-height: 1.3;
      margin-bottom: 3px;
    }
    .visual-item-copy {
      color: var(--mut);
      font-size: 12px;
      line-height: 1.45;
    }
    .visual-strip {
      display: grid;
      gap: 10px;
    }
    .visual-competitor-row {
      display: grid;
      grid-template-columns: minmax(140px, 0.5fr) minmax(0, 1fr) auto;
      gap: 10px;
      align-items: center;
      min-width: 0;
    }
    .visual-competitor-name {
      color: var(--text);
      font-size: 12px;
      font-weight: 900;
      overflow-wrap: anywhere;
    }
    .visual-competitor-meta {
      color: var(--mut);
      font-size: 11px;
      line-height: 1.35;
    }
    .visual-progress-line {
      display: grid;
      gap: 10px;
    }
    .visual-progress-note {
      color: var(--mut);
      font-size: 12px;
      line-height: 1.45;
      border-left: 3px solid var(--gold);
      padding-left: 12px;
    }
    @media (max-width: 760px) {
      .readiness-topline { grid-template-columns: 1fr; }
      .readiness-axis { min-height: 210px; }
      .readiness-components { grid-template-columns: 1fr; }
      .visual-hero-grid,
      .visual-grid-2 { grid-template-columns: 1fr; }
      .visual-bar-row,
      .visual-competitor-row { grid-template-columns: 1fr; }
      .visual-axis { min-height: 220px; }
    }

    /* COMPETITIVE TABLE */
    .comp-table { width: 100%; border-collapse: collapse; font-size: 14px; table-layout: fixed; }
    .comp-table th {
      font-size: 11px; font-weight: 600;
      letter-spacing: 0.08em; text-transform: uppercase; color: var(--mut);
      padding: 0 8px 12px; text-align: left;
      border-bottom: 1px solid var(--sep);
    }
    .comp-table th:not(:first-child) { text-align: center; }
    .comp-table td { padding: 12px 8px; vertical-align: middle; border-top: 1px solid var(--sep); }
    .you-name-cell { font-weight: 600; color: var(--em); display: flex; align-items: center; gap: 6px; }
    .you-badge {
      font-size: 9px; font-weight: 700; padding: 2px 6px; border-radius: 99px;
      background: var(--em); color: #fff; letter-spacing: 0.05em;
    }
    .comp-name-cell { color: var(--text); }
    .r-hi { color: #1A6B4A; font-weight: 600; }
    .r-md { color: #9A6200; font-weight: 600; }
    .r-lo { color: #DC2626; font-weight: 600; }
    .bar-wrap { display: flex; align-items: center; gap: 6px; }
    .bar-num { font-size: 13px; min-width: 38px; color: var(--text); }
    .bar-track { flex: 1; height: 4px; border-radius: 2px; background: #F0EDE4; overflow: hidden; }
    .bar-you  { height: 100%; background: var(--em); border-radius: 2px; }
    .bar-comp { height: 100%; background: rgba(49, 87, 255,0.3); border-radius: 2px; }
    .chk  { color: var(--em); text-align: center; font-size: 15px; }
    .miss { color: #CCC; text-align: center; font-size: 15px; }

    .comp-desktop { }
    .comp-mobile  { display: none; }
    @media (max-width: 559px) { .comp-desktop { display: none; } .comp-mobile { display: block; } }
    .comp-m-card { border: 1px solid var(--sep); border-radius: 8px; padding: 14px; margin-bottom: 10px; }
    .comp-m-card.you-card { border-color: var(--em); }
    .comp-m-name { font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
    .comp-m-row { display: flex; justify-content: space-between; font-size: 13px; padding: 4px 0; border-top: 1px solid var(--sep); }
    .comp-m-val { font-weight: 500; }
    .comp-m-pills { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
    .m-pill { font-size: 11px; padding: 3px 8px; border-radius: 99px; border: 1px solid var(--sep); }
    .m-yes { color: var(--em); border-color: #A8C4B0; }
    .m-no  { color: #BBBBBB; }

    /* INTERNAL REPORT BLOCKS */
    .r-verdict { border-left: 1px solid var(--em); padding-left: 14px; margin-bottom: 16px; }
    .r-verdict-text { font-size: 15px; color: var(--text); line-height: 1.7; }

    .r-gap {
      display: grid; grid-template-columns: 34px minmax(0, 1fr);
      gap: 14px; border-top: 1px solid var(--sep);
      padding-top: 16px; margin-top: 16px;
    }
    .r-int-hdr + .r-gap { margin-top: 0; }
    .r-gap-num {
      width: 34px; height: 34px; border-radius: 999px;
      display: inline-flex; align-items: center; justify-content: center;
      background: var(--soft); color: var(--em);
      font-size: 14px; font-weight: 900; line-height: 1;
    }
    .r-gap-title {
      font-size: 14px; font-weight: 800; color: var(--text);
      margin-bottom: 8px; line-height: 1.45;
    }
    .r-gap-text { font-size: 14px; color: var(--text); line-height: 1.75; }
    .r-gap-text p { margin: 0 0 12px; }
    .r-gap-text p:last-child { margin-bottom: 0; }
    .r-market-pos {
      border-top: 1px solid var(--sep); padding-top: 16px; margin-top: 16px;
      font-family: var(--serif); font-size: 16px; color: var(--em);
      line-height: 1.6; font-style: italic;
    }

    .r-cx-text { font-size: 15px; color: var(--text); line-height: 1.7; }
    .r-no-conf {
      border: 1px solid var(--sep); border-radius: 8px;
      padding: 10px 14px; margin: 12px 0;
      display: flex; align-items: center; gap: 8px;
      font-size: 13px; color: var(--em); font-weight: 600;
    }
    .r-confusion { border: 1px solid #FECACA; border-radius: 8px; padding: 10px 14px; margin: 12px 0; }
    .r-confusion-title { font-size: 13px; font-weight: 600; color: #DC2626; margin-bottom: 4px; }
    .r-confusion-text { font-size: 13px; color: var(--text); line-height: 1.6; }
    .r-decision { border-top: 1px solid var(--sep); padding-top: 16px; margin-top: 16px; font-size: 15px; color: var(--text); line-height: 1.7; }

    .r-act-block { margin-bottom: 16px; }
    .r-act-period {
      font-size: 12px; font-weight: 600; letter-spacing: 0.1em;
      text-transform: uppercase; color: var(--mut); margin-bottom: 10px;
    }
    .r-act-item { border-top: 1px solid var(--sep); padding-top: 10px; margin-top: 10px; }
    .r-act-item:first-child { border-top: none; padding-top: 0; margin-top: 0; }
    .r-act-what { font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 3px; }
    .r-act-why  { font-size: 13px; color: var(--mut); line-height: 1.5; margin-bottom: 2px; }
    .r-act-impact { font-size: 13px; font-weight: 600; color: var(--em); }
    .r-one-thing { border-top: 1px solid var(--sep); padding-top: 20px; margin-top: 20px; text-align: center; }
    .r-ot-label { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mut); margin-bottom: 8px; }
    .r-ot-text { font-family: var(--serif); font-size: 20px; color: var(--em); line-height: 1.5; }
    .r-act-closing { text-align: center; font-size: 13px; font-style: italic; color: var(--mut); padding-top: 16px; line-height: 1.6; }

    .r-elena-pulse { border-left: 1px solid var(--em); padding-left: 14px; margin-bottom: 16px; font-size: 15px; font-weight: 600; color: var(--text); line-height: 1.6; }
    .r-elena-body { font-size: 15px; color: var(--text); line-height: 1.7; margin-bottom: 16px; }
    .r-elena-forces { border-top: 1px solid var(--sep); border-bottom: 1px solid var(--sep); padding: 16px 0; margin-bottom: 16px; }
    .r-elena-posture { border-left: 1px solid var(--em); padding-left: 14px; margin-bottom: 16px; font-family: var(--serif); font-size: 16px; color: var(--em); line-height: 1.65; font-style: italic; }
    .r-elena-fwd { border: 1px solid var(--sep); border-radius: 8px; overflow: hidden; }
    .r-elena-fwd-hdr { padding: 10px 16px; border-bottom: 1px solid var(--sep); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mut); }
    .r-elena-fwd-body { padding: 14px 16px; font-size: 14px; color: var(--text); line-height: 1.8; white-space: pre-line; }

    /* CTA */
    .r-full-report {
      margin: 8px 0 30px; padding: 34px 0 4px; border-top: 1px solid var(--sep);
    }
    .r-full-report-head { text-align: center; max-width: 760px; margin: 0 auto 24px; }
    .r-full-report-head h2 {
      color: var(--text); font-size: clamp(2rem, 5vw, 3.35rem); font-weight: 900;
      line-height: 1; letter-spacing: -0.035em; margin: 0 0 12px;
    }
    .r-full-report-head p {
      color: var(--mut); font-size: 15px; line-height: 1.6; max-width: 680px; margin: 0 auto 18px;
    }
    .r-full-report .full-report-button {
      min-width: 230px; border: 0; color: #fff;
      background: linear-gradient(90deg, #3157FF, #08A8C5);
      box-shadow: 0 12px 28px rgba(49, 87, 255, 0.2);
    }
    .r-full-report-list { max-width: 820px; margin: 0 auto; }
    .r-full-report-item {
      display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 26px;
      align-items: center; padding: 20px 0; border-bottom: 1px solid var(--sep);
    }
    .r-full-report-number {
      font-size: clamp(4.5rem, 11vw, 7rem); font-weight: 900; line-height: 0.82;
      letter-spacing: -0.07em; color: #3157FF;
      background: linear-gradient(155deg, #3157FF 18%, #48AEC8 62%, #4FA58D 92%);
      -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
    }
    .r-full-report-item h3 {
      color: var(--text); font-size: clamp(1.25rem, 3vw, 1.75rem); line-height: 1.1;
      margin: 0 0 7px; font-weight: 900;
    }
    .r-full-report-item p { color: var(--mut); font-size: 14px; line-height: 1.55; margin: 0; }
    .r-full-report-bottom { text-align: center; margin-top: 24px; }
    .focused-reports {
      margin: 12px 0 28px; border-top: 1px solid var(--sep); border-bottom: 1px solid var(--sep);
    }
    .focused-reports > summary {
      list-style: none; cursor: pointer; display: flex; justify-content: space-between;
      gap: 20px; align-items: center; padding: 20px 2px; color: var(--text);
    }
    .focused-reports > summary::-webkit-details-marker { display: none; }
    .focused-reports > summary span { font-size: 18px; font-weight: 900; }
    .focused-reports > summary small { color: var(--mut); font-size: 13px; margin-left: auto; }
    .focused-reports > summary::after { content: "+"; color: var(--gold); font-size: 25px; line-height: 1; }
    .focused-reports[open] > summary::after { content: "−"; }
    .focused-reports-body { padding: 0 0 22px; }
    .r-continue-grid {
      display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px; margin-top: 22px; text-align: left;
    }
    .r-continue-card {
      border: 1px solid var(--sep); border-radius: 10px;
      padding: 16px; background: #FBFDFE;
    }
    .r-continue-label {
      font-size: 11px; font-weight: 800; letter-spacing: 0.08em;
      text-transform: uppercase; color: var(--mut); margin-bottom: 8px;
    }
    .r-continue-title { color: var(--text); font-size: 15px; font-weight: 900; margin-bottom: 7px; }
    .r-continue-copy { color: var(--mut); font-size: 13px; line-height: 1.5; margin-bottom: 14px; }
    .r-continue-card .btn-gold { width: 100%; }
    .analysis-pass-grid {
      display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px; margin-top: 18px;
    }
    .analysis-pass {
      border: 1px solid var(--sep); border-radius: 10px;
      padding: 12px; background: #FBFDFE;
    }
    .analysis-pass-name { color: var(--text); font-size: 13px; font-weight: 900; margin-bottom: 4px; }
    .analysis-pass-copy { color: var(--mut); font-size: 12px; line-height: 1.45; }
    .analysis-details { margin-bottom: 24px; }
    .analysis-details-quiet { margin: 24px 0 0; border-top: 1px solid var(--sep); }
    .analysis-details-quiet > summary { padding: 18px 2px; }
    .analysis-details-body { padding: 0 2px 8px; }
    .analysis-details summary {
      list-style: none; cursor: pointer; display: flex;
      justify-content: space-between; gap: 16px; align-items: center;
    }
    .analysis-details summary::-webkit-details-marker { display: none; }
    .analysis-details summary::after {
      content: "+"; color: var(--em); font-size: 24px;
      font-weight: 400; line-height: 1;
    }
    .analysis-details[open] summary::after { content: "−"; }
    .locked-preview {
      background: var(--card); border: 1px solid var(--sep);
      border-radius: 12px; padding: 28px; margin-bottom: 24px;
      box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    }
    .locked-preview-title {
      font-size: 20px; font-weight: 900; color: var(--text);
      margin-bottom: 8px; line-height: 1.25;
    }
    .locked-preview-copy {
      color: var(--mut); font-size: 14px; line-height: 1.65;
      max-width: 700px; margin-bottom: 18px;
    }
    .locked-report {
      position: relative; border: 1px solid var(--sep);
      border-radius: 10px; padding: 18px; background: #FBFDFE;
      overflow: hidden;
    }
    .locked-report-lead {
      color: var(--text); font-size: 14px; line-height: 1.7;
      margin-bottom: 10px;
    }
    .locked-report-blur {
      color: var(--text); font-size: 14px; line-height: 1.7;
      filter: blur(4px); user-select: none; pointer-events: none;
      max-height: 168px; overflow: hidden; opacity: 0.72;
    }
    .locked-report::after {
      content: ""; position: absolute; inset: auto 0 0;
      height: 140px;
      background: linear-gradient(to bottom, rgba(251,253,254,0), #FBFDFE 78%);
      pointer-events: none;
    }
    .locked-report .btn-gold {
      position: absolute; left: 50%; bottom: 20px;
      transform: translateX(-50%); z-index: 1;
      background: var(--em); border-color: var(--em); color: #fff;
      min-width: 190px;
    }
    .open-report::after { display: none; }
    .open-report .locked-report-lead { margin-bottom: 0; }
    .open-report .locked-report-lead p { margin: 0 0 12px; }
    .open-report .locked-report-lead p:last-child { margin-bottom: 0; }
    .btn-outline {
      padding: 11px 22px; border: 1px solid var(--sep); border-radius: 8px;
      font-size: 14px; font-weight: 500; color: var(--text); background: none;
      cursor: pointer; font-family: inherit; transition: border-color 0.15s, color 0.15s;
    }
    .btn-outline:hover { border-color: var(--em); color: var(--em); }
    .btn-gold {
      padding: 11px 22px; border: 1px solid var(--gold); border-radius: 8px;
      font-size: 14px; font-weight: 600; color: var(--gold); background: none;
      cursor: pointer; font-family: inherit; transition: background 0.15s, color 0.15s;
    }
    .report-command {
      display: grid;
      gap: 18px;
    }
    .report-map {
      display: grid;
      gap: 18px;
    }
    .report-map-hero {
      background:
        linear-gradient(145deg, rgba(255,255,255,0.96), rgba(248,251,255,0.94)),
        var(--card);
      border: 1px solid rgba(117,139,184,0.26);
      border-radius: 12px;
      box-shadow: 0 22px 58px rgba(16,40,88,0.08);
      padding: clamp(22px, 4vw, 34px);
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 24px;
      align-items: end;
    }
    .report-map-kicker {
      color: var(--em);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-bottom: 10px;
    }
    .report-map-title {
      color: var(--ink);
      font-size: clamp(2.1rem, 6vw, 4.2rem);
      font-weight: 900;
      line-height: 0.98;
      letter-spacing: 0;
      overflow-wrap: anywhere;
    }
    .report-map-meta {
      display: grid;
      gap: 8px;
      min-width: 220px;
      color: var(--mut);
      font-size: 13px;
    }
    .report-map-meta strong {
      display: block;
      color: var(--text);
      font-size: 14px;
      overflow-wrap: anywhere;
    }
    .report-map-actions {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 18px;
    }
    .report-planes {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }
    .report-planes.single { grid-template-columns: minmax(0, 1fr); }
    .report-plane {
      position: relative;
      border: 1px solid rgba(117,139,184,0.28);
      border-radius: 12px;
      background: var(--card);
      color: var(--text);
      text-align: left;
      padding: clamp(18px, 3vw, 26px);
      padding-right: clamp(54px, 5vw, 66px);
      min-height: 360px;
      cursor: pointer;
      box-shadow: 0 14px 44px rgba(16,40,88,0.07);
      font: inherit;
      display: flex;
      flex-direction: column;
      gap: 24px;
      transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .report-plane > span:first-child {
      display: block;
      min-width: 0;
    }
    .report-plane-summary {
      display: block;
      min-height: clamp(220px, 19vw, 255px);
    }
    .report-plane::after,
    .report-action-tile::after {
      content: '+';
      position: absolute;
      top: 18px;
      right: 18px;
      width: 31px;
      height: 31px;
      border: 1px solid rgba(49,87,255,0.2);
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(49,87,255,0.08);
      color: var(--em);
      font-size: 22px;
      font-weight: 800;
      line-height: 1;
      transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .report-plane:hover {
      transform: translateY(-3px);
      border-color: rgba(49,87,255,0.36);
      box-shadow: 0 22px 64px rgba(16,40,88,0.11);
    }
    .report-plane:hover::after,
    .report-plane:focus-visible::after,
    .report-action-tile:hover::after,
    .report-action-tile:focus-visible::after {
      transform: scale(1.06);
      border-color: rgba(49,87,255,0.28);
      background: linear-gradient(135deg, #3157FF 0%, #49B6D6 100%);
      color: #fff;
      box-shadow: 0 10px 24px rgba(49,87,255,0.2);
    }
    .report-plane.ai {
      background: linear-gradient(150deg, rgba(49,87,255,0.08), rgba(8,168,197,0.08)), var(--card);
    }
    .report-plane-kicker {
      display: block;
      color: var(--mut);
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-bottom: 8px;
    }
    .report-plane-title {
      display: block;
      color: var(--text);
      font-size: clamp(1.35rem, 3vw, 2rem);
      font-weight: 900;
      line-height: 1.1;
      margin-bottom: 14px;
      overflow-wrap: anywhere;
    }
    .report-plane-score {
      display: block;
      color: var(--em);
      font-size: clamp(2.9rem, 7vw, 4.8rem);
      font-weight: 900;
      line-height: 0.95;
      letter-spacing: 0;
      margin: 16px 0 8px;
    }
    .report-plane-status {
      display: block;
      color: var(--text);
      font-size: 14px;
      font-weight: 900;
      line-height: 1.35;
    }
    .report-index-list {
      display: grid;
      gap: 8px;
      margin-top: 22px;
    }
    .report-index-item {
      display: grid;
      grid-template-columns: 28px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      color: var(--text);
      min-height: 38px;
      min-width: 0;
    }
    .report-index-letter {
      width: 28px;
      height: 28px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(49,87,255,0.08);
      color: var(--em);
      font-size: 12px;
      font-weight: 900;
      text-transform: uppercase;
    }
    .report-index-name {
      display: block;
      font-size: 13px;
      font-weight: 900;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .report-index-copy {
      display: block;
      color: var(--mut);
      font-size: 12px;
      line-height: 1.45;
      margin-top: 2px;
      overflow-wrap: anywhere;
    }
    .report-row-actions {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }
    .report-action-tile {
      position: relative;
      border: 1px solid rgba(117,139,184,0.28);
      border-radius: 12px;
      background: var(--card);
      color: var(--text);
      padding: 20px 56px 20px 20px;
      text-align: left;
      cursor: pointer;
      font: inherit;
      min-height: 150px;
      transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }
    .report-action-tile::after {
      top: 18px;
      right: 18px;
      width: 28px;
      height: 28px;
      font-size: 20px;
    }
    .report-action-tile:hover {
      transform: translateY(-2px);
      border-color: rgba(49,87,255,0.36);
      box-shadow: 0 16px 42px rgba(16,40,88,0.09);
    }
    .report-action-tile strong {
      display: block;
      color: var(--text);
      font-size: 18px;
      line-height: 1.15;
      margin: 7px 0 8px;
    }
    .report-action-tile span {
      display: block;
      color: var(--mut);
      font-size: 13px;
      line-height: 1.5;
    }
    .report-focus {
      display: none;
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: visible;
      transform-origin: var(--focus-origin-x, 50%) var(--focus-origin-y, 42%);
    }
    .report-focus.is-open {
      display: block;
      will-change: transform, opacity;
    }
    .report-focus.is-flipping {
      pointer-events: none;
      transform-origin: top left;
    }
    .report-focus[data-origin="left"] { transform-origin: var(--focus-origin-x, 24%) var(--focus-origin-y, 42%); }
    .report-focus[data-origin="right"] { transform-origin: var(--focus-origin-x, 76%) var(--focus-origin-y, 42%); }
    .report-focus[data-origin="middle"] { transform-origin: var(--focus-origin-x, 50%) var(--focus-origin-y, 42%); }
    @keyframes reportFocusIn {
      from { opacity: 0.25; transform: translateY(10px) scale(0.54); }
      58% { opacity: 1; transform: translateY(0) scale(1.012); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    .report-focus-head {
      position: relative;
      z-index: 2;
      background: transparent;
      backdrop-filter: none;
      border-bottom: 0;
      padding: clamp(22px, 3.5vw, 32px);
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 20px;
      align-items: start;
    }
    .report-focus-title {
      color: var(--text);
      font-size: clamp(1.45rem, 3vw, 2.2rem);
      font-weight: 900;
      line-height: 1.08;
    }
    .report-focus-subtitle {
      color: var(--mut);
      font-size: 13px;
      line-height: 1.5;
      margin-top: 4px;
    }
    .report-focus-close {
      border: 1px solid var(--sep);
      border-radius: 8px;
      background: var(--card);
      color: var(--em);
      font: inherit;
      font-size: 13px;
      font-weight: 900;
      padding: 10px 13px;
      cursor: pointer;
    }
    .report-focus-actions {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 8px;
    }
    .report-business-stamp {
      display: grid;
      justify-items: center;
      gap: 3px;
      width: fit-content;
      max-width: min(100%, 520px);
      margin: 22px auto 0;
      padding: 13px 24px;
      color: #fff;
      text-align: center;
      background: linear-gradient(45deg, #3157FF 0%, #08A8C5 58%, #49B6A8 100%);
      border: 1px solid rgba(255,255,255,0.42);
      border-radius: 10px;
      box-shadow: 0 12px 28px rgba(35,67,154,0.24), inset 0 1px 0 rgba(255,255,255,0.38);
      transform: rotate(-0.35deg);
    }
    .report-business-stamp strong {
      color: #fff;
      font-size: 16px;
      line-height: 1.3;
      overflow-wrap: anywhere;
      text-shadow: 0 1px 2px rgba(8,28,70,0.24);
    }
    .report-business-stamp span {
      color: rgba(255,255,255,0.94);
      font-size: 12px;
      line-height: 1.4;
      overflow-wrap: anywhere;
    }
    .report-focus-body {
      display: grid;
      gap: 18px;
      padding: clamp(22px, 3vw, 30px);
    }
    .report-focus-index {
      display: grid;
      grid-template-columns: 1fr;
      gap: 8px;
      width: 100%;
      padding: 0;
      margin: 0;
      border: 0;
      background: transparent;
    }
    .report-focus-index a {
      display: grid;
      grid-template-columns: 30px minmax(0, 1fr);
      gap: 10px;
      align-items: start;
      color: var(--text);
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: 0;
      min-height: 0;
      text-align: left;
      text-decoration: none;
      min-width: 0;
      overflow-wrap: anywhere;
      transition: color 0.16s ease;
    }
    .report-focus-index a:hover,
    .report-focus-index a:focus-visible {
      color: var(--em);
    }
    .report-focus-index .report-index-letter {
      width: auto;
      height: auto;
      border-radius: 0;
      background: transparent;
      justify-content: flex-start;
      color: var(--em);
      line-height: 1.25;
      text-transform: none;
    }
    .report-focus-section .report-index-letter {
      width: 32px;
      height: 32px;
      text-transform: none;
    }
    .report-focus-index-title {
      display: block;
      color: var(--text);
      font-size: 13px;
      font-weight: 900;
      line-height: 1.25;
    }
    .report-focus-index-copy {
      display: block;
      color: var(--mut);
      font-size: 12px;
      line-height: 1.35;
      margin-top: 3px;
    }
    .report-focus-content {
      display: grid;
      gap: clamp(30px, 5vw, 56px);
      min-width: 0;
      overflow: visible;
    }
    .report-focus-section {
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: 0;
      scroll-margin-top: 24px;
      min-width: 0;
      overflow: visible;
    }
    .report-focus-section-head {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      margin-bottom: 14px;
    }
    .report-focus-section h2 {
      color: var(--text);
      font-size: 22px;
      line-height: 1.15;
      margin: 0;
      overflow-wrap: anywhere;
    }
    .report-focus-section .r-card,
    .report-focus-section .locked-preview {
      border: 0;
      border-radius: 0;
      background: transparent;
      box-shadow: none;
      margin-bottom: 0;
      width: 100%;
      min-width: 0;
    }
    .report-focus-section .r-card-pad {
      padding: 0;
    }
    .report-focus-section .r-card-title,
    .report-focus-section .score-biz-name {
      overflow-wrap: anywhere;
    }
    .report-focus-section .readiness-topline {
      grid-template-columns: 1fr;
    }
    .report-focus-section .readiness-axis {
      width: min(100%, 360px);
      margin-left: 34px;
      margin-right: auto;
    }
    .readiness-component-head span:first-child {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .readiness-component-head span:last-child {
      flex-shrink: 0;
    }
    .report-summary-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .report-summary-card {
      border: 1px solid var(--sep);
      border-radius: 10px;
      background: var(--soft);
      padding: 16px;
      color: var(--text);
      text-align: left;
      font: inherit;
    }
    button.report-summary-card { cursor: pointer; }
    .report-summary-card strong {
      display: block;
      font-size: 15px;
      line-height: 1.25;
      margin-bottom: 8px;
    }
    .report-summary-card p {
      color: var(--mut);
      font-size: 13px;
      line-height: 1.55;
      margin: 0;
    }
    .report-focus--summary {
      border: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: visible;
      background: transparent;
    }
    .report-focus--summary .report-focus-head {
      display: block;
      border: 0;
      background: transparent;
      backdrop-filter: none;
      padding: clamp(20px, 3vw, 30px) clamp(8px, 2vw, 18px);
      text-align: center;
    }
    .report-focus--summary .report-focus-title { color: #08A8C5; }
    .report-focus--summary .report-focus-subtitle {
      margin-top: 8px;
      font-size: 15px;
    }
    .report-focus--summary .report-focus-actions {
      justify-content: center;
      margin-top: 20px;
    }
    .report-focus--summary .report-focus-body {
      padding: clamp(10px, 2vw, 18px) clamp(8px, 2vw, 18px) clamp(28px, 5vw, 52px);
      gap: clamp(26px, 4vw, 46px);
    }
    .report-focus--summary .report-focus-index {
      width: min(540px, 100%);
      margin: 0 auto;
      gap: 12px;
    }
    .report-focus--summary .report-focus-index-copy { display: none; }
    .report-focus--summary .report-focus-content { gap: clamp(28px, 4vw, 48px); }
    .report-focus--summary .report-focus-section {
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: 0;
      overflow: visible;
    }
    .report-focus--summary .report-focus-section-head { margin-bottom: 16px; }
    .report-focus--summary .report-summary-card {
      width: 100%;
      border: 0;
      border-radius: 0;
      background: transparent;
      padding: 0;
    }
    .report-action-plan { display: grid; gap: 34px; }
    .report-action-period { display: grid; gap: 18px; }
    .report-action-period > h3 {
      margin: 0;
      color: #3157FF;
      font-size: 14px;
      font-weight: 900;
      letter-spacing: 0.12em;
      line-height: 1.2;
    }
    .report-action-set { display: grid; gap: 12px; padding-bottom: 28px; }
    .report-action-set:not(:last-child)::after {
      content: "";
      display: block;
      width: 50%;
      border-bottom: 1px solid var(--sep);
      margin-top: 10px;
    }
    .report-action-primary,
    .report-action-detail {
      display: grid;
      grid-template-columns: minmax(92px, 0.18fr) minmax(0, 1fr);
      gap: 16px;
      align-items: start;
    }
    .report-action-primary p,
    .report-action-detail p,
    .report-action-period--closing p {
      margin: 0;
      color: var(--text);
      line-height: 1.75;
    }
    .report-action-label {
      color: #08A8C5;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: 0.08em;
      line-height: 1.5;
    }
    .report-action-period--closing {
      padding-top: 8px;
      border-top: 1px solid var(--sep);
    }
    .report-implementation-intro { margin: 0 0 26px; line-height: 1.75; }
    .report-implementation-list { margin: 0; padding-left: 32px; display: grid; gap: 30px; }
    .report-implementation-list > li { padding-left: 8px; }
    .report-implementation-list > li::marker { color: #3157FF; font-weight: 900; }
    .report-implementation-title {
      color: var(--text);
      font-size: 16px;
      font-weight: 800;
      line-height: 1.5;
      margin-bottom: 14px;
    }
    .report-implementation-meta {
      display: grid;
      grid-template-columns: minmax(118px, 0.22fr) minmax(0, 1fr);
      gap: 14px;
      margin-top: 9px;
    }
    .report-implementation-meta span {
      color: #08A8C5;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: 0.07em;
      line-height: 1.5;
    }
    .report-implementation-meta p { margin: 0; color: var(--text); line-height: 1.6; }
    .report-command.is-focused .report-map { display: none; }
    @media (max-width: 780px) {
      #reportPage { max-width: 100%; }
      .report-map-hero,
      .report-planes,
      .report-row-actions,
      .report-focus-body,
      .report-summary-grid {
        grid-template-columns: 1fr;
      }
      .report-plane { min-height: 0; }
      .report-plane-summary { min-height: 0; }
      .report-map-meta { min-width: 0; }
      .report-focus-head {
        grid-template-columns: 1fr;
      }
      .report-action-primary,
      .report-action-detail,
      .report-implementation-meta {
        grid-template-columns: 1fr;
        gap: 5px;
      }
      .report-focus-actions {
        display: grid;
        grid-template-columns: 1fr;
      }
      .report-focus-body { gap: 16px; }
      .report-focus-index {
        position: static;
        grid-template-columns: 1fr;
      }
      .report-command .report-focus-index,
      body:has(.landing-shell) .report-command .report-focus-index {
        position: static !important;
        width: 100% !important;
        grid-template-columns: 1fr !important;
      }
      .report-focus-index a,
      .report-command .report-focus-index a {
        width: 100% !important;
        height: auto;
        min-height: 0;
        border-radius: 0;
        grid-template-columns: 30px minmax(0, 1fr);
        justify-items: start;
        gap: 8px;
        padding: 0;
      }
      .report-focus-index a > span:not(.report-index-letter) {
        position: static;
        transform: none;
        opacity: 1;
        pointer-events: auto;
        white-space: normal;
        max-width: none;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        padding: 0;
      }
      .report-focus-content { padding-left: 0; }
      .report-focus-section { scroll-margin-top: 24px; }
    }
    @media (max-width: 520px) {
      .report-focus-index { grid-template-columns: 1fr; }
      .report-command .report-focus-index,
      body:has(.landing-shell) .report-command .report-focus-index {
        grid-template-columns: 1fr !important;
      }
      .report-map-actions .btn-outline,
      .report-map-actions .btn-gold,
      .report-focus-close { width: 100%; }
    }
    .btn-gold:hover { background: var(--gold); color: #fff; }
    @media (max-width: 600px) {
      .r-full-report { padding-top: 26px; }
      .r-full-report-item { grid-template-columns: 74px minmax(0, 1fr); gap: 18px; padding: 18px 0; }
      .focused-reports > summary { align-items: flex-start; flex-wrap: wrap; gap: 6px 12px; }
      .focused-reports > summary small { flex-basis: calc(100% - 34px); margin-left: 0; }
      .r-continue-grid { grid-template-columns: 1fr; }
      .analysis-pass-grid { grid-template-columns: 1fr; }
      .btn-outline, .btn-gold { width: 100%; }
    }
