  .form-grid { display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start; }
  .side-card {
    background: var(--soft-yellow); border: 3px solid var(--ink); border-radius: 22px;
    padding: 24px; box-shadow: 6px 6px 0 var(--ink);
    position: sticky; top: 104px; /* clears the sticky nav (~81px) */
  }
  .side-card h3 { font-size: 20px; margin-bottom: 12px; }
  .step-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
  .step-list li { display: flex; gap: 12px; font-size: 14px; }
  .step-list .n {
    flex: 0 0 28px; height: 28px; border-radius: 50%;
    background: var(--paper); border: 2px solid var(--ink);
    display: grid; place-items: center; font-family: 'Caprasimo', serif; font-size: 13px;
  }
  .form-section { padding-top: 32px; border-top: 2px dashed rgba(26,20,16,0.15); margin-top: 32px; }
  .form-section:first-of-type { padding-top: 0; border-top: 0; margin-top: 0; }
  .form-section h3 { font-size: 22px; margin-bottom: 6px; }
  .form-section .sub { color: rgba(26,20,16,0.65); font-size: 14px; margin-bottom: 18px; }
  @media (max-width: 980px) { .form-grid { grid-template-columns: 1fr; } .side-card { position: static; } }
