/* ── Assessment layout ── */
    .assessment-wrap {
      max-width: 780px;
      margin: 0 auto;
    }

    /* Progress bar */
    .progress-bar-wrap {
      background: var(--clr-border);
      border-radius: 99px;
      height: 8px;
      margin-bottom: .6rem;
      overflow: hidden;
    }
    .progress-bar-fill {
      height: 100%;
      background: var(--gradient-hero);
      border-radius: 99px;
      transition: width .4s ease;
    }
    .progress-label {
      font-size: .8rem;
      color: var(--clr-gray);
      font-family: var(--font-heading);
      font-weight: 600;
      margin-bottom: 2rem;
    }

    /* Category header */
    .category-header {
      display: flex;
      align-items: center;
      gap: .75rem;
      margin-bottom: 1.25rem;
      padding-bottom: 1rem;
      border-bottom: 2px solid var(--clr-border);
    }
    .category-icon {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      background: var(--gradient-hero);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 1rem;
      flex-shrink: 0;
    }
    .category-title {
      font-family: var(--font-heading);
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--clr-dark);
    }
    .category-subtitle {
      font-size: .82rem;
      color: var(--clr-gray);
    }

    /* Question cards */
    .question-card {
      background: var(--clr-white);
      border: 1px solid var(--clr-border);
      border-radius: var(--radius-lg);
      padding: 1.4rem 1.5rem;
      margin-bottom: 1rem;
      box-shadow: var(--shadow-sm);
      transition: border-color .2s;
    }
    .question-card.answered { border-color: var(--clr-cyan); }
    .question-text {
      font-weight: 600;
      font-size: .95rem;
      color: var(--clr-dark);
      margin-bottom: 1rem;
      line-height: 1.5;
    }
    .question-why {
      font-size: .8rem;
      color: var(--clr-gray);
      margin-bottom: 1rem;
      padding: .5rem .75rem;
      background: var(--clr-light);
      border-radius: var(--radius-sm);
      border-left: 3px solid var(--clr-cyan);
      line-height: 1.5;
    }
    .answer-options {
      display: flex;
      gap: .6rem;
      flex-wrap: wrap;
    }
    .answer-btn {
      padding: .55rem 1.25rem;
      border: 2px solid var(--clr-border);
      border-radius: var(--radius-xl);
      background: none;
      font-family: var(--font-heading);
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-gray);
      cursor: pointer;
      transition: var(--transition);
    }
    .answer-btn:hover { border-color: var(--clr-blue); color: var(--clr-blue); }
    .answer-btn.selected-yes  { background: #f0fff4; border-color: #48bb78; color: #276749; }
    .answer-btn.selected-partial { background: #fffaf0; border-color: #ed8936; color: #7b341e; }
    .answer-btn.selected-no   { background: #fff5f5; border-color: #e53e3e; color: #c53030; }

    /* Navigation */
    .assessment-nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: 2rem;
      padding-top: 1.5rem;
      border-top: 1px solid var(--clr-border);
    }
    .section-counter {
      font-family: var(--font-heading);
      font-size: .85rem;
      font-weight: 600;
      color: var(--clr-gray);
    }

    /* ── Results ── */
    #resultsSection { display: none; }

    .risk-gauge-wrap {
      text-align: center;
      margin-bottom: 2.5rem;
    }
    .risk-score-circle {
      width: 160px;
      height: 160px;
      border-radius: 50%;
      margin: 0 auto 1.25rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border: 8px solid var(--risk-color, #e53e3e);
      position: relative;
    }
    .risk-score-number {
      font-family: var(--font-heading);
      font-size: 2.8rem;
      font-weight: 800;
      color: var(--clr-dark);
      line-height: 1;
    }
    .risk-score-label {
      font-size: .8rem;
      color: var(--clr-gray);
      font-family: var(--font-heading);
    }
    .risk-rating-badge {
      display: inline-block;
      padding: .5rem 1.75rem;
      border-radius: var(--radius-xl);
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 1rem;
      margin-bottom: .75rem;
    }
    .risk-high   { background: #fff5f5; color: #c53030; border: 2px solid #fed7d7; }
    .risk-medium { background: #fffaf0; color: #7b341e; border: 2px solid #fbd38d; }
    .risk-low    { background: #f0fff4; color: #276749; border: 2px solid #c6f6d5; }
    .risk-summary-text {
      max-width: 520px;
      margin: 0 auto;
      font-size: .95rem;
      color: var(--clr-gray);
      line-height: 1.7;
    }

    /* Category scores */
    .cat-scores-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
      margin-bottom: 2.5rem;
    }
    @media(max-width: 700px) { .cat-scores-grid { grid-template-columns: 1fr 1fr; } }
    @media(max-width: 440px) { .cat-scores-grid { grid-template-columns: 1fr; } }

    .cat-score-card {
      background: var(--clr-white);
      border: 1px solid var(--clr-border);
      border-top: 4px solid var(--cat-color, var(--clr-border));
      border-radius: var(--radius-md);
      padding: 1.1rem;
      text-align: center;
      box-shadow: var(--shadow-sm);
    }
    .cat-score-icon { font-size: 1.4rem; margin-bottom: .4rem; }
    .cat-score-name { font-family: var(--font-heading); font-size: .8rem; font-weight: 700; color: var(--clr-dark); margin-bottom: .4rem; }
    .cat-score-pct  { font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; color: var(--clr-dark); }
    .cat-score-sub  { font-size: .72rem; color: var(--clr-gray); }

    /* Recommendations */
    .reco-list { list-style: none; padding: 0; margin: 0; }
    .reco-item {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1.1rem 1.25rem;
      border-bottom: 1px solid var(--clr-border);
      background: var(--clr-white);
    }
    .reco-item:first-child { border-radius: var(--radius-md) var(--radius-md) 0 0; }
    .reco-item:last-child  { border-radius: 0 0 var(--radius-md) var(--radius-md); border-bottom: none; }
    .reco-item:only-child  { border-radius: var(--radius-md); border-bottom: none; }
    .reco-icon {
      width: 34px; height: 34px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: .85rem; flex-shrink: 0;
    }
    .reco-icon.urgent { background: #fff5f5; color: #e53e3e; }
    .reco-icon.soon   { background: #fffaf0; color: #c05621; }
    .reco-icon.good   { background: #f0fff4; color: #276749; }
    .reco-body { flex: 1; }
    .reco-title { font-weight: 700; font-size: .9rem; color: var(--clr-dark); margin-bottom: .25rem; }
    .reco-desc  { font-size: .83rem; color: var(--clr-gray); line-height: 1.55; }
    .reco-priority {
      font-size: .73rem; font-weight: 700; padding: .2rem .65rem;
      border-radius: var(--radius-xl); white-space: nowrap; align-self: flex-start; flex-shrink: 0;
    }
    .reco-priority.urgent { background: #fff5f5; color: #c53030; }
    .reco-priority.soon   { background: #fffaf0; color: #7b341e; }
    .reco-priority.good   { background: #f0fff4; color: #276749; }

    .all-good-box {
      background: #f0fff4;
      border: 1px solid #c6f6d5;
      border-radius: var(--radius-md);
      padding: 2rem;
      text-align: center;
      color: #276749;
    }
    .all-good-box i { font-size: 2rem; margin-bottom: .75rem; display: block; }

    /* Results CTA */
    .results-cta {
      background: var(--gradient-hero);
      border-radius: var(--radius-lg);
      padding: 2.5rem;
      text-align: center;
      color: #fff;
      margin-top: 2.5rem;
    }
    .results-cta h3 { color: #fff; margin-bottom: .75rem; }
    .results-cta p  { color: rgba(255,255,255,.82); margin-bottom: 1.5rem; }
    .results-cta .btn-group { justify-content: center; }

    /* Print */
    @media print {
      header, .trust-bar, #assessmentSection, footer, .float-chat,
      .results-cta .btn-group, .assessment-nav { display: none !important; }
      #resultsSection { display: block !important; }
    }