.rgsa-app,
.rgsa-app * {
  box-sizing: border-box;
}

.rgsa-app {
  --rgsa-primary: #752aea;
  --rgsa-accent: #d7ff69;
  --rgsa-charcoal: #111111;
  --rgsa-ink: #1b1830;
  --rgsa-muted: #6d687b;
  --rgsa-line: #e8e4ef;
  --rgsa-soft: #f8f6fc;
  --rgsa-lilac: #f0eafd;
  --rgsa-white: #ffffff;
  --rgsa-success: #126d4b;
  --rgsa-warning: #9a5814;
  --rgsa-danger: #a72a35;
  color: var(--rgsa-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  width: 100%;
}

.rgsa-app button,
.rgsa-app input,
.rgsa-app select {
  font: inherit;
}

.rgsa-shell,
.rgsa-report-section,
.rgsa-report-cover,
.rgsa-cta-page {
  max-width: 1180px;
  margin: 0 auto;
}

.rgsa-shell {
  background: var(--rgsa-white);
  border: 1px solid var(--rgsa-line);
  border-radius: 28px;
  box-shadow: 0 24px 80px rgba(41, 25, 79, 0.1);
  overflow: hidden;
  padding: clamp(28px, 5vw, 64px);
}

.rgsa-intro {
  position: relative;
}

.rgsa-intro::before {
  background: radial-gradient(circle, rgba(117, 42, 234, 0.13), transparent 68%);
  content: "";
  height: 420px;
  pointer-events: none;
  position: absolute;
  right: -170px;
  top: -190px;
  width: 420px;
}

.rgsa-intro-brand,
.rgsa-loading-brand {
  margin-bottom: 40px;
  position: relative;
  z-index: 1;
}

.rgsa-wordmark {
  align-items: baseline;
  color: var(--rgsa-charcoal);
  display: inline-flex;
  gap: 7px;
  letter-spacing: 0.04em;
}

.rgsa-wordmark strong {
  font-size: 18px;
  font-weight: 900;
}

.rgsa-wordmark span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
}

.rgsa-wordmark--inverse {
  color: #fff;
}

.rgsa-logo-image {
  display: block;
  height: 30px;
  max-width: 190px;
  object-fit: contain;
}

/* The report is the brand ambassador: the mark on the cover earns more
   presence than the toolbar copy of the same logo. */
.rgsa-v4-cover-brand .rgsa-logo-image {
  height: 44px;
  max-width: 260px;
}

.rgsa-logo-image--inverse {
  filter: brightness(0) invert(1);
}

.rgsa-intro-grid {
  align-items: start;
  display: grid;
  gap: clamp(28px, 5vw, 70px);
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.75fr);
  position: relative;
  z-index: 1;
}

.rgsa-kicker {
  color: var(--rgsa-primary);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rgsa-intro h2,
.rgsa-loading h2,
.rgsa-platform-stop h2,
.rgsa-error-screen h2 {
  color: var(--rgsa-charcoal);
  font-size: clamp(36px, 5vw, 66px);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 18px 0 22px;
  max-width: 850px;
}

.rgsa-lead {
  color: var(--rgsa-muted);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.55;
  margin: 0;
  max-width: 780px;
}

.rgsa-benefit-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
}

.rgsa-benefit-grid div {
  background: var(--rgsa-soft);
  border: 1px solid var(--rgsa-line);
  border-radius: 16px;
  padding: 18px;
}

.rgsa-benefit-grid strong,
.rgsa-benefit-grid span {
  display: block;
}

.rgsa-benefit-grid strong {
  color: var(--rgsa-charcoal);
  font-size: 14px;
}

.rgsa-benefit-grid span {
  color: var(--rgsa-muted);
  font-size: 12px;
  margin-top: 5px;
}

.rgsa-sample-card {
  background: var(--rgsa-charcoal);
  border-radius: 24px;
  color: #fff;
  padding: 28px;
  transform: rotate(1.2deg);
}

.rgsa-sample-label {
  color: var(--rgsa-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin-bottom: 36px;
  text-transform: uppercase;
}

.rgsa-sample-card strong {
  display: block;
  font-size: 26px;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.rgsa-sample-card p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  margin: 16px 0 22px;
}

.rgsa-form {
  border-top: 1px solid var(--rgsa-line);
  margin-top: clamp(44px, 7vw, 78px);
  padding-top: 40px;
  position: relative;
  z-index: 1;
}

.rgsa-form-heading {
  align-items: end;
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 22px;
}

.rgsa-form-heading--second {
  border-top: 1px solid var(--rgsa-line);
  margin-top: 42px;
  padding-top: 38px;
}

.rgsa-form-heading > div {
  align-items: center;
  display: flex;
  gap: 12px;
}

.rgsa-form-heading h3 {
  color: var(--rgsa-charcoal);
  font-size: 22px;
  letter-spacing: -0.025em;
  margin: 0;
}

.rgsa-form-heading p {
  color: var(--rgsa-muted);
  font-size: 13px;
  margin: 0;
  max-width: 460px;
  text-align: right;
}

.rgsa-step-number {
  align-items: center;
  background: var(--rgsa-accent);
  border-radius: 999px;
  color: var(--rgsa-charcoal);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.rgsa-field-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rgsa-field-grid--lead {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rgsa-field-wide {
  grid-column: span 2;
}

.rgsa-form label {
  color: var(--rgsa-charcoal);
  display: block;
  font-size: 13px;
  font-weight: 700;
}

.rgsa-form label > span {
  color: var(--rgsa-muted);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-left: 5px;
  text-transform: uppercase;
}

.rgsa-form input,
.rgsa-form select {
  background: #fff;
  border: 1px solid #dcd7e6;
  border-radius: 12px;
  color: var(--rgsa-charcoal);
  display: block;
  margin-top: 8px;
  min-height: 52px;
  outline: none;
  padding: 12px 14px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
}

.rgsa-field-note {
  color: var(--rgsa-muted);
  display: block;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.45;
  margin-top: 7px;
}

.rgsa-form input:focus,
.rgsa-form select:focus {
  border-color: var(--rgsa-primary);
  box-shadow: 0 0 0 4px rgba(117, 42, 234, 0.1);
}

.rgsa-context {
  background: var(--rgsa-soft);
  border: 1px solid var(--rgsa-line);
  border-radius: 16px;
  margin-top: 24px;
  padding: 18px 20px;
}

.rgsa-context summary {
  color: var(--rgsa-charcoal);
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
}

.rgsa-context[open] summary {
  margin-bottom: 8px;
}

.rgsa-context-intro {
  color: var(--rgsa-muted);
  font-size: 13px;
  margin: 0 0 18px;
}

.rgsa-consent-panel {
  background: #fbfafc;
  border: 1px solid var(--rgsa-line);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  margin-top: 24px;
  padding: 18px 20px;
}

.rgsa-checkbox {
  align-items: flex-start;
  display: flex !important;
  gap: 10px;
}

.rgsa-checkbox input {
  flex: 0 0 auto;
  height: 18px;
  margin: 2px 0 0;
  min-height: 18px;
  width: 18px;
}

.rgsa-checkbox > span {
  color: var(--rgsa-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  text-transform: none !important;
}

.rgsa-checkbox a {
  color: var(--rgsa-primary);
}

.rgsa-turnstile {
  margin-top: 24px;
  max-width: 420px;
}

.rgsa-security-note,
.rgsa-submit-note {
  color: var(--rgsa-muted);
  font-size: 11px;
  margin: 8px 0 0;
}

.rgsa-qualifier {
  color: var(--rgsa-primary, #752AEA);
  font-size: 13px;
  font-weight: 700;
  margin: 10px 0 0;
}

.rgsa-paid-tier {
  background: #f5f2f9;
  border-left: 3px solid var(--rgsa-primary, #752AEA);
  border-radius: 6px;
  color: #3c2f52;
  font-size: 12px;
  line-height: 1.5;
  margin: 14px 0 0;
  padding: 10px 12px;
}

.rgsa-honeypot {
  left: -9999px !important;
  opacity: 0 !important;
  position: absolute !important;
}

.rgsa-error {
  color: var(--rgsa-danger);
  font-size: 13px;
  font-weight: 700;
  margin-top: 14px;
  min-height: 20px;
}

.rgsa-button {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  justify-content: center;
  min-height: 46px;
  padding: 11px 20px;
  text-decoration: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.rgsa-button:hover {
  transform: translateY(-1px);
}

.rgsa-button:disabled {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

.rgsa-button-primary {
  background: var(--rgsa-primary);
  box-shadow: 0 10px 24px rgba(117, 42, 234, 0.22);
  color: #fff !important;
}

.rgsa-button-secondary {
  background: #fff;
  border-color: var(--rgsa-line);
  color: var(--rgsa-charcoal) !important;
}

.rgsa-button-accent {
  background: var(--rgsa-accent);
  color: var(--rgsa-charcoal) !important;
}

.rgsa-submit {
  font-size: 15px;
  margin-top: 18px;
  min-height: 56px;
  padding-left: 30px;
  padding-right: 30px;
}

.rgsa-chip {
  border: 1px solid rgba(17, 17, 17, 0.09);
  border-radius: 999px;
  display: inline-flex;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 6px 9px;
  text-transform: uppercase;
}

.rgsa-chip--critical,
.rgsa-chip--high {
  background: #fff0f1;
  color: var(--rgsa-danger);
}

.rgsa-chip--medium {
  background: #fff7e9;
  color: var(--rgsa-warning);
}

.rgsa-chip--low {
  background: #f2f0f8;
  color: #5f5870;
}

.rgsa-chip--positive {
  background: #eaf8f2;
  color: var(--rgsa-success);
}

.rgsa-loading {
  min-height: 630px;
  text-align: center;
}

.rgsa-loading-brand {
  text-align: left;
}

.rgsa-loading h2 {
  font-size: clamp(34px, 5vw, 58px);
  margin-left: auto;
  margin-right: auto;
}

.rgsa-loading-copy {
  color: var(--rgsa-muted);
  font-size: 17px;
  margin: 0 auto;
  max-width: 650px;
}

.rgsa-scan-visual {
  height: 140px;
  margin: 20px auto 24px;
  position: relative;
  width: 140px;
}

.rgsa-scan-visual::before,
.rgsa-scan-visual::after {
  border: 2px solid rgba(117, 42, 234, 0.18);
  border-radius: 50%;
  content: "";
  inset: 0;
  position: absolute;
}

.rgsa-scan-visual::after {
  animation: rgsa-pulse 1.8s ease-out infinite;
  border-color: var(--rgsa-primary);
  inset: 26px;
}

.rgsa-scan-visual span {
  animation: rgsa-orbit 2.8s linear infinite;
  background: var(--rgsa-accent);
  border: 5px solid #fff;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(48, 28, 84, 0.18);
  height: 22px;
  left: 59px;
  position: absolute;
  top: 2px;
  transform-origin: 11px 68px;
  width: 22px;
}

.rgsa-scan-visual span:nth-child(2) { animation-delay: -0.7s; }
.rgsa-scan-visual span:nth-child(3) { animation-delay: -1.4s; }
.rgsa-scan-visual span:nth-child(4) { animation-delay: -2.1s; }

@keyframes rgsa-orbit { to { transform: rotate(360deg); } }
@keyframes rgsa-pulse { 50% { opacity: 0.35; transform: scale(1.22); } }

.rgsa-progress {
  background: #ece8f2;
  border-radius: 999px;
  height: 10px;
  margin: 34px auto 10px;
  max-width: 650px;
  overflow: hidden;
}

.rgsa-progress span {
  background: linear-gradient(90deg, var(--rgsa-primary), #9d6cf1);
  border-radius: inherit;
  display: block;
  height: 100%;
  transition: width 0.35s ease;
}

.rgsa-progress-label {
  color: var(--rgsa-muted);
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 650px;
}

.rgsa-progress-label strong {
  color: var(--rgsa-charcoal);
}

.rgsa-discoveries {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin: 26px auto 0;
  max-width: 720px;
}

.rgsa-discoveries span {
  background: var(--rgsa-soft);
  border: 1px solid var(--rgsa-line);
  border-radius: 999px;
  color: var(--rgsa-muted);
  font-size: 11px;
  padding: 7px 11px;
}

.rgsa-loading-note {
  color: var(--rgsa-muted);
  font-size: 12px;
  margin-top: 30px;
}

.rgsa-platform-stop,
.rgsa-error-screen {
  text-align: center;
}

.rgsa-platform-icon {
  align-items: center;
  background: var(--rgsa-accent);
  border-radius: 50%;
  color: var(--rgsa-charcoal);
  display: flex;
  font-size: 34px;
  font-weight: 900;
  height: 78px;
  justify-content: center;
  margin: 0 auto 22px;
  width: 78px;
}

.rgsa-platform-stop h2,
.rgsa-error-screen h2 {
  font-size: clamp(34px, 5vw, 56px);
  margin-left: auto;
  margin-right: auto;
}

.rgsa-platform-stop > p,
.rgsa-error-screen > p {
  color: var(--rgsa-muted);
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.rgsa-platform-url {
  background: var(--rgsa-soft);
  border-radius: 10px;
  display: inline-block;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  margin: 12px 0;
  padding: 9px 12px;
}

.rgsa-platform-explanation {
  background: var(--rgsa-lilac);
  border-radius: 18px;
  margin: 28px auto;
  max-width: 720px;
  padding: 24px;
  text-align: left;
}

.rgsa-platform-explanation p {
  color: var(--rgsa-muted);
  margin: 6px 0 0;
}

.rgsa-platform-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

/* Report */
.rgsa-report {
  background: #f1eef6;
  border-radius: 24px;
  color: var(--rgsa-ink);
  overflow: hidden;
  padding: 20px;
}

.rgsa-report-toolbar {
  align-items: center;
  background: #fff;
  border: 1px solid var(--rgsa-line);
  border-radius: 18px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 20px;
  max-width: 1180px;
  padding: 14px 16px;
  position: sticky;
  top: 16px;
  z-index: 20;
}

.rgsa-report-toolbar > div {
  align-items: center;
  display: flex;
  gap: 16px;
}

.rgsa-report-toolbar > div > span {
  color: var(--rgsa-muted);
  font-size: 12px;
}

.rgsa-toolbar-actions {
  gap: 8px !important;
}

.rgsa-report-cover,
.rgsa-cta-page {
  background: var(--rgsa-primary);
  border-radius: 24px;
  color: #fff;
  min-height: 720px;
  overflow: hidden;
  padding: clamp(34px, 6vw, 72px);
  position: relative;
}

.rgsa-report-cover::after,
.rgsa-cta-page::after {
  background: var(--rgsa-accent);
  border-radius: 50%;
  content: "";
  height: 360px;
  position: absolute;
  right: -140px;
  top: -120px;
  width: 360px;
}

.rgsa-cover-top,
.rgsa-cover-main,
.rgsa-cover-bottom,
.rgsa-cta-content,
.rgsa-cta-footer,
.rgsa-cta-brand {
  position: relative;
  z-index: 1;
}

.rgsa-cover-top {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.rgsa-cover-top > span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rgsa-cover-main {
  align-items: end;
  display: grid;
  gap: 60px;
  grid-template-columns: 1fr auto;
  margin-top: 130px;
}

.rgsa-cover-label {
  color: var(--rgsa-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.rgsa-cover-copy h1 {
  color: #fff;
  font-size: clamp(48px, 8vw, 94px);
  letter-spacing: -0.065em;
  line-height: 0.9;
  margin: 18px 0 20px;
  max-width: 780px;
  overflow-wrap: anywhere;
}

.rgsa-cover-copy > p {
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(20px, 3vw, 30px);
  margin: 0;
}

.rgsa-cover-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 28px;
}

.rgsa-cover-meta span {
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 10px;
  padding: 7px 10px;
}

.rgsa-cover-meta .rgsa-verified {
  background: var(--rgsa-accent);
  border-color: var(--rgsa-accent);
  color: var(--rgsa-charcoal);
  font-weight: 800;
}

.rgsa-cover-score {
  align-items: center;
  background: #fff;
  border-radius: 28px;
  color: var(--rgsa-charcoal);
  display: flex;
  flex-direction: column;
  height: 230px;
  justify-content: center;
  width: 230px;
}

.rgsa-cover-score span,
.rgsa-cover-score small {
  color: var(--rgsa-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rgsa-cover-score strong {
  font-size: 94px;
  letter-spacing: -0.08em;
  line-height: 0.88;
}

.rgsa-cover-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  bottom: 58px;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  left: clamp(34px, 6vw, 72px);
  padding-top: 22px;
  position: absolute;
  right: clamp(34px, 6vw, 72px);
}

.rgsa-cover-bottom strong,
.rgsa-cover-bottom span {
  display: block;
}

.rgsa-cover-bottom strong {
  font-size: 22px;
}

.rgsa-cover-bottom span {
  color: rgba(255, 255, 255, 0.66);
  font-size: 11px;
  margin-top: 4px;
}

.rgsa-report-section {
  background: #fff;
  border: 1px solid var(--rgsa-line);
  border-radius: 24px;
  margin-top: 20px;
  padding: clamp(30px, 5vw, 62px);
}

.rgsa-section-heading {
  margin-bottom: 32px;
  max-width: 850px;
}

.rgsa-section-heading h2 {
  color: var(--rgsa-charcoal);
  font-size: clamp(34px, 4.6vw, 58px);
  letter-spacing: -0.055em;
  line-height: 0.98;
  margin: 14px 0 18px;
}

.rgsa-section-heading > p {
  color: var(--rgsa-muted);
  font-size: 16px;
  margin: 0;
  max-width: 760px;
}

.rgsa-heading-row {
  align-items: end;
  display: flex;
  gap: 60px;
  justify-content: space-between;
  max-width: none;
}

.rgsa-heading-row > p {
  max-width: 390px;
}

.rgsa-executive-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
}

.rgsa-executive-main {
  background: var(--rgsa-charcoal);
  border-radius: 22px;
  color: #fff;
  padding: 34px;
}

.rgsa-executive-main h3 {
  color: var(--rgsa-accent);
  font-size: 12px;
  letter-spacing: 0.12em;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.rgsa-executive-main h3:not(:first-child) {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  margin-top: 28px;
  padding-top: 24px;
}

.rgsa-executive-main p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 17px;
  margin: 0;
}

.rgsa-constraint-card {
  background: var(--rgsa-lilac);
  border-radius: 22px;
  padding: 28px;
}

.rgsa-constraint-card > span {
  color: var(--rgsa-primary);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  margin-bottom: 16px;
  text-transform: uppercase;
}

.rgsa-constraint-card > div {
  border-top: 1px solid rgba(117, 42, 234, 0.14);
  display: grid;
  gap: 5px 12px;
  grid-template-columns: 1fr auto;
  padding: 15px 0;
}

.rgsa-constraint-card strong,
.rgsa-constraint-card b {
  color: var(--rgsa-charcoal);
  font-size: 13px;
}

.rgsa-constraint-card p {
  color: var(--rgsa-muted);
  font-size: 11px;
  grid-column: span 2;
  margin: 0;
}

.rgsa-tested-strip {
  align-items: center;
  border-top: 1px solid var(--rgsa-line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-top: 28px;
  padding-top: 22px;
}

.rgsa-tested-strip strong {
  color: var(--rgsa-charcoal);
  font-size: 12px;
}

.rgsa-tested-strip span {
  background: var(--rgsa-soft);
  border-radius: 999px;
  color: var(--rgsa-muted);
  font-size: 11px;
  padding: 7px 10px;
}

.rgsa-context-summary {
  background: var(--rgsa-charcoal);
  border-radius: 18px;
  color: #fff;
  display: grid;
  gap: 10px;
  grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr));
  margin-top: 16px;
  padding: 18px;
}

.rgsa-context-summary > strong {
  align-self: center;
  color: var(--rgsa-accent);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rgsa-context-summary div {
  border-left: 1px solid rgba(255, 255, 255, 0.16);
  padding-left: 14px;
}

.rgsa-context-summary span,
.rgsa-context-summary b {
  display: block;
}

.rgsa-context-summary span {
  color: rgba(255, 255, 255, 0.58);
  font-size: 9px;
  text-transform: uppercase;
}

.rgsa-context-summary b {
  color: #fff;
  font-size: 12px;
  margin-top: 3px;
}

.rgsa-pillar-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rgsa-pillar-card {
  border: 1px solid var(--rgsa-line);
  border-radius: 18px;
  padding: 22px;
}

.rgsa-pillar-card > div:first-child {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.rgsa-pillar-card > div:first-child span {
  color: var(--rgsa-charcoal);
  font-size: 13px;
  font-weight: 800;
}

.rgsa-pillar-card > div:first-child strong {
  color: var(--rgsa-charcoal);
  font-size: 30px;
  letter-spacing: -0.05em;
}

.rgsa-mini-bar {
  background: #ece8f2;
  border-radius: 999px;
  height: 6px;
  margin: 14px 0;
  overflow: hidden;
}

.rgsa-mini-bar span {
  background: var(--rgsa-primary);
  border-radius: inherit;
  display: block;
  height: 100%;
}


.rgsa-pillar-card p {
  color: var(--rgsa-muted);
  font-size: 12px;
  margin: 0;
}

.rgsa-method-note,
.rgsa-no-model,
.rgsa-limitations {
  background: var(--rgsa-soft);
  border-left: 4px solid var(--rgsa-primary);
  border-radius: 12px;
  margin-top: 24px;
  padding: 18px 20px;
}

.rgsa-method-note strong,
.rgsa-no-model strong,
.rgsa-limitations strong {
  color: var(--rgsa-charcoal);
  display: block;
  font-size: 12px;
  margin-bottom: 4px;
}

.rgsa-method-note p,
.rgsa-no-model p,
.rgsa-limitations li {
  color: var(--rgsa-muted);
  font-size: 12px;
  margin: 0;
}

.rgsa-barrier-list,
.rgsa-detail-list {
  display: grid;
  gap: 20px;
}

.rgsa-barrier-card {
  border: 1px solid var(--rgsa-line);
  border-radius: 22px;
  display: grid;
  gap: 20px;
  grid-template-columns: 58px 1fr;
  padding: 26px;
}

.rgsa-barrier-number {
  color: var(--rgsa-primary);
  font-size: 18px;
  font-weight: 900;
  padding-top: 3px;
}

.rgsa-card-topline,
.rgsa-detail-head > div:first-child,
.rgsa-roadmap-item > div:first-child {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rgsa-card-topline > span:not(.rgsa-chip),
.rgsa-detail-head > div:first-child > span:not(.rgsa-chip),
.rgsa-roadmap-item > div:first-child > span:not(.rgsa-chip) {
  color: var(--rgsa-muted);
  font-size: 10px;
}

.rgsa-barrier-card h3,
.rgsa-detail-card h3,
.rgsa-roadmap-item h3 {
  color: var(--rgsa-charcoal);
  font-size: clamp(24px, 3vw, 36px);
  letter-spacing: -0.04em;
  line-height: 1.04;
  margin: 14px 0 20px;
}

.rgsa-finding-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rgsa-finding-grid strong,
.rgsa-evidence-columns strong,
.rgsa-action-box strong,
.rgsa-measure strong,
.rgsa-validation strong {
  color: var(--rgsa-charcoal);
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.rgsa-finding-grid p,
.rgsa-action-box p,
.rgsa-validation p {
  color: var(--rgsa-muted);
  font-size: 13px;
  margin: 0;
}

.rgsa-evidence-image {
  background: var(--rgsa-soft);
  border: 1px solid var(--rgsa-line);
  border-radius: 16px;
  margin: 20px 0 0;
  overflow: hidden;
  padding: 10px;
}

.rgsa-evidence-image img {
  border-radius: 10px;
  display: block;
  height: auto;
  max-height: 520px;
  object-fit: cover;
  object-position: top;
  width: 100%;
}

.rgsa-evidence-image figcaption {
  color: var(--rgsa-muted);
  font-size: 10px;
  padding: 7px 4px 1px;
}

.rgsa-action-box {
  background: var(--rgsa-lilac);
  border-radius: 14px;
  margin-top: 20px;
  padding: 18px;
}

.rgsa-confidence {
  align-items: flex-start;
  border-top: 1px solid var(--rgsa-line);
  display: grid;
  gap: 8px 18px;
  grid-template-columns: auto 1fr;
  margin-top: 20px;
  padding-top: 16px;
}

.rgsa-confidence strong {
  color: var(--rgsa-charcoal);
  font-size: 11px;
}

.rgsa-confidence span {
  color: var(--rgsa-muted);
  font-size: 11px;
}

.rgsa-journey {
  display: grid;
  gap: 10px;
}

.rgsa-journey-stage {
  align-items: center;
  border: 1px solid var(--rgsa-line);
  border-left: 5px solid #c8c3d2;
  border-radius: 16px;
  display: grid;
  gap: 18px;
  grid-template-columns: 44px 1fr auto;
  padding: 18px;
}

.rgsa-journey-stage--critical { border-left-color: var(--rgsa-danger); }
.rgsa-journey-stage--constrained { border-left-color: var(--rgsa-warning); }
.rgsa-journey-stage--attention { border-left-color: var(--rgsa-primary); }
.rgsa-journey-stage--clear { border-left-color: var(--rgsa-success); }

.rgsa-journey-index {
  color: var(--rgsa-primary);
  font-size: 13px;
  font-weight: 900;
}

.rgsa-journey-stage span {
  color: var(--rgsa-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rgsa-journey-stage h3 {
  color: var(--rgsa-charcoal);
  font-size: 16px;
  margin: 2px 0 4px;
}

.rgsa-journey-stage p {
  color: var(--rgsa-muted);
  font-size: 11px;
  margin: 0;
}

.rgsa-journey-stage > strong {
  color: var(--rgsa-charcoal);
  font-size: 11px;
  white-space: nowrap;
}

.rgsa-model-inputs,
.rgsa-scenario-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rgsa-model-inputs div {
  background: var(--rgsa-soft);
  border-radius: 14px;
  padding: 18px;
}

.rgsa-model-inputs span,
.rgsa-model-inputs strong {
  display: block;
}

.rgsa-model-inputs span {
  color: var(--rgsa-muted);
  font-size: 10px;
}

.rgsa-model-inputs strong {
  color: var(--rgsa-charcoal);
  font-size: 21px;
  margin-top: 5px;
}

.rgsa-scenario-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
}

.rgsa-scenario-grid article {
  background: var(--rgsa-charcoal);
  border-radius: 18px;
  color: #fff;
  padding: 24px;
}

.rgsa-scenario-grid article > span {
  color: var(--rgsa-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rgsa-scenario-grid article > strong {
  display: block;
  font-size: 34px;
  letter-spacing: -0.05em;
  margin-top: 8px;
}

.rgsa-scenario-grid p,
.rgsa-scenario-grid small {
  color: rgba(255, 255, 255, 0.68);
  display: block;
  font-size: 11px;
  margin: 8px 0 0;
}

.rgsa-detail-card {
  border: 1px solid var(--rgsa-line);
  border-radius: 22px;
  padding: 28px;
}

.rgsa-detail-head h3 {
  margin-bottom: 22px;
}

.rgsa-evidence-columns {
  border-top: 1px solid var(--rgsa-line);
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 22px;
  padding-top: 20px;
}

.rgsa-evidence-columns ul,
.rgsa-measure ul,
.rgsa-roadmap-item ul,
.rgsa-limitations ul {
  margin: 0;
  padding-left: 18px;
}

.rgsa-evidence-columns li,
.rgsa-evidence-columns p,
.rgsa-measure li,
.rgsa-roadmap-item li {
  color: var(--rgsa-muted);
  font-size: 11px;
  margin: 4px 0;
  overflow-wrap: anywhere;
}

.rgsa-evidence-columns a {
  color: var(--rgsa-primary);
}

.rgsa-detail-meta {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
}

.rgsa-detail-meta div {
  background: var(--rgsa-soft);
  border-radius: 12px;
  padding: 14px;
}

.rgsa-detail-meta span,
.rgsa-detail-meta strong {
  display: block;
}

.rgsa-detail-meta span {
  color: var(--rgsa-muted);
  font-size: 9px;
  text-transform: uppercase;
}

.rgsa-detail-meta strong {
  color: var(--rgsa-charcoal);
  font-size: 11px;
  margin-top: 4px;
}

.rgsa-measure {
  margin-top: 18px;
}

.rgsa-validation {
  background: #fff9ed;
  border: 1px solid #f3dfb8;
  border-radius: 12px;
  margin-top: 18px;
  padding: 15px;
}

.rgsa-roadmap {
  display: grid;
  gap: 24px;
}

.rgsa-roadmap-phase {
  display: grid;
  gap: 18px;
  grid-template-columns: 94px 1fr;
}

.rgsa-phase-title {
  align-items: center;
  background: var(--rgsa-primary);
  border-radius: 18px;
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 94px;
  justify-content: center;
}

.rgsa-phase-title strong {
  font-size: 34px;
  line-height: 1;
}

.rgsa-phase-title span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 10px;
  text-transform: uppercase;
}

.rgsa-phase-items {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rgsa-roadmap-item {
  border: 1px solid var(--rgsa-line);
  border-radius: 16px;
  padding: 20px;
}

.rgsa-roadmap-item h3 {
  font-size: 19px;
  margin: 12px 0 10px;
}

.rgsa-roadmap-item > p {
  color: var(--rgsa-muted);
  font-size: 11px;
}

.rgsa-roadmap-item dl {
  border-bottom: 1px solid var(--rgsa-line);
  border-top: 1px solid var(--rgsa-line);
  display: grid;
  gap: 8px;
  margin: 14px 0;
  padding: 12px 0;
}

.rgsa-roadmap-item dl > div {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

.rgsa-roadmap-item dt,
.rgsa-roadmap-item dd {
  font-size: 10px;
  margin: 0;
}

.rgsa-roadmap-item dt { color: var(--rgsa-muted); }
.rgsa-roadmap-item dd { color: var(--rgsa-charcoal); font-weight: 700; }
.rgsa-roadmap-item > strong { color: var(--rgsa-charcoal); font-size: 10px; text-transform: uppercase; }

.rgsa-table-wrap {
  overflow-x: auto;
}

.rgsa-table {
  border-collapse: collapse;
  font-size: 10px;
  width: 100%;
}

.rgsa-table th,
.rgsa-table td {
  border-bottom: 1px solid var(--rgsa-line);
  padding: 10px 8px;
  text-align: left;
  vertical-align: top;
}

.rgsa-table th {
  color: var(--rgsa-charcoal);
  font-size: 9px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.rgsa-table td {
  color: var(--rgsa-muted);
}

.rgsa-table td:first-child {
  max-width: 300px;
  overflow-wrap: anywhere;
}

.rgsa-table a {
  color: var(--rgsa-primary);
}

.rgsa-cta-page {
  background: var(--rgsa-charcoal);
  margin-top: 20px;
}

.rgsa-cta-page::after {
  background: var(--rgsa-primary);
}

.rgsa-cta-content {
  margin-top: 80px;
  max-width: 920px;
}

.rgsa-cta-content > span {
  color: var(--rgsa-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.rgsa-cta-content > h2 {
  color: #fff;
  font-size: clamp(44px, 6.6vw, 78px);
  letter-spacing: -0.06em;
  line-height: 0.94;
  margin: 18px 0 24px;
}

.rgsa-cta-content > p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 18px;
  max-width: 760px;
}

.rgsa-recommended-start {
  background: rgba(215, 255, 105, 0.1);
  border: 1px solid rgba(215, 255, 105, 0.34);
  border-radius: 18px;
  margin-top: 28px;
  padding: 20px;
}

.rgsa-recommended-start span,
.rgsa-recommended-start strong {
  display: block;
}

.rgsa-recommended-start span {
  color: var(--rgsa-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rgsa-recommended-start strong {
  color: #fff;
  font-size: 24px;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-top: 6px;
}

.rgsa-recommended-start p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 11px;
  margin: 8px 0 0;
}

.rgsa-priority-recap {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
  overflow: hidden;
}

.rgsa-priority-recap div {
  align-items: center;
  background: rgba(255, 255, 255, 0.06);
  display: flex;
  gap: 10px;
  padding: 12px;
}

.rgsa-priority-recap b {
  color: var(--rgsa-accent);
  font-size: 10px;
}

.rgsa-priority-recap span {
  color: rgba(255, 255, 255, 0.76);
  font-size: 10px;
  line-height: 1.25;
}

.rgsa-engagement-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 14px;
}

.rgsa-engagement-grid > div {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  padding: 15px;
}

.rgsa-engagement-grid span,
.rgsa-engagement-grid strong {
  display: block;
}

.rgsa-engagement-grid span {
  color: var(--rgsa-accent);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rgsa-engagement-grid strong {
  color: #fff;
  font-size: 13px;
  margin-top: 4px;
}

.rgsa-engagement-grid p {
  color: rgba(255, 255, 255, 0.58);
  font-size: 9px;
  line-height: 1.35;
  margin: 6px 0 0;
}

.rgsa-service-grid {
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 40px;
  overflow: hidden;
}

.rgsa-service-grid div {
  background: rgba(255, 255, 255, 0.07);
  padding: 20px;
}

.rgsa-service-grid strong,
.rgsa-service-grid span {
  display: block;
}

.rgsa-service-grid strong {
  color: #fff;
  font-size: 13px;
}

.rgsa-service-grid span {
  color: rgba(255, 255, 255, 0.55);
  font-size: 10px;
  margin-top: 4px;
}

.rgsa-cta-box {
  background: var(--rgsa-primary);
  border-radius: 22px;
  margin-top: 34px;
  padding: 28px;
}

.rgsa-cta-box h3 {
  color: #fff;
  font-size: 26px;
  letter-spacing: -0.04em;
  margin: 0 0 8px;
}

.rgsa-cta-box p {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  margin: 0 0 18px;
}

.rgsa-cta-box small {
  color: rgba(255, 255, 255, 0.62);
  display: block;
  font-size: 9px;
  margin-top: 12px;
}

.rgsa-cta-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  bottom: 44px;
  display: flex;
  justify-content: space-between;
  left: clamp(34px, 6vw, 72px);
  padding-top: 18px;
  position: absolute;
  right: clamp(34px, 6vw, 72px);
}

.rgsa-cta-footer span {
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
}

@media (max-width: 920px) {
  .rgsa-intro-grid,
  .rgsa-executive-grid,
  .rgsa-cover-main {
    grid-template-columns: 1fr;
  }
  .rgsa-field-grid--lead {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rgsa-cover-main {
    margin-top: 80px;
  }
  .rgsa-cover-score {
    height: 180px;
    width: 180px;
  }
  .rgsa-cover-score strong {
    font-size: 72px;
  }
  .rgsa-heading-row {
    align-items: start;
    flex-direction: column;
    gap: 0;
  }
  .rgsa-model-inputs,
  .rgsa-detail-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rgsa-phase-items,
  .rgsa-service-grid,
  .rgsa-engagement-grid,
  .rgsa-priority-recap,
  .rgsa-context-summary {
    grid-template-columns: 1fr;
  }
  .rgsa-context-summary div {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    padding-left: 0;
    padding-top: 9px;
  }
}

@media (max-width: 680px) {
  .rgsa-shell,
  .rgsa-report-section,
  .rgsa-report-cover,
  .rgsa-cta-page {
    border-radius: 18px;
  }
  .rgsa-shell {
    padding: 24px 18px;
  }
  .rgsa-intro h2 {
    font-size: 42px;
  }
  .rgsa-benefit-grid,
  .rgsa-field-grid,
  .rgsa-field-grid--lead,
  .rgsa-pillar-grid,
  .rgsa-finding-grid,
  .rgsa-evidence-columns,
  .rgsa-model-inputs,
  .rgsa-scenario-grid,
  .rgsa-detail-meta {
    grid-template-columns: 1fr;
  }
  .rgsa-field-wide {
    grid-column: auto;
  }
  .rgsa-form-heading {
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }
  .rgsa-form-heading p {
    text-align: left;
  }
  .rgsa-sample-card {
    transform: none;
  }
  .rgsa-report {
    border-radius: 0;
    margin-left: -16px;
    margin-right: -16px;
    padding: 8px;
  }
  .rgsa-report-toolbar {
    align-items: stretch;
    flex-direction: column;
    position: static;
  }
  .rgsa-toolbar-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
  }
  .rgsa-cover-main {
    margin-top: 58px;
  }
  .rgsa-cover-copy h1 {
    font-size: 50px;
  }
  .rgsa-cover-bottom {
    bottom: 28px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rgsa-barrier-card {
    grid-template-columns: 1fr;
  }
  .rgsa-journey-stage {
    align-items: start;
    grid-template-columns: 32px 1fr;
  }
  .rgsa-journey-stage > strong {
    grid-column: 2;
  }
  .rgsa-roadmap-phase {
    grid-template-columns: 1fr;
  }
  .rgsa-phase-title {
    align-items: baseline;
    flex-direction: row;
    gap: 6px;
    height: auto;
    justify-content: flex-start;
    padding: 14px 18px;
  }
  .rgsa-cta-content {
    margin-top: 50px;
  }
}

@media print {
  @page {
    margin: 12mm;
    size: A4 portrait;
  }

  body,
  html {
    background: #fff !important;
  }

  body * {
    visibility: hidden !important;
  }

  .rgsa-report,
  .rgsa-report * {
    visibility: visible !important;
  }

  .rgsa-report {
    background: #fff !important;
    border-radius: 0 !important;
    left: 0;
    margin: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    position: absolute;
    top: 0;
    width: 100%;
  }

  .rgsa-no-print {
    display: none !important;
  }

  .rgsa-report-cover,
  .rgsa-cta-page {
    border-radius: 0 !important;
    height: 273mm;
    margin: 0 !important;
    max-width: none;
    min-height: 0;
    padding: 18mm;
  }

  .rgsa-report-cover {
    break-after: page;
  }

  .rgsa-cta-page {
    break-after: auto;
  }

  .rgsa-report-section {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    max-width: none;
    padding: 13mm 5mm;
  }

  .rgsa-print-page {
    break-before: page;
  }

  .rgsa-report-cover.rgsa-print-page {
    break-before: auto;
  }

  .rgsa-keep-together,
  .rgsa-pillar-card,
  .rgsa-journey-stage,
  .rgsa-roadmap-item,
  .rgsa-method-note,
  .rgsa-no-model,
  .rgsa-constraint-card,
  .rgsa-executive-main {
    break-inside: avoid;
  }

  .rgsa-section-heading h2 {
    font-size: 30px;
  }

  .rgsa-cover-copy h1 {
    font-size: 54px;
  }

  .rgsa-cover-main {
    margin-top: 35mm;
  }

  .rgsa-cover-score {
    height: 48mm;
    width: 48mm;
  }

  .rgsa-cover-score strong {
    font-size: 58px;
  }

  .rgsa-cover-bottom {
    bottom: 16mm;
    left: 18mm;
    right: 18mm;
  }

  .rgsa-barrier-card,
  .rgsa-detail-card {
    padding: 5mm;
  }

  .rgsa-detail-list,
  .rgsa-barrier-list {
    gap: 7mm;
  }

  .rgsa-evidence-image img {
    max-height: 105mm;
  }

  .rgsa-table {
    font-size: 7px;
  }

  .rgsa-table th,
  .rgsa-table td {
    padding: 4px;
  }

  a {
    color: inherit !important;
    text-decoration: none !important;
  }

  .rgsa-cta-content {
    margin-top: 23mm;
  }

  .rgsa-cta-content > h2 {
    font-size: 43px;
  }

  .rgsa-cta-content {
    margin-top: 12mm;
  }

  .rgsa-cta-content > p {
    font-size: 12px;
    margin: 0;
  }

  .rgsa-recommended-start {
    margin-top: 5mm;
    padding: 4mm;
  }

  .rgsa-recommended-start strong {
    font-size: 18px;
  }

  .rgsa-priority-recap,
  .rgsa-service-grid,
  .rgsa-engagement-grid {
    margin-top: 3mm;
  }

  .rgsa-service-grid div,
  .rgsa-engagement-grid > div {
    padding: 3mm;
  }

  .rgsa-cta-box {
    margin-top: 4mm;
    padding: 4mm;
  }

  .rgsa-cta-box h3 {
    font-size: 20px;
  }

  .rgsa-cta-box p {
    font-size: 10px;
    margin-bottom: 3mm;
  }

  .rgsa-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rgsa-cta-footer {
    bottom: 14mm;
    left: 18mm;
    right: 18mm;
  }
}

/* Version 3 report enhancements */
.rgsa-cover-v3 {
  align-items: center;
  display: grid;
  gap: 44px;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  margin-top: 56px;
  position: relative;
  z-index: 2;
}
.rgsa-cover-visual {
  min-height: 410px;
  position: relative;
}
.rgsa-device {
  background: #fff;
  border: 8px solid #171717;
  box-shadow: 0 24px 70px rgba(0,0,0,.32);
  overflow: hidden;
  position: absolute;
}
.rgsa-device img { display:block; height:100%; object-fit:cover; width:100%; }
.rgsa-device--desktop { border-radius: 14px; height: 235px; right: 0; top: 20px; width: 390px; }
.rgsa-device--mobile { border-radius: 24px; bottom: 10px; height: 250px; left: 0; width: 125px; z-index: 2; }
.rgsa-cover-priorities { border-left: 3px solid var(--rgsa-accent); margin-top: 30px; padding-left: 18px; }
.rgsa-cover-priorities > strong { color:#fff; display:block; font-size:12px; letter-spacing:.08em; margin-bottom:12px; text-transform:uppercase; }
.rgsa-cover-priorities div { align-items:flex-start; display:flex; gap:10px; margin:9px 0; }
.rgsa-cover-priorities b { color:var(--rgsa-accent); font-size:12px; }
.rgsa-cover-priorities span, .rgsa-cover-priorities p { color:rgba(255,255,255,.88); font-size:14px; line-height:1.35; margin:0; }
.rgsa-quality-seal { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:14px; bottom:112px; display:flex; flex-direction:column; gap:4px; left:54px; max-width:540px; padding:13px 16px; position:absolute; z-index:2; }
.rgsa-quality-seal strong { color:#fff; font-size:12px; }
.rgsa-quality-seal span { color:rgba(255,255,255,.68); font-size:10px; line-height:1.4; }
.rgsa-evidence-badge { border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.04em; padding:6px 9px; text-transform:uppercase; }
.rgsa-evidence-badge--observed { background:#e8f8ef; color:#146c3c; }
.rgsa-evidence-badge--inferred { background:#fff3dc; color:#8a5500; }
.rgsa-evidence-badge--requires-validation { background:#f1ebff; color:#5920b7; }
.rgsa-decision-grid { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.rgsa-decision-column { border:1px solid #e5e3eb; border-radius:18px; padding:22px; }
.rgsa-decision-column h3 { font-size:22px; margin:0 0 6px; }
.rgsa-decision-column > p { color:#6f6a78; margin:0 0 18px; }
.rgsa-decision-column > div { border-top:1px solid #eceaf0; display:flex; flex-direction:column; gap:5px; padding:13px 0; }
.rgsa-decision-column > div strong { font-size:14px; }
.rgsa-decision-column > div span { color:#777180; font-size:12px; }
.rgsa-decision-column--do-now { border-top:5px solid #752AEA; }
.rgsa-decision-column--validate-first { border-top:5px solid #dca000; }
.rgsa-decision-column--plan-next { border-top:5px solid #5d7bc4; }
.rgsa-decision-column--monitor { border-top:5px solid #9a98a0; }
.rgsa-call-agenda { background:#1a1a1a; border:1px solid rgba(255,255,255,.12); border-radius:18px; margin-top:20px; padding:22px; }
.rgsa-call-agenda h3 { color:#fff; margin:0 0 14px; }
.rgsa-call-agenda div { align-items:flex-start; border-top:1px solid rgba(255,255,255,.1); display:flex; gap:13px; padding:11px 0; }
.rgsa-call-agenda b { color:var(--rgsa-accent); }
.rgsa-call-agenda span { color:rgba(255,255,255,.84); }
.rgsa-proof-strip { align-items:center; display:flex; flex-wrap:wrap; gap:10px 16px; margin-top:18px; }
.rgsa-proof-strip strong { color:#fff; }
.rgsa-proof-strip span { color:rgba(255,255,255,.62); font-size:12px; }

@media (max-width: 900px) {
  .rgsa-cover-v3 { grid-template-columns:1fr; }
  .rgsa-cover-visual { min-height:320px; }
  .rgsa-device--desktop { width:80%; }
  .rgsa-decision-grid { grid-template-columns:1fr; }
}

@media print {
  @page { margin: 0; size: A4 portrait; }
  body { margin:0 !important; }
  body > *:not(.rgsa-report),
  header, footer, nav, #wpadminbar, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer { display:none !important; }
  .rgsa-app { margin:0 !important; max-width:none !important; padding:0 !important; }
  .rgsa-report { position:static !important; width:210mm !important; }
  .rgsa-report-cover, .rgsa-cta-page { box-sizing:border-box; height:297mm !important; padding:16mm !important; width:210mm !important; }
  .rgsa-cover-v3 { gap:10mm; grid-template-columns:1.05fr .95fr; margin-top:12mm; }
  .rgsa-cover-visual { min-height:112mm; }
  .rgsa-device--desktop { height:62mm; width:92mm; }
  .rgsa-device--mobile { height:66mm; width:33mm; }
  .rgsa-cover-copy h1 { font-size:38px !important; overflow-wrap:anywhere; word-break:normal; }
  .rgsa-cover-priorities span { font-size:10px; }
  .rgsa-quality-seal { bottom:34mm; left:16mm; max-width:110mm; }
  .rgsa-report-section { box-sizing:border-box; padding:14mm 14mm !important; width:210mm !important; }
  .rgsa-decision-grid { gap:4mm; }
  .rgsa-decision-column { padding:4mm; }
  .rgsa-cta-content--v3 { margin-top:10mm !important; }
  .rgsa-call-agenda { padding:4mm; }
  .rgsa-cta-page .rgsa-priority-recap { margin-top:4mm; }
  .rgsa-cta-box--v3 { margin-top:5mm; }
  .rgsa-cta-footer { bottom:12mm; }
}

/* Version 4 Growth Assessment experience */
.rgsa-v4-report{--v4-purple:#752AEA;--v4-lime:#D7FF69;--v4-charcoal:#111;--v4-off:#f7f4fb;background:#ece9f1;border-radius:28px;overflow:hidden;padding:16px}.rgsa-v4-toolbar{border-radius:18px;margin:0 auto 16px;max-width:1240px;position:sticky;top:12px;z-index:20}.rgsa-v4-cover{background:#fff;border-radius:24px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);margin:0 auto;max-width:1240px;min-height:720px;overflow:hidden}.rgsa-v4-cover-copy{background:var(--v4-purple);color:#fff;display:flex;flex-direction:column;padding:58px 52px;position:relative}.rgsa-v4-cover-copy:after{background:var(--v4-lime);border-radius:999px;content:"";height:72px;position:absolute;right:-36px;top:40px;width:72px}.rgsa-v4-cover-brand{position:relative;z-index:2}.rgsa-v4-eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;margin-top:80px;text-transform:uppercase}.rgsa-v4-cover h1{color:#fff;font-size:62px;letter-spacing:-.055em;line-height:.95;margin:16px 0 8px;overflow-wrap:anywhere}.rgsa-v4-domain{color:rgba(255,255,255,.72);font-size:18px;margin:0}.rgsa-v4-grade{font-size:24px;font-weight:700;margin:34px 0}.rgsa-v4-priorities{border-left:4px solid var(--v4-lime);padding-left:20px}.rgsa-v4-priorities>strong{display:block;font-size:11px;letter-spacing:.11em;margin-bottom:14px;text-transform:uppercase}.rgsa-v4-priorities div{display:grid;gap:12px;grid-template-columns:28px 1fr;margin:12px 0}.rgsa-v4-priorities b{color:var(--v4-lime);font-size:12px}.rgsa-v4-priorities span{font-size:15px;line-height:1.4}.rgsa-v4-built{background:rgba(17,17,17,.2);border:1px solid rgba(255,255,255,.22);border-radius:16px;margin-top:auto;padding:18px}.rgsa-v4-built strong,.rgsa-v4-built span{display:block}.rgsa-v4-built strong{font-size:14px}.rgsa-v4-built span{color:rgba(255,255,255,.76);font-size:12px;line-height:1.5;margin-top:5px}.rgsa-v4-cover-visual{background:var(--v4-off);display:flex;flex-direction:column;padding:54px 46px}.rgsa-v4-devices{min-height:360px;position:relative}.rgsa-v4-desktop{background:#111;border:8px solid #111;border-radius:16px;box-shadow:0 30px 70px rgba(80,45,126,.2);height:275px;overflow:hidden;position:absolute;right:0;top:10px;width:min(100%,540px)}.rgsa-v4-desktop>span{background:linear-gradient(90deg,#696969 0 6px,transparent 6px 12px,#696969 12px 18px,transparent 18px);display:block;height:18px}.rgsa-v4-desktop img{display:block;height:calc(100% - 18px);object-fit:cover;object-position:top;width:100%}.rgsa-v4-mobile{background:#111;border:7px solid #111;border-radius:28px;bottom:0;box-shadow:0 24px 55px rgba(80,45,126,.25);height:300px;left:0;overflow:hidden;position:absolute;width:145px;z-index:2}.rgsa-v4-mobile i{background:#111;border-radius:0 0 9px 9px;height:14px;left:42px;position:absolute;top:0;width:48px;z-index:2}.rgsa-v4-mobile img{height:100%;object-fit:cover;object-position:top;width:100%}.rgsa-v4-shot-fallback{align-items:center;background:#e8e1f1;border-radius:18px;color:#776d82;display:flex;height:275px;justify-content:center;padding:30px;text-align:center}.rgsa-v4-score{background:#111;border-radius:20px;color:#fff;display:grid;gap:30px;grid-template-columns:160px 1fr;margin-top:28px;padding:25px}.rgsa-v4-score span,.rgsa-v4-score small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.rgsa-v4-score strong{color:var(--v4-lime);display:block;font-size:70px;line-height:.95}.rgsa-v4-score p{font-size:15px;line-height:1.55;margin:0}.rgsa-v4-coverage{display:grid;gap:10px;grid-template-columns:repeat(4,1fr);margin-top:16px}.rgsa-v4-coverage div{background:#fff;border-radius:13px;padding:14px 8px;text-align:center}.rgsa-v4-coverage b,.rgsa-v4-coverage span{display:block}.rgsa-v4-coverage b{color:var(--v4-purple);font-size:24px}.rgsa-v4-coverage span{font-size:10px;margin-top:3px}.rgsa-v4-nav{background:#111;border-radius:18px;display:flex;gap:4px;margin:16px auto;max-width:1240px;overflow:auto;padding:8px;position:sticky;top:100px;z-index:15}.rgsa-v4-nav a{border-radius:12px;color:#fff;flex:0 0 auto;font-size:12px;font-weight:700;padding:12px 16px;text-decoration:none}.rgsa-v4-nav a:hover{background:var(--v4-purple)}.rgsa-v4-section{background:#fff;border-radius:24px;margin:16px auto;max-width:1240px;padding:56px}.rgsa-v4-heading{max-width:820px}.rgsa-v4-heading>span,.rgsa-v4-statement span,.rgsa-v4-opportunity-head>div>span,.rgsa-v4-opportunity-body section span,.rgsa-v4-profile span,.rgsa-v4-starting>span,.rgsa-v4-call-grid span,.rgsa-v4-case-study span,.rgsa-v4-cta-box span{color:var(--v4-purple);font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.rgsa-v4-heading h2{font-size:46px;letter-spacing:-.045em;line-height:1.05;margin:10px 0 15px}.rgsa-v4-heading p{color:#6d6674;font-size:17px;line-height:1.6;margin:0}.rgsa-v4-exec-main{display:grid;gap:16px;margin-top:36px}.rgsa-v4-statement{border:1px solid #e2dde8;border-radius:18px;margin-bottom:16px;padding:24px}.rgsa-v4-statement-primary{background:#f0e8ff;border-color:#cdb7f5}.rgsa-v4-statement h3{font-size:24px;line-height:1.35;margin:8px 0 0}.rgsa-v4-statement p{font-size:16px;line-height:1.55;margin:8px 0 0}.rgsa-v4-system-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:34px}.rgsa-v4-system{border:1px solid #e2dde8;border-radius:18px;min-height:250px;padding:24px}.rgsa-v4-system>div{display:flex;justify-content:space-between}.rgsa-v4-system>div span{color:#aaa;font-size:12px}.rgsa-v4-system>div b{font-size:34px}.rgsa-v4-system h3{font-size:22px;line-height:1.25;margin:28px 0 9px}.rgsa-v4-system>strong{color:var(--v4-purple);font-size:11px;text-transform:uppercase}.rgsa-v4-system p{font-size:14px;line-height:1.5}.rgsa-v4-system small{color:#736b79;display:block;font-size:12px;line-height:1.5}.rgsa-v4-system-good{border-top:5px solid #3ca06a}.rgsa-v4-system-mid{border-top:5px solid #d49a21}.rgsa-v4-system-bad{border-top:5px solid var(--v4-purple)}.rgsa-v4-opportunity-list{display:grid;gap:24px;margin-top:34px}.rgsa-v4-opportunity{border:1px solid #ddd7e4;border-radius:22px;overflow:hidden;padding:28px}.rgsa-v4-opportunity-head{align-items:flex-start;display:flex;justify-content:space-between}.rgsa-v4-opportunity-head h3{font-size:30px;letter-spacing:-.025em;line-height:1.12;margin:10px 0 14px;max-width:780px}.rgsa-v4-opportunity-head>div:last-child{text-align:right}.rgsa-v4-opportunity-head>div:last-child span,.rgsa-v4-opportunity-head>div:last-child strong{display:block}.rgsa-v4-opportunity-head>div:last-child span{font-size:10px;text-transform:uppercase}.rgsa-v4-opportunity-head>div:last-child strong{color:var(--v4-purple);font-size:36px}.rgsa-v4-badges{display:flex;gap:7px}.rgsa-v4-opportunity-body{display:grid;gap:28px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);margin-top:24px}.rgsa-v4-opportunity-body figure{background:#eeeaf4;border-radius:16px;margin:0;min-height:320px;overflow:hidden}.rgsa-v4-opportunity-body figure img{display:block;height:320px;object-fit:cover;object-position:top;width:100%}.rgsa-v4-opportunity-body figcaption{font-size:10px;padding:10px 14px}.rgsa-v4-opportunity-body section{border-bottom:1px solid #e6e1e9;padding:0 0 18px;margin-bottom:18px}.rgsa-v4-opportunity-body section p{font-size:15px;line-height:1.55;margin:8px 0 0}.rgsa-v4-opportunity-body .rgsa-v4-action{background:#111;border:0;border-radius:15px;color:#fff;padding:20px}.rgsa-v4-opportunity-body .rgsa-v4-action span{color:var(--v4-lime)}.rgsa-v4-evidence{background:#f7f4fb;border-radius:15px;margin-top:22px;padding:0 18px}.rgsa-v4-evidence summary{cursor:pointer;font-size:13px;font-weight:800;padding:16px 0}.rgsa-v4-evidence-grid{display:grid;gap:18px;grid-template-columns:1.25fr 1.25fr 1fr;padding-bottom:18px}.rgsa-v4-evidence-grid strong{font-size:12px}.rgsa-v4-evidence-grid ul{margin:10px 0 0;padding-left:18px}.rgsa-v4-evidence-grid li{font-size:11px;line-height:1.45;margin:5px 0;overflow-wrap:anywhere}.rgsa-v4-validation{background:#fff0d3;border-left:4px solid #d49a21;margin:12px 0;padding:14px}.rgsa-v4-validation p{font-size:12px;line-height:1.45;margin:5px 0 0}.rgsa-v4-ask{color:var(--v4-purple);display:inline-block;font-size:13px;font-weight:800;margin-top:16px}.rgsa-v4-table-wrap{overflow:auto}.rgsa-v4-product-table{border-collapse:collapse;margin-top:30px;min-width:980px;width:100%}.rgsa-v4-product-table th,.rgsa-v4-product-table td{border-bottom:1px solid #e3dee7;font-size:12px;padding:13px 9px;text-align:left}.rgsa-v4-product-table th{background:#111;color:#fff;font-size:10px;text-transform:uppercase}.rgsa-v4-product-table td:first-child{font-weight:700;max-width:220px}.rgsa-v4-status{border-radius:999px;display:inline-block;font-size:10px;font-weight:800;padding:6px 8px;white-space:nowrap}.rgsa-v4-status-good{background:#dff4e8;color:#14683a}.rgsa-v4-status-mid{background:#fff0ce;color:#795000}.rgsa-v4-status-bad{background:#f0e7ff;color:#5c25aa}.rgsa-v4-profile{background:#f7f4fb;border-radius:18px;display:grid;gap:28px;grid-template-columns:1fr 1fr;margin-top:28px;padding:28px}.rgsa-v4-profile h3{font-size:24px;margin:8px 0}.rgsa-v4-profile p{color:#6f6876;line-height:1.5}.rgsa-v4-model-inputs{display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-top:30px}.rgsa-v4-model-inputs div{background:#f0e8ff;border-radius:16px;padding:20px}.rgsa-v4-model-inputs span,.rgsa-v4-model-inputs b{display:block}.rgsa-v4-model-inputs span{font-size:10px;text-transform:uppercase}.rgsa-v4-model-inputs b{font-size:25px;margin-top:6px}.rgsa-v4-model-inputs-3{grid-template-columns:repeat(3,1fr)}.rgsa-v4-scenarios{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:20px}.rgsa-v4-scenarios-1{grid-template-columns:1fr;max-width:560px}.rgsa-v4-scenarios article{border:1px solid #e2dce7;border-radius:16px;padding:22px}.rgsa-v4-scenarios span,.rgsa-v4-scenarios strong{display:block}.rgsa-v4-scenarios span{color:var(--v4-purple);font-size:11px;font-weight:800;text-transform:uppercase}.rgsa-v4-scenarios strong{font-size:28px;margin-top:10px}.rgsa-v4-unknowns{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-top:30px}.rgsa-v4-unknowns div{background:#f7f4fb;border-left:5px solid var(--v4-purple);border-radius:10px;font-size:14px;font-weight:700;padding:18px}.rgsa-v4-open-questions{background:#f7f4fb;border-left:5px solid var(--v4-purple);border-radius:14px;margin-top:30px;padding:26px}.rgsa-v4-open-questions>strong{display:block;font-size:20px;line-height:1.3}.rgsa-v4-open-questions>p{color:#6f6876;font-size:14px;line-height:1.55;margin:8px 0 14px;max-width:760px}.rgsa-v4-open-questions>div{border-top:1px solid #e2dce7;padding:13px 0}.rgsa-v4-open-questions>div:first-of-type{border-top:0}.rgsa-v4-open-questions b{display:block;font-size:15px}.rgsa-v4-open-questions small{color:#777;display:block;font-size:12px;margin-top:4px}.rgsa-v4-next-level{background:#111;border-radius:20px;color:#fff;margin-top:28px;padding:28px}.rgsa-v4-next-level span{color:var(--v4-lime);font-size:11px;font-weight:800;text-transform:uppercase}.rgsa-v4-next-level h3{font-size:28px;line-height:1.25;margin:10px 0}.rgsa-v4-next-level p{color:#bbb;line-height:1.5;margin:0}.rgsa-v4-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.rgsa-v4-filters button{background:#f0edf3;border:0;border-radius:999px;cursor:pointer;font-size:11px;font-weight:700;padding:10px 14px}.rgsa-v4-filters button.is-active{background:#111;color:#fff}.rgsa-v4-plan-rows{margin-top:18px}.rgsa-v4-plan-row{border-bottom:1px solid #e3dee7}.rgsa-v4-plan-row>summary{align-items:center;cursor:pointer;display:grid;gap:15px;grid-template-columns:96px 1fr auto;padding:18px 0}.rgsa-v4-plan-row>summary>strong{font-size:15px;line-height:1.35}.rgsa-v4-plan-when{color:var(--v4-purple);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.rgsa-v4-plan-tag{border-radius:999px;display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;padding:6px 11px;text-transform:uppercase;white-space:nowrap}.rgsa-v4-plan-tag-do-now{background:var(--v4-purple);color:#fff}.rgsa-v4-plan-tag-plan-next{background:#e7e1f5;color:#3d2a63}.rgsa-v4-plan-tag-monitor{background:#eeeaf0;color:#6d6674}.rgsa-v4-plan-row>div{background:#f7f4fb;border-radius:14px;margin-bottom:14px;padding:18px}.rgsa-v4-plan-row>div p{font-size:13px;line-height:1.5}.rgsa-v4-plan-lead a{font-weight:700}.rgsa-v4-phase-totals{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-top:28px}.rgsa-v4-phase-totals>div{background:#f7f4fb;border-radius:16px;padding:20px}.rgsa-v4-phase-totals b{color:var(--v4-purple);display:block;font-size:20px}.rgsa-v4-phase-totals span{display:block;font-size:12px;margin-top:4px}.rgsa-v4-phase-totals small{color:#5b5566;display:block;font-size:12px;line-height:1.45;margin-top:8px}.rgsa-v4-cta{background:#111;border-radius:24px;color:#fff;margin:16px auto 0;max-width:1240px;padding:54px}.rgsa-v4-cta>div:first-child{align-items:center;display:flex;justify-content:space-between}.rgsa-v4-cta>div:first-child>span{color:var(--v4-lime);font-size:11px;text-transform:uppercase}.rgsa-v4-cta-content{margin-top:52px}.rgsa-v4-cta-content>span{color:var(--v4-lime);font-size:11px;font-weight:900;text-transform:uppercase}.rgsa-v4-cta-content>h2{font-size:52px;letter-spacing:-.05em;line-height:1;margin:12px 0 18px;max-width:900px}.rgsa-v4-cta-content>p{color:#bbb;font-size:17px;line-height:1.55;max-width:900px}.rgsa-v4-starting{background:#1c1c1c;border-left:5px solid var(--v4-lime);border-radius:15px;margin-top:28px;padding:24px}.rgsa-v4-starting>span{color:var(--v4-lime)}.rgsa-v4-starting>div{display:grid;gap:12px;grid-template-columns:32px 1fr;margin-top:14px}.rgsa-v4-starting b{color:var(--v4-lime)}.rgsa-v4-starting strong{font-size:15px}.rgsa-v4-call-grid{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:20px}.rgsa-v4-call-grid>div{background:#1b1b1b;border:1px solid #333;border-radius:16px;padding:24px}.rgsa-v4-call-grid>div>span{color:var(--v4-lime)}.rgsa-v4-call-grid p{border-top:1px solid #333;display:grid;font-size:13px;gap:11px;grid-template-columns:30px 1fr;line-height:1.45;margin:12px 0 0;padding-top:12px}.rgsa-v4-call-grid p b{color:var(--v4-lime)}.rgsa-v4-call-grid h3{font-size:24px;line-height:1.3}.rgsa-v4-call-grid>div:last-child p{color:#aaa;display:block}.rgsa-v4-case-study{background:#f0e8ff;border-radius:16px;color:#111;margin-top:20px;padding:24px}.rgsa-v4-case-study h3{font-size:25px;margin:8px 0}.rgsa-v4-case-study a{color:var(--v4-purple);font-weight:800}.rgsa-v4-cta-box{background:var(--v4-purple);border-radius:18px;margin-top:20px;padding:26px}.rgsa-v4-cta-box>span{color:var(--v4-lime)}.rgsa-v4-cta-box h3{font-size:30px;margin:10px 0}.rgsa-v4-cta-box p{margin-bottom:18px}.rgsa-v4-cta-box .rgsa-button{display:inline-block}.rgsa-v4-cta .rgsa-wordmark strong{color:#fff}.rgsa-v4-cta .rgsa-wordmark span{color:var(--v4-lime)}
@media(max-width:980px){.rgsa-v4-cover{grid-template-columns:1fr}.rgsa-v4-cover-copy{min-height:650px}.rgsa-v4-cover-visual{min-height:650px}.rgsa-v4-system-grid{grid-template-columns:repeat(2,1fr)}.rgsa-v4-opportunity-body,.rgsa-v4-call-grid{grid-template-columns:1fr}.rgsa-v4-opportunity-body figure{min-height:260px}.rgsa-v4-evidence-grid{grid-template-columns:1fr}.rgsa-v4-model-inputs,.rgsa-v4-coverage{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.rgsa-v4-report{border-radius:0;margin-left:-16px;margin-right:-16px;padding:7px}.rgsa-v4-toolbar{position:static}.rgsa-v4-toolbar>div:last-child{grid-template-columns:1fr 1fr}.rgsa-v4-cover-copy,.rgsa-v4-cover-visual,.rgsa-v4-section,.rgsa-v4-cta{padding:28px 20px}.rgsa-v4-cover h1{font-size:45px}.rgsa-v4-devices{min-height:290px}.rgsa-v4-desktop{height:210px}.rgsa-v4-mobile{height:220px;width:108px}.rgsa-v4-score{grid-template-columns:1fr}.rgsa-v4-heading h2,.rgsa-v4-cta-content>h2{font-size:36px}.rgsa-v4-system-grid,.rgsa-v4-phase-totals,.rgsa-v4-scenarios,.rgsa-v4-unknowns,.rgsa-v4-profile{grid-template-columns:1fr}.rgsa-v4-plan-row>summary{grid-template-columns:1fr auto;row-gap:6px}.rgsa-v4-plan-row>summary>strong{grid-column:1/-1;grid-row:2}.rgsa-v4-plan-row>summary .rgsa-v4-plan-when{grid-column:1;grid-row:1}.rgsa-v4-plan-row>summary .rgsa-v4-plan-tag{grid-column:2;grid-row:1;justify-self:end}.rgsa-v4-nav{top:0}.rgsa-v4-opportunity-head{gap:15px}.rgsa-v4-opportunity-head h3{font-size:24px}.rgsa-v4-opportunity-head>div:last-child strong{font-size:28px}}

/* Version 4.2 readability, catalogue coverage and concept components */
.rgsa-app .rgsa-v4-report {
  color: #111111 !important;
  color-scheme: light;
  font-size: 16px !important;
  line-height: 1.55 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-section,
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-visual,
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity,
.rgsa-app .rgsa-v4-report .rgsa-v4-statement,
.rgsa-app .rgsa-v4-report .rgsa-v4-system,
.rgsa-app .rgsa-v4-report .rgsa-v4-profile,
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence,
.rgsa-app .rgsa-v4-report .rgsa-v4-plan-row > div {
  color: #111111 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-section h1,
.rgsa-app .rgsa-v4-report .rgsa-v4-section h2,
.rgsa-app .rgsa-v4-report .rgsa-v4-section h3,
.rgsa-app .rgsa-v4-report .rgsa-v4-section h4,
.rgsa-app .rgsa-v4-report .rgsa-v4-section strong,
.rgsa-app .rgsa-v4-report .rgsa-v4-section b,
.rgsa-app .rgsa-v4-report .rgsa-v4-section summary,
.rgsa-app .rgsa-v4-report .rgsa-v4-section td,
.rgsa-app .rgsa-v4-report .rgsa-v4-section th {
  color: #111111 !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-section p,
.rgsa-app .rgsa-v4-report .rgsa-v4-section li,
.rgsa-app .rgsa-v4-report .rgsa-v4-section small,
.rgsa-app .rgsa-v4-report .rgsa-v4-section figcaption {
  color: #4b4452 !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-heading > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-statement > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body section > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-profile span,
.rgsa-app .rgsa-v4-report .rgsa-v4-concept > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-catalogue-patterns span {
  color: #5f20d4 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-action,
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-action *,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level *,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta * {
  color: #ffffff !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-action span,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta > div:first-child > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta-content > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-starting > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-starting b,
.rgsa-app .rgsa-v4-report .rgsa-v4-call-grid > div > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-call-grid p b,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta-box > span {
  color: #d7ff69 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-case-study,
.rgsa-app .rgsa-v4-report .rgsa-v4-case-study * {
  color: #111111 !important;
}
.rgsa-app .rgsa-v4-report a {
  color: #5f20d4 !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-nav a,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta a,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar a,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar button {
  color: #ffffff !important;
}
.rgsa-app .rgsa-v4-report .rgsa-button-accent {
  color: #111111 !important;
}
.rgsa-v4-coverage-note {
  color: #4b4452 !important;
  font-size: 12px;
  line-height: 1.45;
  margin: 12px 0 0;
  text-align: center;
}
.rgsa-v4-catalogue-strip {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 28px;
}
.rgsa-v4-catalogue-strip > div {
  background: #f0e8ff;
  border: 1px solid #ddcef8;
  border-radius: 14px;
  padding: 18px 12px;
  text-align: center;
}
.rgsa-v4-catalogue-strip b,
.rgsa-v4-catalogue-strip span {
  display: block;
}
.rgsa-v4-catalogue-strip b {
  color: #5f20d4 !important;
  font-size: 25px;
}
.rgsa-v4-catalogue-strip span {
  color: #4b4452 !important;
  font-size: 10px;
  font-weight: 800;
  margin-top: 4px;
  text-transform: uppercase;
}
.rgsa-v4-catalogue-patterns {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr 1fr;
  margin-top: 24px;
}
.rgsa-v4-catalogue-patterns article {
  background: #f7f4fb;
  border: 1px solid #e2dce8;
  border-radius: 16px;
  padding: 22px;
}
.rgsa-v4-catalogue-patterns p {
  color: #332d38 !important;
  font-size: 14px;
  line-height: 1.55;
  margin: 10px 0 0;
}
.rgsa-v4-concept {
  background: #f0e8ff;
  border: 1px solid #d9c7f7;
  border-radius: 15px;
  margin-top: 18px;
  padding: 18px;
}
.rgsa-v4-concept h4 {
  color: #111111 !important;
  font-size: 17px;
  line-height: 1.3;
  margin: 8px 0 12px;
}
.rgsa-v4-concept-ui,
.rgsa-v4-concept-mobile,
.rgsa-v4-concept-progress {
  background: #ffffff;
  border: 1px solid #ddd2ea;
  border-radius: 12px;
  padding: 14px;
}
.rgsa-v4-concept-ui b {
  color: #126d4b !important;
}
.rgsa-v4-concept-ui p,
.rgsa-v4-concept-progress p,
.rgsa-v4-concept-progress small,
.rgsa-v4-concept-mobile i {
  color: #2f2934 !important;
  display: block;
  font-size: 12px;
  font-style: normal;
  line-height: 1.4;
  margin: 5px 0;
}
.rgsa-v4-concept-mobile i {
  border-bottom: 1px solid #ece6f1;
  padding: 7px 9px;
}
.rgsa-v4-concept-mobile .is-safe {
  background: #d7ff69;
  border-radius: 8px;
  color: #111111 !important;
  font-weight: 900;
}
.rgsa-v4-concept-progress i {
  background: #e8e1ef;
  border-radius: 999px;
  display: block;
  height: 9px;
  margin: 10px 0;
  overflow: hidden;
}
.rgsa-v4-concept-progress i b {
  background: #752aea;
  display: block;
  height: 100%;
}
.rgsa-v4-connections {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 28px;
}
.rgsa-v4-connections article {
  background: #f0e8ff;
  border: 1px solid #d9c7f7;
  border-radius: 16px;
  padding: 20px;
}
.rgsa-v4-connections b {
  color: #5f20d4 !important;
  font-size: 18px;
}
.rgsa-v4-connections p {
  color: #332d38 !important;
  line-height: 1.5;
  margin: 8px 0 0;
}
@media (max-width: 760px) {
  .rgsa-v4-catalogue-strip,
  .rgsa-v4-catalogue-patterns,
  .rgsa-v4-connections {
    grid-template-columns: 1fr;
  }
}

/* Version 4.2 dark-surface and status-colour corrections */
.rgsa-app .rgsa-v4-report .rgsa-v4-product-table th,
.rgsa-app .rgsa-v4-report .rgsa-v4-plan-row .rgsa-v4-plan-tag-do-now,
.rgsa-app .rgsa-v4-report .rgsa-v4-filters button.is-active {
  color: #ffffff !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-head > div:last-child strong,
.rgsa-app .rgsa-v4-report .rgsa-v4-system > div b,
.rgsa-app .rgsa-v4-report .rgsa-v4-model-inputs b,
.rgsa-app .rgsa-v4-report .rgsa-v4-scenarios strong {
  color: #5f20d4 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-evidence-badge--observed {
  color: #146c3c !important;
}
.rgsa-app .rgsa-v4-report .rgsa-evidence-badge--inferred {
  color: #7a4a00 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-evidence-badge--requires-validation {
  color: #5920b7 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-chip--critical,
.rgsa-app .rgsa-v4-report .rgsa-chip--high {
  color: #a6212e !important;
}
.rgsa-app .rgsa-v4-report .rgsa-chip--medium {
  color: #805000 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-chip--low {
  color: #514963 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-chip--positive {
  color: #146c3c !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-filters button:not(.is-active) {
  color: #2f2934 !important;
  opacity: 1 !important;
}


/* Version 4.2 visual QA and conversion safeguards */
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy,
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy *,
.rgsa-app .rgsa-v4-report .rgsa-v4-score,
.rgsa-app .rgsa-v4-report .rgsa-v4-score *,
.rgsa-app .rgsa-v4-report .rgsa-v4-action,
.rgsa-app .rgsa-v4-report .rgsa-v4-action *,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level *,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta * {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy .rgsa-v4-priorities b,
.rgsa-app .rgsa-v4-report .rgsa-v4-score strong,
.rgsa-app .rgsa-v4-report .rgsa-v4-action span,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta b {
  color: #d7ff69 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-score p,
.rgsa-app .rgsa-v4-report .rgsa-v4-action p,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level p,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta p,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta h2,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta h3,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta strong {
  color: #ffffff !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-built span,
.rgsa-app .rgsa-v4-report .rgsa-v4-domain {
  color: #f2ebff !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-coverage-note {
  background: #ffffff;
  border: 1px solid #ded7e7;
  border-radius: 14px;
  color: #332d38 !important;
  display: grid;
  gap: 6px;
  padding: 14px;
  text-align: left;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-coverage-note strong {
  color: #111111 !important;
  font-size: 12px;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-coverage-note span {
  color: #4b4452 !important;
  font-size: 12px;
  line-height: 1.45;
}
.rgsa-v4-next-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions a {
  background: #d7ff69;
  border-radius: 999px;
  color: #111111 !important;
  font-size: 12px;
  font-weight: 900;
  padding: 11px 16px;
  text-decoration: none;
}
.rgsa-v4-service-ladder {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
}
.rgsa-v4-service-ladder article {
  background: #1b1b1b;
  border: 1px solid #333333;
  border-radius: 16px;
  padding: 20px;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder span {
  color: #d7ff69 !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder h3 {
  color: #ffffff !important;
  font-size: 20px;
  line-height: 1.25;
  margin: 9px 0;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder p {
  color: #dedede !important;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}
@media (max-width: 780px) {
  .rgsa-v4-service-ladder { grid-template-columns: 1fr; }
}


/* Version 4.3 accessibility, report controls and dark-surface final overrides */
.rgsa-app .rgsa-sample-card,
.rgsa-app .rgsa-sample-card * {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.rgsa-app .rgsa-sample-card .rgsa-sample-label {
  color: #d7ff69 !important;
}
.rgsa-app .rgsa-sample-card p {
  color: #eeeeee !important;
}
.rgsa-app .rgsa-sample-card .rgsa-chip {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #a6212e !important;
}

/* Top report actions remain readable even when the WordPress theme styles links. */
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar .rgsa-button,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar a,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar button,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar .rgsa-button * {
  background: #ffffff !important;
  border-color: #111111 !important;
  color: #111111 !important;
  opacity: 1 !important;
  text-decoration: none !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar .rgsa-toolbar-download {
  background: #d7ff69 !important;
  border-color: #111111 !important;
  color: #111111 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar .rgsa-button:hover,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar a:hover,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar button:hover {
  background: #111111 !important;
  color: #ffffff !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar .rgsa-button:focus-visible,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar a:focus-visible,
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar button:focus-visible,
.rgsa-app .rgsa-v4-report .rgsa-button:focus-visible,
.rgsa-app .rgsa-v4-report button:focus-visible,
.rgsa-app .rgsa-v4-report a:focus-visible {
  outline: 3px solid #d7ff69 !important;
  outline-offset: 3px !important;
}

/* Primary conversion actions use lime with black type. */
.rgsa-app .rgsa-v4-report .rgsa-button-accent,
.rgsa-app .rgsa-v4-report .rgsa-button-accent *,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions a,
.rgsa-app .rgsa-v4-report .rgsa-v4-ask {
  background: #d7ff69 !important;
  border: 1px solid #111111 !important;
  border-radius: 999px !important;
  color: #111111 !important;
  display: inline-flex;
  font-weight: 900 !important;
  opacity: 1 !important;
  padding: 11px 16px;
  text-decoration: none !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-ask:hover,
.rgsa-app .rgsa-v4-report .rgsa-button-accent:hover,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions a:hover {
  background: #ffffff !important;
  color: #111111 !important;
}

/* Dark and purple surfaces never inherit low-contrast theme colours. */
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy,
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy *,
.rgsa-app .rgsa-v4-report .rgsa-v4-score,
.rgsa-app .rgsa-v4-report .rgsa-v4-score *,
.rgsa-app .rgsa-v4-report .rgsa-v4-action,
.rgsa-app .rgsa-v4-report .rgsa-v4-action *,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level *,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta *,
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder article,
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder article * {
  color: #ffffff !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy .rgsa-v4-domain,
.rgsa-app .rgsa-v4-report .rgsa-v4-cover-copy .rgsa-v4-built span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta-content > p,
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder article p {
  color: #eeeeee !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-score strong,
.rgsa-app .rgsa-v4-report .rgsa-v4-action span,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta-content > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-starting > span,
.rgsa-app .rgsa-v4-report .rgsa-v4-starting b,
.rgsa-app .rgsa-v4-report .rgsa-v4-call-grid span,
.rgsa-app .rgsa-v4-report .rgsa-v4-call-grid b,
.rgsa-app .rgsa-v4-report .rgsa-v4-service-ladder span,
.rgsa-app .rgsa-v4-report .rgsa-v4-cta-box > span {
  color: #d7ff69 !important;
}

/* A visual page map is used when the evidence is the absence of a page component. */
.rgsa-v4-page-map {
  background: #f0e8ff;
  border: 1px solid #d9c7f7;
  border-radius: 16px;
  display: grid;
  gap: 9px;
  min-height: 320px;
  padding: 22px;
}
.rgsa-v4-page-map > span {
  background: #ffffff;
  border: 1px solid #ddd2ea;
  border-radius: 10px;
  color: #332d38 !important;
  display: block;
  font-size: 12px;
  font-weight: 800;
  padding: 12px 14px;
}
.rgsa-v4-page-map > span.is-missing {
  background: #111111;
  border-color: #111111;
  color: #d7ff69 !important;
}
.rgsa-v4-shared-finding {
  color: #6d6674 !important;
  display: block;
  font-size: 11px;
  font-style: normal;
  line-height: 1.4;
  margin-top: 8px;
}

/* Keep controls usable on narrower screens. */
@media (max-width: 820px) {
  .rgsa-report-toolbar.rgsa-v4-toolbar {
    align-items: stretch;
    position: static;
  }
  .rgsa-report-toolbar.rgsa-v4-toolbar,
  .rgsa-report-toolbar.rgsa-v4-toolbar > div {
    flex-direction: column;
  }
  .rgsa-toolbar-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
  .rgsa-toolbar-actions .rgsa-button {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .rgsa-toolbar-actions { grid-template-columns: 1fr; }
}


/* v4.3.1 report routing and contextual enquiry hotfix */
.rgsa-v4-ask,
.rgsa-v4-next-actions button {
  appearance: none;
  cursor: pointer;
  font: inherit;
}

.rgsa-v4-ask {
  background: var(--rgsa-accent) !important;
  border: 1px solid #111111 !important;
  border-radius: 999px;
  color: #111111 !important;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  margin-top: 18px;
  padding: 12px 18px;
}

.rgsa-v4-next-actions button {
  background: #ffffff !important;
  border: 1px solid #111111 !important;
  border-radius: 999px;
  color: #111111 !important;
  font-weight: 800;
  padding: 12px 18px;
}

.rgsa-v4-next-actions button:hover,
.rgsa-v4-next-actions button:focus-visible,
.rgsa-v4-ask:hover,
.rgsa-v4-ask:focus-visible {
  background: #111111 !important;
  color: #ffffff !important;
}

body.rgsa-modal-open {
  overflow: hidden;
}

.rgsa-enquiry-modal {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 999999;
}

.rgsa-enquiry-backdrop {
  background: rgba(17, 17, 17, 0.72);
  inset: 0;
  position: absolute;
}

.rgsa-enquiry-dialog {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 28px 100px rgba(17, 17, 17, 0.28);
  color: #111111;
  max-height: calc(100vh - 40px);
  max-width: 620px;
  overflow: auto;
  padding: clamp(26px, 5vw, 46px);
  position: relative;
  width: 100%;
  z-index: 1;
}

.rgsa-enquiry-dialog h2,
.rgsa-enquiry-dialog p,
.rgsa-enquiry-dialog label,
.rgsa-enquiry-dialog textarea,
.rgsa-enquiry-dialog div {
  color: #111111;
  opacity: 1;
}

.rgsa-enquiry-dialog h2 {
  font-size: clamp(30px, 5vw, 48px);
  letter-spacing: -0.045em;
  line-height: 1;
  margin: 12px 0 18px;
}

.rgsa-enquiry-finding {
  background: #f0eafd;
  border-left: 4px solid var(--rgsa-primary);
  border-radius: 10px;
  font-weight: 750;
  padding: 14px 16px;
}

.rgsa-enquiry-dialog label {
  display: block;
  font-weight: 800;
  margin-top: 22px;
}

.rgsa-enquiry-dialog textarea {
  background: #ffffff;
  border: 1px solid #bbb4c9;
  border-radius: 14px;
  display: block;
  font: inherit;
  font-weight: 400;
  line-height: 1.5;
  margin: 9px 0 16px;
  min-height: 150px;
  padding: 14px;
  resize: vertical;
  width: 100%;
}

.rgsa-enquiry-dialog textarea:focus {
  border-color: var(--rgsa-primary);
  box-shadow: 0 0 0 3px rgba(117, 42, 234, 0.16);
  outline: none;
}

.rgsa-enquiry-close {
  align-items: center;
  background: #f2eef8;
  border: 0;
  border-radius: 999px;
  color: #111111;
  cursor: pointer;
  display: flex;
  font-size: 25px;
  height: 40px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 18px;
  top: 18px;
  width: 40px;
}

.rgsa-enquiry-error {
  color: #a72a35 !important;
  font-weight: 700;
  min-height: 24px;
}

.rgsa-enquiry-success {
  text-align: center;
}

.rgsa-enquiry-success .rgsa-button {
  margin: 8px 5px 0;
}


/* Version 4.3.2 enquiry and conversion button safeguards */
.rgsa-app .rgsa-v4-cta-box .rgsa-button-accent,
.rgsa-app .rgsa-v4-cta-box button.rgsa-button-accent,
.rgsa-app .rgsa-enquiry-dialog .rgsa-button-accent,
.rgsa-app .rgsa-enquiry-dialog button.rgsa-button-accent,
.rgsa-app .rgsa-enquiry-success .rgsa-button-accent,
.rgsa-app .rgsa-enquiry-success button.rgsa-button-accent {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #d7ff69 !important;
  border: 1px solid #111111 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #111111 !important;
  display: inline-flex !important;
  font-weight: 900 !important;
  justify-content: center !important;
  min-height: 48px !important;
  opacity: 1 !important;
  padding: 12px 22px !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.rgsa-app .rgsa-v4-cta-box .rgsa-button-accent *,
.rgsa-app .rgsa-enquiry-dialog .rgsa-button-accent *,
.rgsa-app .rgsa-enquiry-success .rgsa-button-accent * {
  color: #111111 !important;
  opacity: 1 !important;
}
.rgsa-app .rgsa-v4-cta-box .rgsa-button-accent:hover,
.rgsa-app .rgsa-enquiry-dialog .rgsa-button-accent:hover,
.rgsa-app .rgsa-enquiry-success .rgsa-button-accent:hover {
  background: #c9f356 !important;
  color: #111111 !important;
}
.rgsa-app .rgsa-enquiry-dialog form > .rgsa-button-accent {
  margin-top: 18px !important;
}

/* Version 4.3.3 conversion button hotfix
 * The enquiry modal is mounted on document.body, outside .rgsa-app.
 * These selectors therefore intentionally do not depend on the app wrapper.
 */
.rgsa-enquiry-modal .rgsa-enquiry-submit,
.rgsa-enquiry-modal button.rgsa-enquiry-submit,
.rgsa-enquiry-modal .rgsa-enquiry-return,
.rgsa-enquiry-modal button.rgsa-enquiry-return,
.rgsa-enquiry-modal .rgsa-enquiry-submit:link,
.rgsa-enquiry-modal .rgsa-enquiry-submit:visited,
.rgsa-enquiry-modal .rgsa-enquiry-submit:hover,
.rgsa-enquiry-modal .rgsa-enquiry-submit:focus,
.rgsa-enquiry-modal .rgsa-enquiry-submit:active,
.rgsa-enquiry-modal .rgsa-enquiry-return:link,
.rgsa-enquiry-modal .rgsa-enquiry-return:visited,
.rgsa-enquiry-modal .rgsa-enquiry-return:hover,
.rgsa-enquiry-modal .rgsa-enquiry-return:focus,
.rgsa-enquiry-modal .rgsa-enquiry-return:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: #d7ff69 !important;
  background-color: #d7ff69 !important;
  background-image: none !important;
  border: 1px solid #111111 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: #111111 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 50px !important;
  opacity: 1 !important;
  padding: 13px 24px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #111111 !important;
}
.rgsa-enquiry-modal .rgsa-enquiry-submit *,
.rgsa-enquiry-modal .rgsa-enquiry-return *,
.rgsa-enquiry-modal .rgsa-enquiry-submit span,
.rgsa-enquiry-modal .rgsa-enquiry-return span {
  background: transparent !important;
  color: #111111 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #111111 !important;
}
.rgsa-enquiry-modal .rgsa-enquiry-submit:hover,
.rgsa-enquiry-modal .rgsa-enquiry-submit:focus-visible,
.rgsa-enquiry-modal .rgsa-enquiry-return:hover,
.rgsa-enquiry-modal .rgsa-enquiry-return:focus-visible {
  background: #c9f356 !important;
  background-color: #c9f356 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
.rgsa-enquiry-modal .rgsa-enquiry-submit:disabled {
  cursor: wait !important;
  opacity: .72 !important;
}

/* Verified-assessment panel actions. Explicit classes prevent theme button rules
 * from creating white-on-white controls inside the dark conversion panel.
 */
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions button.rgsa-v4-next-action {
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: none !important;
  border: 1px solid #111111 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 48px !important;
  opacity: 1 !important;
  padding: 12px 20px !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action-primary,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions button.rgsa-v4-next-action-primary {
  background: #d7ff69 !important;
  background-color: #d7ff69 !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action-secondary,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions button.rgsa-v4-next-action-secondary {
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action *,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action span {
  background: transparent !important;
  color: #111111 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #111111 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action-primary:hover,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action-primary:focus-visible {
  background: #c9f356 !important;
  background-color: #c9f356 !important;
  color: #111111 !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action-secondary:hover,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action-secondary:focus-visible {
  background: #f0e8ff !important;
  background-color: #f0e8ff !important;
  color: #111111 !important;
}

/* Keep the panel copy and button labels readable despite theme inheritance. */
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level h3,
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level p {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-next-level > span {
  color: #d7ff69 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #d7ff69 !important;
}

@media (max-width: 600px) {
  .rgsa-app .rgsa-v4-report .rgsa-v4-next-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .rgsa-app .rgsa-v4-report .rgsa-v4-next-actions .rgsa-v4-next-action {
    width: 100% !important;
  }
  .rgsa-enquiry-modal .rgsa-enquiry-submit,
  .rgsa-enquiry-modal .rgsa-enquiry-return {
    width: 100% !important;
  }
}

/* v4.5.0 commercial layer. The web report now carries the same cost-against-worth
   framing, priced roadmap and assumption flagging as the PDF. */
.rgsa-v4-cover-value{background:rgba(215,255,105,.16);border:1px solid rgba(215,255,105,.5);border-radius:16px;margin:0 0 26px;padding:18px 20px}
.rgsa-v4-cover-value strong{color:var(--v4-lime);display:block;font-size:17px;line-height:1.4}
.rgsa-v4-cover-value small{color:rgba(255,255,255,.74);display:block;font-size:12px;line-height:1.5;margin-top:8px}
.rgsa-v4-assumption-flag{background:#fff;border:2px solid var(--v4-purple);border-radius:18px;margin-bottom:24px;padding:20px 24px}
.rgsa-v4-assumption-flag strong{color:var(--v4-purple);display:block;font-size:16px}
.rgsa-v4-assumption-flag span{color:#4a4553;display:block;font-size:14px;line-height:1.55;margin-top:8px}
.rgsa-v4-rococo-view{background:var(--v4-charcoal);border-radius:16px;margin-top:18px;padding:18px 20px}
.rgsa-v4-rococo-view span{color:var(--v4-lime);display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rgsa-v4-rococo-view p{color:rgba(255,255,255,.9);font-size:14px;line-height:1.6;margin:8px 0 0}
.rgsa-v4-effort-line{color:#5b5566;display:block;font-size:13px;line-height:1.5;margin-top:10px}
.rgsa-v4-roadmap-note{color:#5b5566;font-size:13px;line-height:1.6;margin:18px 0 0;max-width:70ch}

/* Version 4.7: the plan table is the one canonical home for every action, so its
   two brand accents have to survive the v4.2 theme-protection rules. Those force
   every b inside a section to charcoal, which is right for body copy and wrong
   for the purple Do now pill and the phase counters. Both selectors below are
   deliberately one class deeper so they win on specificity rather than order. */
.rgsa-app .rgsa-v4-report .rgsa-v4-section .rgsa-v4-phase-totals > div > b {
  color: #752aea !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-plan-row .rgsa-v4-plan-tag-plan-next,
.rgsa-app .rgsa-v4-report .rgsa-v4-plan-row .rgsa-v4-plan-tag-monitor {
  color: #3d2a63 !important;
}
.rgsa-v4-ladder-price{color:var(--v4-purple);display:block;font-size:13px;line-height:1.5;margin-top:12px}
.rgsa-v4-cta-person{color:rgba(255,255,255,.82);font-size:13px;line-height:1.6;margin:12px 0 0}

/* Version 4.5.1: contrast carve-outs for the Rococo view panel.
   The v4.2/v4.3 theme-protection rules force .rgsa-v4-section p to dark grey,
   force section > span kickers to purple and force the generic section padding,
   all with !important and higher specificity than the panel's own styles. On the
   charcoal Rococo view panel added in 4.5.0 that produced near-black text on a
   black background with no padding. These rules out-specify the protections the
   same way the action panel's carve-outs do. */
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-rococo-view {
  background: #17141C !important;
  border: 0 !important;
  border-radius: 16px;
  margin-top: 18px;
  padding: 18px 20px !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-rococo-view,
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-rococo-view p {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-opportunity-body .rgsa-v4-rococo-view > span {
  color: #d7ff69 !important;
}


/* v5 report mode: keep the site menu and footer, hide pre-assessment marketing content attached to the same block. */
body.rgsa-report-is-open .rgsa-intro:not(:has(.rgsa-v4-report)){display:none!important}
.rgsa-v4-report .rgsa-v4-dark,.rgsa-v4-report .rgsa-v4-dark *{color:#fff!important;-webkit-text-fill-color:#fff!important}

/* v5.0 final visual safeguards */
.rgsa-v4-mobile-fallback{display:flex!important;align-items:center;justify-content:center;background:#fff;color:#111!important;text-align:center;padding:8px}
.rgsa-v4-mobile-fallback span{color:#111!important;-webkit-text-fill-color:#111!important;font-size:10px;font-weight:800;line-height:1.3}
.rgsa-v4-report .rgsa-v4-toolbar a,.rgsa-v4-report .rgsa-v4-toolbar button{color:#111!important;-webkit-text-fill-color:#111!important}
.rgsa-v4-report .rgsa-button-accent,.rgsa-v4-report .rgsa-button-accent *,.rgsa-enquiry-modal .rgsa-enquiry-submit,.rgsa-enquiry-modal .rgsa-enquiry-submit *,.rgsa-enquiry-modal .rgsa-enquiry-return,.rgsa-enquiry-modal .rgsa-enquiry-return *{background:#D7FF69!important;color:#111!important;-webkit-text-fill-color:#111!important}

/* v5.2 evidence fallback. One deliberate column with no competing text blocks. */
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback {
  align-items: stretch;
  background: linear-gradient(145deg,#111 0%,#21172f 100%) !important;
  color: #ffffff !important;
  display: flex;
  justify-content: center;
  min-height: 360px;
  padding: 32px;
  text-align: left;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback > div {
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
  min-width: 0;
  width: 100%;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback span {
  color: #d7ff69 !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback strong {
  color: #d7ff69 !important;
  display: block;
  font-size: clamp(42px,6vw,72px);
  line-height: 1;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback b {
  color: #ffffff !important;
  display: block;
  font-size: 18px;
  line-height: 1.35;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback p {
  color: #eee6f4 !important;
  font-size: 15px;
  line-height: 1.55;
  margin: 4px 0 0;
  max-width: 46ch;
}
.rgsa-app .rgsa-v4-report .rgsa-v4-evidence-fallback small {
  border-top: 1px solid rgba(255,255,255,.2);
  color: #cfc6d7 !important;
  display: block;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 6px;
  padding-top: 16px;
}

/* v5.1 report isolation and premium visual fallbacks */
.rgsa-report-context-hidden{display:none!important}
.rgsa-v5-evidence-profile{background:linear-gradient(145deg,#111 0%,#20162f 100%);border-radius:22px;color:#fff;display:block;min-height:360px;padding:36px}
.rgsa-v5-evidence-profile>span{color:#D7FF69;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.rgsa-v5-evidence-profile h3{color:#fff!important;font-size:28px;line-height:1.18;margin:14px 0 12px}
.rgsa-v5-evidence-profile p{color:#eee7f4!important;font-size:15px;line-height:1.5;margin:0 0 4px}
.rgsa-v5-evidence-profile>div{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:26px}
.rgsa-v5-evidence-profile article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px}
.rgsa-v5-evidence-profile article b,.rgsa-v5-evidence-profile article small{color:#fff!important;display:block}
.rgsa-v5-evidence-profile article small{margin-top:4px;opacity:.78}
.rgsa-v5-evidence-profile>strong{color:#D7FF69!important;display:block;font-size:42px;line-height:1;margin-top:24px}
.rgsa-v5-evidence-profile>strong small{color:#fff!important;font-size:13px;font-weight:700;margin-left:8px}
.rgsa-v5-mixed-evidence{display:grid;gap:16px;grid-template-columns:1.08fr .92fr;min-height:360px}
.rgsa-v5-single-shot{background:#111;border:7px solid #111;border-radius:18px;overflow:hidden}
.rgsa-v5-single-shot img{height:100%;object-fit:cover;object-position:top;width:100%}
.rgsa-v5-goal-aligned{background:#f8f5fc;border-left:5px solid #752AEA!important}
.rgsa-v5-goal-aligned p{color:#51495b!important}
@media(max-width:820px){.rgsa-v5-mixed-evidence{grid-template-columns:1fr}.rgsa-v5-evidence-profile{min-height:300px}.rgsa-v5-single-shot{min-height:320px}}


/* v5.3.1 evidence integrity and connection settings hotfix */
.rgsa-growth-app .rgsa-v4-opportunity-body>figure.rgsa-v5-mobile-evidence{align-self:start;justify-self:center;width:min(100%,390px);max-width:390px;margin-inline:auto;background:#17141c;border:8px solid #17141c;border-radius:28px;overflow:hidden;box-shadow:0 18px 44px rgba(23,20,28,.14)}
.rgsa-growth-app .rgsa-v4-opportunity-body>figure.rgsa-v5-mobile-evidence img{display:block;width:100%;height:auto;max-height:680px;aspect-ratio:390/844;object-fit:contain;object-position:top center;background:#fff}
.rgsa-growth-app .rgsa-v4-opportunity-body>figure.rgsa-v5-mobile-evidence figcaption{padding:12px 14px;background:#17141c;color:#fff!important;font-size:12px;line-height:1.45}
.rgsa-growth-app .rgsa-v5-scope-note{margin:14px 0 0;padding:12px 14px;border-left:4px solid #752aea;border-radius:6px;background:#f1eaff;color:#17141c!important;font-size:13px;line-height:1.55}
.rgsa-growth-app .rgsa-v5-scope-note strong{display:block;margin-bottom:3px;color:#752aea!important;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
@media(max-width:760px){.rgsa-growth-app .rgsa-v4-opportunity-body>figure.rgsa-v5-mobile-evidence{max-width:320px;border-width:6px;border-radius:22px}.rgsa-growth-app .rgsa-v4-opportunity-body>figure.rgsa-v5-mobile-evidence img{max-height:610px}}

/* Revenue band scenario: honest arithmetic on the band the lead supplied,
   presented with the weight of a headline because it is the reason to reply. */
.rgsa-v4-band-scenario {
  background: #17141C;
  border-left: 6px solid #D7FF69;
  border-radius: 16px;
  color: #fff;
  margin: 24px 0;
  padding: 28px;
}

/* The !important flags are load-bearing: the WordPress theme's own heading
   colour rules outrank these otherwise, and on the Mud Pies report the band
   headline rendered dark-on-dark and vanished. */
.rgsa-app .rgsa-v4-band-scenario span,
.rgsa-growth-app .rgsa-v4-band-scenario span {
  color: #D7FF69 !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rgsa-app .rgsa-v4-band-scenario h3,
.rgsa-growth-app .rgsa-v4-band-scenario h3 {
  color: #ffffff !important;
  font-size: 24px;
  line-height: 1.3;
  margin: 10px 0;
}

.rgsa-app .rgsa-v4-band-scenario p,
.rgsa-growth-app .rgsa-v4-band-scenario p {
  color: #CFC6D7 !important;
  font-size: 14px;
  line-height: 1.55;
  margin: 0;
}

/* The one action the toolbar exists for. Explicit colours on both sides so no
   theme variable, print stylesheet or link rule can turn it into a blank pill,
   which is how it rendered on the Mud Pies report print. */
.rgsa-app .rgsa-v4-report .rgsa-v4-toolbar a.rgsa-toolbar-download,
.rgsa-growth-app .rgsa-toolbar-download {
  background: #D7FF69 !important;
  color: #17141C !important;
}

/* Long brand names, especially single unbroken words like ThreadBeardesign,
   must shrink rather than break mid-word or escape the purple panel. */
.rgsa-app .rgsa-v4-cover h1.rgsa-company-medium {
  font-size: 48px;
}

.rgsa-app .rgsa-v4-cover h1.rgsa-company-long {
  font-size: 38px;
}
