/* ── Assessment-specific styles ── */
    .assess-wrap {
      max-width: 680px;
      margin: 0 auto;
      padding: 0 24px;
    }

    /* Progress bar */
    .progress-bar-wrap {
      background: var(--gray-200);
      border-radius: 100px;
      height: 6px;
      margin-bottom: 36px;
      overflow: hidden;
    }
    .progress-bar-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--teal), var(--amber));
      border-radius: 100px;
      transition: width .5s cubic-bezier(.4,0,.2,1);
      width: 0%;
    }

    /* Step counter */
    .step-counter {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--teal);
      margin-bottom: 10px;
    }

    /* Question card */
    .q-card {
      display: none;
      animation: fadeUp .35s ease both;
    }
    .q-card.active {
      display: block;
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(16px); }
      to   { opacity: 1; transform: translateY(0); }
    }

    .q-headline {
      font-family: 'Syne', sans-serif;
      font-size: clamp(1.25rem, 2.5vw, 1.65rem);
      font-weight: 700;
      color: var(--navy);
      line-height: 1.25;
      margin-bottom: 10px;
    }
    .q-sub {
      font-size: 15px;
      color: var(--gray-500);
      line-height: 1.65;
      margin-bottom: 28px;
      max-width: 560px;
    }

    /* Answer options */
    .options {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 32px;
    }
    .opt {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      padding: 16px 18px;
      background: #fff;
      border: 1.5px solid var(--gray-200);
      border-radius: 10px;
      cursor: pointer;
      transition: border-color .18s, box-shadow .18s, background .18s;
      text-align: left;
      width: 100%;
      font-family: 'Inter', system-ui, sans-serif;
    }
    .opt:hover {
      border-color: var(--teal);
      box-shadow: 0 0 0 3px rgba(10,124,101,.08);
    }
    .opt.selected {
      border-color: var(--teal);
      background: var(--teal-light);
      box-shadow: 0 0 0 3px rgba(10,124,101,.12);
    }
    .opt.selected .opt-check {
      background: var(--teal);
      border-color: var(--teal);
      color: #fff;
    }
    .opt-check {
      width: 22px;
      height: 22px;
      border-radius: 50%;
      border: 2px solid var(--gray-300);
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 700;
      transition: all .15s;
      margin-top: 1px;
    }
    .opt-text {
      flex: 1;
    }
    .opt-label {
      font-size: 15px;
      font-weight: 500;
      color: var(--navy);
      line-height: 1.4;
    }
    .opt-hint {
      font-size: 12.5px;
      color: var(--gray-500);
      margin-top: 3px;
      line-height: 1.45;
    }

    /* Score indicator on option */
    .opt-score {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 2px 7px;
      border-radius: 100px;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .score-good  { background: #dcfce7; color: #166534; }
    .score-warn  { background: #fef3c7; color: #92400e; }
    .score-bad   { background: #fee2e2; color: #991b1b; }

    /* Navigation buttons */
    .q-nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
    }
    .btn-back {
      background: none;
      border: 1.5px solid var(--gray-200);
      color: var(--gray-500);
      font-size: 14px;
      font-weight: 500;
      padding: 10px 18px;
      border-radius: var(--r);
      cursor: pointer;
      font-family: 'Inter', system-ui, sans-serif;
      transition: border-color .15s, color .15s;
    }
    .btn-back:hover { border-color: var(--gray-400); color: var(--navy); }
    .btn-next {
      background: var(--amber);
      color: #fff;
      border: none;
      font-size: 15px;
      font-weight: 600;
      padding: 12px 28px;
      border-radius: var(--r);
      cursor: pointer;
      font-family: 'Inter', system-ui, sans-serif;
      transition: background .2s;
      opacity: .4;
      pointer-events: none;
    }
    .btn-next.ready {
      opacity: 1;
      pointer-events: auto;
    }
    .btn-next.ready:hover { background: var(--amber-2); }

    /* Insight callout that appears after selection */
    .insight {
      display: none;
      background: var(--navy);
      border-radius: 10px;
      padding: 16px 20px;
      margin-bottom: 28px;
      animation: fadeUp .3s ease;
    }
    .insight.show { display: block; }
    .insight-label {
      font-size: 9.5px;
      text-transform: uppercase;
      letter-spacing: .14em;
      color: var(--teal-mid);
      font-weight: 600;
      margin-bottom: 6px;
    }
    .insight p {
      font-size: 14px;
      color: rgba(255,255,255,.88);
      line-height: 1.65;
      margin: 0;
    }
    .insight strong { color: #fff; }

    /* Results screen */
    #results-screen { display: none; }
    .score-dial {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      margin: 0 auto 24px;
      position: relative;
    }
    .score-number {
      font-family: 'Syne', sans-serif;
      font-size: 2.4rem;
      font-weight: 800;
      line-height: 1;
    }
    .score-label-sm {
      font-size: 11px;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
      margin-top: 4px;
    }

    .result-band {
      padding: 20px 24px;
      border-radius: 12px;
      margin-bottom: 20px;
      text-align: center;
    }
    .band-critical { background: #fee2e2; border: 1px solid #fca5a5; }
    .band-needs-work { background: #fef3c7; border: 1px solid #fcd34d; }
    .band-solid { background: var(--teal-light); border: 1px solid var(--teal-line); }

    .finding-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
      margin-bottom: 28px;
    }
    .finding-list li {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      font-size: 15px;
      color: var(--gray-700);
      line-height: 1.55;
      background: #fff;
      border: 1px solid var(--gray-200);
      border-radius: 8px;
      padding: 12px 14px;
    }
    .finding-list li span.fi { font-size: 16px; flex-shrink: 0; }

    /* Contact form */
    .contact-form-wrap {
      background: var(--navy);
      border-radius: 16px;
      padding: 32px;
      margin-top: 32px;
    }
    .contact-form-wrap h3 {
      color: #fff;
      margin-bottom: 6px;
    }
    .contact-form-wrap > p {
      color: rgba(255,255,255,.8);
      font-size: 15px;
      margin-bottom: 24px;
    }
    .contact-form-wrap .fg label { color: rgba(255,255,255,.75); }
    .contact-form-wrap .fg input,
    .contact-form-wrap .fg textarea {
      background: rgba(255,255,255,.08);
      border-color: rgba(255,255,255,.15);
      color: #fff;
    }
    .contact-form-wrap .fg input::placeholder,
    .contact-form-wrap .fg textarea::placeholder { color: rgba(255,255,255,.35); }
    .contact-form-wrap .fg input:focus,
    .contact-form-wrap .fg textarea:focus {
      border-color: var(--teal-mid);
      background: rgba(255,255,255,.1);
    }

    /* Sidebar score summary (desktop) */
    .assess-layout {
      display: grid;
      grid-template-columns: 1fr 260px;
      gap: 40px;
      max-width: 1000px;
      margin: 0 auto;
      padding: 0 28px;
      align-items: start;
    }
    .assess-sidebar {
      position: sticky;
      top: calc(var(--nh) + 24px);
    }
    .sidebar-card {
      background: #fff;
      border: 1px solid var(--gray-200);
      border-radius: 12px;
      padding: 20px;
    }
    .sidebar-card h4 {
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .1em;
      color: var(--gray-500);
      margin-bottom: 16px;
      font-family: 'Inter', system-ui, sans-serif;
    }
    .sidebar-answers { list-style: none; display: flex; flex-direction: column; gap: 10px; }
    .sidebar-answers li {
      font-size: 12.5px;
      color: var(--gray-600);
      line-height: 1.4;
      padding-bottom: 10px;
      border-bottom: 1px solid var(--gray-100);
    }
    .sidebar-answers li:last-child { border-bottom: none; padding-bottom: 0; }
    .sidebar-answers li strong { display: block; font-size: 11px; color: var(--gray-400); font-weight: 500; margin-bottom: 2px; text-transform: uppercase; letter-spacing: .05em; }

    @media(max-width: 768px) {
      .assess-layout { grid-template-columns: 1fr; }
      .assess-sidebar { display: none; }
      .contact-form-wrap { padding: 24px 20px; }
    }

    /* Submission state */
    .form-success { display: none; text-align: center; padding: 32px 20px; }
    .form-success .success-icon { font-size: 48px; margin-bottom: 16px; }
    .form-success h3 { color: #fff; margin-bottom: 10px; }
    .form-success p { color: rgba(255,255,255,.8); font-size: 15px; }