.page-template-page-assessment .kodee-fab {
  display: none !important;
}

#assessment {
  /* The homepage's live palette, copied from the .aams-home July block in
     aams.css. Nothing here is invented: RRCS must read as the same brand. */
  --rrcs-blue: #3b82f6;
  --rrcs-blue-deep: #1e40af;
  --rrcs-green: #10b981;
  --rrcs-purple: #a855f7;
  --rrcs-amber: #eab308;
  --rrcs-red: #ef4444;
  --rrcs-ink: #02040a;
  --rrcs-text: #f4f7fb;
  --rrcs-muted: #9fb1c0;
  /* The homepage builds depth from frosted white glass, not from navy fills. */
  --rrcs-glass: rgba(255, 255, 255, 0.075);
  --rrcs-line: rgba(255, 255, 255, 0.18);
  --rrcs-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 24px 58px rgba(0, 0, 0, 0.34);
  --rrcs-radius: 18px;
  min-width: 0;
  /* clip, not hidden: a hidden overflow would break the sticky flow guide */
  overflow-x: clip;
  color: var(--rrcs-text);
  background:
    radial-gradient(circle at 18% 20%, rgba(59, 130, 246, 0.22), transparent 34%),
    radial-gradient(circle at 83% 30%, rgba(168, 85, 247, 0.12), transparent 31%),
    radial-gradient(circle at 74% 88%, rgba(16, 185, 129, 0.16), transparent 35%),
    var(--rrcs-ink);
  font: 15px/1.55 Poppins, Arial, sans-serif;
}

#assessment *,
#assessment *::before,
#assessment *::after {
  box-sizing: border-box;
}

#assessment a {
  color: inherit;
  text-decoration: none;
}

#assessment button,
#assessment input,
#assessment textarea,
#assessment select {
  font: inherit;
}

#assessment button {
  cursor: pointer;
}

#assessment .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#assessment .flow-hero {
  position: relative;
  isolation: isolate;
  width: min(1140px, calc(100% - 40px));
  /* Clears the fixed bubble header, matching the theme's canonical hero offset. */
  padding: 166px 0 43px;
  margin: 0 auto;
  text-align: center;
}

#assessment .flow-hero::before,
#assessment .flow-hero::after {
  position: absolute;
  z-index: -1;
  content: "";
  border-radius: 999px;
  /* Same aurora treatment as .aams-home-aurora: wide blur, screen blend, low opacity. */
  filter: blur(76px);
  mix-blend-mode: screen;
}

#assessment .flow-hero::before {
  width: 19rem;
  height: 19rem;
  top: 60px;
  left: -5rem;
  background: var(--rrcs-blue);
  opacity: 0.2;
}

#assessment .flow-hero::after {
  width: 19rem;
  height: 19rem;
  right: -5rem;
  bottom: -3rem;
  background: var(--rrcs-purple);
  opacity: 0.16;
}

#assessment .eyebrow {
  margin: 0 0 9px;
  color: #34d399;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.9px;
  text-transform: uppercase;
}

/* The homepage title is gradient-clipped blue with an emerald second line
   (.aams-home-title-line + #rotating-text). RRCS reuses that exact treatment. */
#assessment .flow-hero h1 {
  display: block;
  width: fit-content;
  margin: 0 auto 15px;
  background: linear-gradient(135deg, #fff 10%, #93c5fd 58%, #3b82f6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font: 700 clamp(35px, 5vw, 58px)/1.08 Poppins, Arial, sans-serif;
  letter-spacing: -0.055em;
}

#assessment .flow-hero h1 span {
  display: block;
  background: none;
  -webkit-text-fill-color: #34d399;
  color: #34d399;
  text-shadow: 0 0 26px rgba(16, 185, 129, 0.28);
}

#assessment .flow-hero-lede {
  max-width: 620px;
  margin: 0 auto;
  color: #d5deea;
  font-size: 17px;
  line-height: 1.65;
}

#assessment .flow-hero-meaning {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 760px;
  margin: 26px auto 0;
}

#assessment .flow-hero-meaning div {
  position: relative;
  flex: 1 1 190px;
  max-width: 230px;
  padding: 19px 20px;
  border: 1px solid var(--rrcs-line);
  border-radius: 14px;
  background: var(--rrcs-glass);
  box-shadow: var(--rrcs-shadow);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  text-align: left;
}

/* Risk, Role and Compliance Score each carry their own light, drawn the same way
   the homepage marks .aams-home-route: a short rule at the top-left corner. */
#assessment .flow-hero-meaning div::before {
  position: absolute;
  top: -1px;
  left: 20px;
  width: 42px;
  height: 2px;
  background: var(--rrcs-blue);
  content: "";
}

#assessment .flow-hero-meaning div:nth-child(2)::before {
  background: var(--rrcs-purple);
}

#assessment .flow-hero-meaning div:nth-child(3)::before {
  background: var(--rrcs-green);
}

#assessment .flow-hero-meaning b {
  display: block;
  margin-bottom: 3px;
  color: #93c5fd;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

#assessment .flow-hero-meaning div:nth-child(2) b {
  color: #d3b0fb;
}

#assessment .flow-hero-meaning div:nth-child(3) b {
  color: #6ee7b7;
}

#assessment .flow-hero-meaning span {
  display: block;
  color: #c0ccda;
  font-size: 12.5px;
  line-height: 1.45;
}

#assessment .flow-hero-credit {
  max-width: 620px;
  margin: 18px auto 0;
  color: var(--rrcs-muted);
  font-size: 12px;
  line-height: 1.6;
}

#assessment.aams-assessment-entry {
  display: grid;
  min-height: min(680px, calc(100vh - 96px));
  place-items: center;
  padding: 76px 24px 94px;
}

#assessment .aams-assessment-gate {
  width: min(100%, 690px);
  padding: clamp(30px, 6vw, 58px);
  border: 1px solid rgba(59, 130, 246, 0.35);
  border-radius: 18px;
  background: linear-gradient(125deg, rgba(30, 64, 175, 0.27), rgba(15, 23, 42, 0.72) 52%, rgba(16, 185, 129, 0.18));
  box-shadow: var(--rrcs-shadow);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  text-align: center;
}

#assessment .aams-assessment-gate h1,
#assessment .aams-assessment-gate h2 {
  max-width: 560px;
  margin: 0 auto;
  color: #fff;
  font: 750 clamp(31px, 5vw, 51px)/1.06 Poppins, Arial, sans-serif;
  letter-spacing: -0.055em;
}

#assessment .aams-assessment-gate > p:not(.eyebrow):not(.aams-assessment-gate__note) {
  max-width: 550px;
  margin: 18px auto 0;
  color: #bfd0dc;
}

#assessment .aams-assessment-gate__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 31px;
}

#assessment .aams-assessment-gate__note {
  max-width: 530px;
  padding-top: 18px;
  margin: 27px auto 0;
  border-top: 1px solid var(--rrcs-line);
  color: #8fa7b8;
  font-size: 12px;
}

#assessment .flow-layout {
  display: grid;
  /* Same measure as .aams-container, so hero, questionnaire and the site
     header all sit on one column edge instead of three different widths. */
  grid-template-columns: 216px minmax(0, 720px);
  justify-content: center;
  gap: 30px;
  width: min(1140px, calc(100% - 40px));
  padding: 7px 0 85px;
  margin: 0 auto;
}

#assessment .flow-guide {
  position: sticky;
  /* Clears the fixed header when the sidebar sticks during a long question. */
  top: 96px;
  align-self: start;
  padding: 19px 18px;
  border: 1px solid var(--rrcs-line);
  border-radius: 16px;
  background: var(--rrcs-glass);
  box-shadow: var(--rrcs-shadow);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

#assessment .flow-guide strong {
  color: #fff;
  font: 700 30px/1 Poppins, Arial, sans-serif;
  letter-spacing: -1px;
}

#assessment .flow-guide strong small {
  color: #92a7b8;
  font: 400 12px Poppins, sans-serif;
  letter-spacing: 0;
}

#assessment .progress-track {
  height: 4px;
  overflow: hidden;
  margin: 17px 0 11px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.14);
}

#assessment .progress-track i {
  display: block;
  width: 5%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3b82f6, #10b981);
  transition: width 0.35s ease;
}

#assessment .flow-guide > #section-label {
  margin: 0;
  color: #cfdae2;
  font-size: 11px;
  font-weight: 600;
}

#assessment .guide-note {
  display: flex;
  gap: 8px;
  padding-top: 15px;
  margin-top: 17px;
  border-top: 1px solid var(--rrcs-line);
  color: #91a6b8;
}

#assessment .guide-note span {
  display: grid;
  place-items: center;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(52, 211, 153, 0.45);
  border-radius: 50%;
  color: #34d399;
  font-size: 10px;
  font-weight: 700;
}

#assessment .guide-note p {
  margin: 0;
  font-size: 10px;
  line-height: 1.55;
}

#assessment .question-flow {
  min-width: 0;
}

#assessment .flow-panel,
#assessment .finish-panel {
  padding: clamp(25px, 5vw, 45px);
  border: 1px solid var(--rrcs-line);
  border-radius: var(--rrcs-radius);
  background: var(--rrcs-glass);
  box-shadow: var(--rrcs-shadow);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  animation: rrcs-panel-in 0.35s ease both;
}

#assessment .flow-panel[hidden],
#assessment .finish-panel[hidden] {
  display: none;
}

#assessment .panel-step {
  margin: 0 0 12px;
  color: #34d399;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

#assessment .flow-panel h2,
#assessment .finish-panel h2 {
  max-width: 620px;
  margin: 0;
  color: #fff;
  /* A question is a form label, not a page title: kept below the hero scale. */
  font: 700 clamp(22px, 2.3vw, 28px)/1.2 Poppins, Arial, sans-serif;
  letter-spacing: -0.9px;
}

#assessment .flow-panel h3,
#assessment .finish-panel h3 {
  margin: 28px 0 12px;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
}

#assessment .panel-help {
  max-width: 585px;
  margin: 14px 0 28px;
  color: #aec0ce;
  font-size: 13px;
}

#assessment .field-label {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 18px 0 7px;
  color: #d5e2eb;
  font-size: 12px;
  font-weight: 600;
}

#assessment .field-label span,
#assessment .field-help {
  color: #879dae;
  font-size: 10px;
  font-weight: 400;
}

#assessment .field-help {
  margin: 9px 0 0;
  line-height: 1.55;
}

#assessment .flow-panel input:not([type="radio"]):not([type="checkbox"]),
#assessment .flow-panel textarea,
#assessment .flow-panel select {
  width: 100%;
  padding: 14px 15px;
  outline: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 11px;
  color: #fff;
  background: rgba(2, 6, 16, 0.42);
}

#assessment .flow-panel textarea {
  resize: vertical;
}

#assessment .flow-panel input:focus-visible,
#assessment .flow-panel textarea:focus-visible,
#assessment .flow-panel select:focus-visible,
#assessment button:focus-visible,
#assessment a:focus-visible {
  outline: 2px solid var(--rrcs-blue);
  outline-offset: 3px;
  border-color: var(--rrcs-blue);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.16);
}

#assessment .flow-panel select {
  appearance: auto;
}

#assessment .flow-panel option {
  color: #06131d;
}

#assessment .answer-set {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  border: 0;
}

#assessment .answer-set label {
  position: relative;
}

#assessment .answer-set input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

#assessment .answer-set span {
  display: block;
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 11px;
  color: #c0ccda;
  background: rgba(255, 255, 255, 0.05);
  font-size: 13px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

#assessment .answer-set label:hover span {
  border-color: rgba(147, 197, 253, 0.5);
  background: rgba(59, 130, 246, 0.12);
  color: #eaf2ff;
}

#assessment .answer-set input:focus-visible + span {
  outline: 2px solid var(--rrcs-blue);
  outline-offset: 3px;
}

#assessment .answer-set input:checked + span {
  border-color: rgba(59, 130, 246, 0.85);
  color: #fff;
  background: linear-gradient(110deg, rgba(59, 130, 246, 0.22), rgba(16, 185, 129, 0.16));
}

#assessment .answer-set.stacked span {
  padding: 12px 14px;
  line-height: 1.4;
}

#assessment .select-answer {
  display: block;
}

#assessment .answer-set.inline {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#assessment .answer-set.inline span {
  padding: 10px 8px;
  font-size: 12.5px;
  text-align: center;
}

#assessment .sub-question {
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px solid var(--rrcs-line);
}

#assessment .sub-question:first-of-type {
  padding-top: 0;
  margin-top: 6px;
  border-top: 0;
}

#assessment .sub-question h3 {
  margin: 0 0 9px;
  color: #e7eef5;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.45;
}

#assessment .sub-help {
  margin: -4px 0 9px;
  color: var(--rrcs-muted);
  font-size: 12px;
  line-height: 1.5;
}

#assessment .evidence-grid {
  display: grid;
  gap: 9px;
  margin-top: 6px;
}

#assessment .evidence-row {
  display: grid;
  grid-template-columns: 1fr 168px;
  gap: 14px;
  align-items: center;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.05);
}

#assessment .evidence-row .evidence-label {
  color: #c8d5de;
  font-size: 12.5px;
  line-height: 1.45;
}

#assessment .evidence-row select {
  min-height: 40px;
}

#assessment .panel-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}

#assessment .panel-actions > span {
  min-height: 1px;
}

#assessment .next-button,
#assessment .finish-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  /* Identical recipe to .aams-home .aams-button-primary. */
  min-height: 48px;
  padding: 12px 21px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(110deg, #3b82f6, #10b981);
  box-shadow: 0 18px 45px rgba(16, 185, 129, 0.18);
  font-weight: 700;
}

#assessment .next-button:hover,
#assessment .finish-button:hover {
  filter: brightness(1.07);
}

#assessment .next-button:disabled,
#assessment .finish-button:disabled {
  cursor: wait;
  opacity: 0.62;
}

#assessment .next-button b,
#assessment .finish-button b {
  font-size: 18px;
  line-height: 0.8;
}

#assessment .back-button {
  min-height: 40px;
  padding: 8px 0;
  border: 0;
  color: #9eb3c4;
  background: transparent;
  font-size: 12px;
}

#assessment .back-button:hover {
  color: #34d399;
}

#assessment .auto-next {
  color: #8299ac;
  font-size: 10px;
}

#assessment .confirm-answer {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 15px;
  border: 1px solid rgba(52, 211, 153, 0.3);
  border-radius: 12px;
  color: #eafff3;
  background: rgba(16, 185, 129, 0.1);
  cursor: pointer;
}

#assessment .confirm-answer + .confirm-answer {
  margin-top: 10px;
}

#assessment .confirm-answer--optional {
  border-color: rgba(255, 255, 255, 0.15);
  color: #c0ccda;
  background: rgba(255, 255, 255, 0.045);
}

#assessment .confirm-answer input {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin-top: 2px;
  accent-color: #10b981;
}

#assessment .finish-panel {
  min-height: 330px;
}

#assessment .finish-panel > p {
  max-width: 580px;
  color: #b6c7d2;
}

#assessment .rrcs-result-summary {
  margin: 18px 0 24px;
  font-size: 15px;
}

#assessment .rrcs-result-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

#assessment .rrcs-result-fact {
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
}

#assessment .rrcs-result-fact dt {
  margin-bottom: 5px;
  color: #7f98ab;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

#assessment .rrcs-result-fact dd {
  margin: 0;
  color: #eef8ff;
  font-size: 13px;
  font-weight: 600;
}

#assessment .rrcs-priority-list {
  display: grid;
  gap: 9px;
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: rrcs-priority;
}

#assessment .rrcs-priority-list li {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: #c9d8e2;
  font-size: 13px;
  counter-increment: rrcs-priority;
}

#assessment .rrcs-priority-list li::before {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: 50%;
  color: #34d399;
  content: counter(rrcs-priority);
  font-size: 10px;
  font-weight: 700;
}

#assessment .rrcs-result-note,
#assessment .rrcs-save-status {
  margin: 22px 0 0;
  color: #8299ac;
  font-size: 11px;
}

@media (prefers-reduced-motion: reduce) {
  #assessment .flow-panel,
  #assessment .finish-panel {
    animation: none;
  }
}

@keyframes rrcs-panel-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 760px) {
  #assessment .flow-hero {
    padding: 132px 24px 33px;
  }

  #assessment .flow-layout {
    grid-template-columns: 1fr;
    padding: 0 18px 55px;
  }

  #assessment .flow-guide {
    position: static;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 16px;
    align-items: center;
  }

  #assessment .flow-guide .eyebrow {
    grid-column: 1 / -1;
  }

  #assessment .flow-guide .progress-track {
    margin: 0;
  }

  #assessment .flow-guide > #section-label {
    grid-column: 2;
  }

  #assessment .guide-note {
    grid-column: 1 / -1;
  }

  #assessment .flow-panel input:not([type="radio"]):not([type="checkbox"]),
  #assessment .flow-panel textarea,
  #assessment .flow-panel select {
    min-height: 48px;
    font-size: 16px;
  }

  #assessment .flow-panel textarea {
    min-height: 120px;
  }

  #assessment .panel-actions .next-button,
  #assessment .panel-actions .finish-button,
  #assessment .panel-actions .back-button {
    min-height: 48px;
  }
}

@media (max-width: 480px) {
  #assessment .flow-hero h1 {
    letter-spacing: -1.7px;
  }

  #assessment .flow-panel,
  #assessment .finish-panel {
    padding: 25px 18px;
    border-radius: 17px;
  }

  #assessment .panel-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  #assessment .panel-actions .next-button,
  #assessment .panel-actions .finish-button {
    width: 100%;
  }

  #assessment .auto-next {
    order: 2;
  }

  #assessment .rrcs-result-facts {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  #assessment *,
  #assessment *::before,
  #assessment *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

/* RRCS interaction refinements: preserve the July visual language while keeping
   the first decision and its controls comfortably within a mobile session. */
#assessment .flow-layout {
  gap: 24px;
}

#assessment .flow-panel,
#assessment .finish-panel {
  border-radius: 16px;
}

#assessment .answer-set span {
  min-height: 50px;
  display: flex;
  align-items: center;
}

#assessment .answer-set label:hover span {
  transform: none;
}

@media (max-width: 760px) {
  #assessment .flow-hero {
    max-width: 460px;
    padding: 128px 20px 22px;
  }

  #assessment .flow-hero::before,
  #assessment .flow-hero::after {
    opacity: 0.64;
  }

  #assessment .flow-hero h1 {
    max-width: 360px;
    margin-bottom: 12px;
    font-size: clamp(32px, 9vw, 40px);
    line-height: 1.04;
    letter-spacing: -1.8px;
  }

  #assessment .flow-hero-lede {
    max-width: 350px;
    font-size: 14px;
    line-height: 1.5;
  }

  #assessment .flow-hero-meaning {
    margin-top: 18px;
  }

  /* Stack the three cards rather than leaving the third one orphaned. */
  #assessment .flow-hero-meaning div {
    flex: 1 1 100%;
    max-width: none;
  }

  #assessment .flow-hero-credit {
    max-width: 340px;
    font-size: 11px;
  }

  #assessment .flow-layout {
    gap: 14px;
    padding: 0 12px 42px;
  }

  #assessment .flow-guide {
    column-gap: 12px;
    padding: 13px 14px;
    border-radius: 14px;
  }

  #assessment .flow-guide strong {
    font-size: 25px;
  }

  /* Short yes/no/not-sure sets stay on one row: stacking them turned a grouped
     panel into nine full-width rows of scrolling. */
  #assessment .answer-set.inline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  #assessment .answer-set.inline span {
    min-height: 46px;
    padding: 9px 6px;
    font-size: 12.5px;
    line-height: 1.3;
    text-align: center;
  }

  #assessment .evidence-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  #assessment .flow-guide strong small {
    font-size: 11px;
  }

  #assessment .flow-guide .eyebrow {
    margin-bottom: 7px;
    font-size: 9px;
  }

  #assessment .flow-guide > #section-label {
    font-size: 10px;
    line-height: 1.35;
  }

  #assessment .guide-note {
    gap: 7px;
    padding-top: 10px;
    margin-top: 10px;
  }

  #assessment .guide-note p {
    font-size: 10px;
    line-height: 1.42;
  }

  #assessment .flow-panel,
  #assessment .finish-panel {
    padding: 23px 18px;
    border-radius: 14px;
  }

  #assessment .panel-step {
    margin-bottom: 9px;
    font-size: 10px;
  }

  #assessment .flow-panel h2,
  #assessment .finish-panel h2 {
    font-size: clamp(26px, 8vw, 32px);
    line-height: 1.1;
    letter-spacing: -1.25px;
  }

  #assessment .panel-help {
    margin: 11px 0 22px;
    font-size: 13px;
    line-height: 1.48;
  }

  #assessment .field-label {
    margin-top: 15px;
  }

  #assessment .answer-set {
    gap: 8px;
  }

  #assessment .answer-set span {
    min-height: 52px;
    padding: 13px 14px;
    font-size: 14px;
  }

  #assessment .panel-actions {
    gap: 10px;
    margin-top: 23px;
  }

  #assessment .panel-actions .next-button,
  #assessment .panel-actions .finish-button,
  #assessment .panel-actions .back-button {
    min-height: 50px;
  }

  #assessment.aams-assessment-entry {
    min-height: auto;
    padding: 36px 14px 52px;
  }

  #assessment .aams-assessment-gate {
    padding: 31px 20px;
    border-radius: 16px;
  }

  #assessment .aams-assessment-gate h1,
  #assessment .aams-assessment-gate h2 {
    font-size: clamp(30px, 9vw, 38px);
  }

  #assessment .aams-assessment-gate__actions {
    align-items: stretch;
    margin-top: 25px;
  }

  #assessment .aams-assessment-gate__actions a {
    width: 100%;
  }
}

/* Quick assessment: follow-ups that appear inside a screen rather than adding
   one. They must read as part of the question above, not as a new panel. */
#assessment .sub-question[hidden],
#assessment .evidence-row[hidden],
#assessment .reveal-block[hidden] {
  display: none;
}

#assessment .sub-question[data-reveal],
#assessment .reveal-block {
  position: relative;
  padding: 14px 15px;
  margin-top: 15px;
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 13px;
  background: rgba(59, 130, 246, 0.07);
}

#assessment .sub-question[data-reveal] {
  border-top: 1px solid rgba(59, 130, 246, 0.3);
}

#assessment .sub-question[data-reveal] h3 {
  margin-top: 0;
}

#assessment .reveal-note {
  margin: 0;
  color: #cfdcea;
  font-size: 12.5px;
  line-height: 1.55;
}

#assessment .reveal-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 12px;
}

#assessment .reveal-choice {
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 11px;
  color: #e8f1f8;
  background: rgba(255, 255, 255, 0.06);
  font: 600 12.5px/1 Poppins, Arial, sans-serif;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease;
}

#assessment .reveal-choice:first-child {
  border-color: rgba(52, 211, 153, 0.4);
  background: rgba(16, 185, 129, 0.14);
}

#assessment .reveal-choice:hover {
  border-color: rgba(59, 130, 246, 0.55);
  background: rgba(59, 130, 246, 0.16);
}

#assessment .rrcs-detail-list {
  padding: 0;
  margin: 10px 0 22px;
  list-style: none;
}

#assessment .rrcs-detail-list li {
  padding: 11px 13px;
  border: 1px solid var(--rrcs-line);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.045);
}

#assessment .rrcs-detail-list li + li {
  margin-top: 8px;
}

#assessment .rrcs-detail-list b {
  display: block;
  color: #e9f1f8;
  font-size: 13px;
  font-weight: 600;
}

#assessment .rrcs-detail-list span {
  display: block;
  margin-top: 4px;
  color: var(--rrcs-muted);
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  #assessment .sub-question[data-reveal],
  #assessment .reveal-block {
    padding: 13px;
  }

  #assessment .reveal-choice {
    flex: 1 1 100%;
    min-height: 48px;
  }
}

/* An optional follow-up is offered, never demanded, so it says so next to the
   question rather than only in the help text below it. */
#assessment .optional-tag {
  display: inline-block;
  padding: 2px 7px;
  margin-left: 6px;
  border: 1px solid rgba(148, 163, 184, 0.4);
  border-radius: 999px;
  color: #9fb3c4;
  font-size: 9.5px;
  font-weight: 600;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  vertical-align: middle;
}

/* Guest preview. The visitor pages through the assessment exactly as it is
   asked, one screen at a time, but every field is disabled and the screen's own
   controls are replaced by plain Previous/Next paging. The follow-ups that
   normally appear only for certain answers are shown in place, captioned, so
   the preview does not understate what the assessment covers. */
#assessment[data-rrcs-preview] .sub-question[hidden] {
  display: block;
}

#assessment[data-rrcs-preview] .evidence-row[hidden] {
  display: grid;
}

#assessment[data-rrcs-preview] .reveal-block,
#assessment[data-rrcs-preview] .panel-actions,
#assessment[data-rrcs-preview] .finish-panel {
  display: none;
}

#assessment[data-rrcs-preview] .sub-question[data-reveal]::after {
  content: "Follow-up: asked only when your answers call for it";
  display: block;
  margin-top: 11px;
  color: #8fa7b8;
  font-size: 10.5px;
  letter-spacing: 0.3px;
}

#assessment[data-rrcs-preview] fieldset,
#assessment[data-rrcs-preview] textarea,
#assessment[data-rrcs-preview] select,
#assessment[data-rrcs-preview] input {
  opacity: 0.72;
}

#assessment[data-rrcs-preview] :disabled {
  cursor: not-allowed;
}

#assessment .rrcs-preview-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  margin-top: 16px;
  border: 1px solid var(--rrcs-line);
  border-radius: 14px;
  background: var(--rrcs-glass);
  box-shadow: var(--rrcs-shadow);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}

#assessment .rrcs-preview-step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid rgba(59, 130, 246, 0.34);
  border-radius: 11px;
  background: rgba(59, 130, 246, 0.1);
  color: #dbe8f6;
  font-size: 13px;
  font-weight: 600;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

#assessment .rrcs-preview-step svg {
  width: 17px;
  height: 17px;
  flex: none;
}

#assessment .rrcs-preview-step:hover:not(:disabled) {
  border-color: rgba(59, 130, 246, 0.6);
  background: rgba(59, 130, 246, 0.19);
  transform: translateY(-1px);
}

#assessment .rrcs-preview-step:disabled {
  opacity: 0.36;
  cursor: not-allowed;
}

#assessment .rrcs-preview-count {
  margin: 0;
  color: #8fa7b8;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-align: center;
}

#assessment .rrcs-preview-gate {
  display: grid;
  place-items: center;
  padding: 0 24px;
}

#assessment .rrcs-preview-gate--foot {
  padding-top: 34px;
  padding-bottom: 78px;
}

#assessment .rrcs-preview-gate .aams-assessment-gate {
  padding: clamp(24px, 4vw, 38px);
}

#assessment .rrcs-preview-gate .aams-assessment-gate h2 {
  font-size: clamp(23px, 3.2vw, 33px);
}

/* Raised on every result, so it reads as a standing caveat rather than a
   finding produced by this particular set of answers. */
#assessment .rrcs-result-flag {
  padding: 12px 14px;
  margin: 22px 0 0;
  border: 1px solid rgba(245, 158, 11, 0.38);
  border-left-width: 3px;
  border-radius: 11px;
  background: rgba(245, 158, 11, 0.08);
  color: #f3ddb6;
  font-size: 12px;
  line-height: 1.55;
}

@media (max-width: 560px) {
  #assessment .rrcs-preview-nav {
    padding: 12px;
    gap: 8px;
  }

  #assessment .rrcs-preview-step {
    padding: 10px 12px;
  }

  #assessment .rrcs-preview-count {
    font-size: 10px;
  }
}

/* Moving to a screen brings its question to the top of the viewport, clear of
   the fixed site header. The heading takes focus so it is announced; that focus
   is programmatic, so it must not draw a ring. */
#assessment .flow-panel h2,
#assessment .finish-panel h2 {
  scroll-margin-top: 108px;
}

#assessment .flow-panel h2:focus,
#assessment .finish-panel h2:focus {
  outline: none;
}

@media (max-width: 780px) {
  #assessment .flow-panel h2,
  #assessment .finish-panel h2 {
    scroll-margin-top: 84px;
  }
}
