    * { margin: 0; padding: 0; box-sizing: border-box; }
    body {
      background: #F5C02E;
      color: #000;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      font-family: 'Montserrat', sans-serif;
    }
    .container {
      width: 100%;
      max-width: 960px;
      background: #fff;
      border-radius: 20px;
      padding: 28px;
      border: 3px solid #5B2D18;
      box-shadow: 0 10px 25px rgba(91,45,24,.2);
      position: relative;
      overflow: hidden;
    }
    .hero {
      text-align: center;
      margin-bottom: 10px;
    }
    .hero img {
      width: 170px;
      height: auto;
      filter: drop-shadow(0 6px 10px rgba(0,0,0,.15));
    }
    .hero h1 {
      font-family: 'Patua One', serif;
      color: #5B2D18;
      margin-top: 6px;
      font-size: 2rem;
    }
    .hero p {
      margin-top: 6px;
      color: #333;
      font-size: .98rem;
    }
    .progress-bar {
      height: 10px;
      background: #F9E19E;
      border-radius: 8px;
      margin: 12px 0 18px;
      overflow: hidden;
    }
    .progress {
      height: 100%;
      width: 0%;
      background: #5B2D18;
      transition: width .35s ease;
    }
    .question {
      display: none;
      padding: 18px;
      margin-bottom: 14px;
      border-radius: 14px;
      border: 2px solid #F5C02E;
      background: rgba(245,192,46,.1);
    }
    .question.active {
      display: block;
      animation: fadeIn .3s ease;
    }
    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    .question-title {
      font-family: 'Patua One', serif;
      color: #5B2D18;
      font-size: 1.25rem;
      margin-bottom: 12px;
      line-height: 1.3;
    }
    .question-help {
      color: #5b5b5b;
      margin-bottom: 12px;
      font-size: .95rem;
    }
    .options-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .option-card {
      border: 2px solid #f0d27a;
      border-radius: 12px;
      padding: 12px;
      background: #fff;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      display: flex;
      align-items: center;
      gap: 10px;
      outline: none;
    }
    .option-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 5px 12px rgba(91,45,24,.16);
    }
    .option-card.selected {
      border-color: #5B2D18;
      background: #fff8ea;
    }
    .option-card img {
      width: 42px;
      height: 42px;
      object-fit: contain;
      flex-shrink: 0;
    }
    .matrix {
      display: grid;
      gap: 10px;
    }
    .matrix-row {
      background: #fff;
      border: 2px solid #f0d27a;
      border-radius: 12px;
      padding: 10px;
    }
    .matrix-label {
      font-weight: 700;
      color: #5B2D18;
      margin-bottom: 8px;
      font-size: .95rem;
    }
    .matrix-options {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .matrix-option {
      border: 2px solid #f0d27a;
      border-radius: 10px;
      background: #fff;
      padding: 8px 6px;
      text-align: center;
      font-size: .9rem;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 4px;
      outline: none;
    }
    .matrix-option img {
      width: 35px;
      height: 35px;
      object-fit: contain;
    }
    .matrix-option.selected {
      border-color: #5B2D18;
      background: #fff8ea;
      font-weight: 700;
    }
    .matrix-extra {
      margin-top: 10px;
      display: grid;
      gap: 8px;
    }
    .matrix-extra-label {
      font-size: .9rem;
      color: #5B2D18;
      font-weight: 700;
    }
    .matrix-text-area {
      min-height: 84px;
    }
    .matrix-file-input {
      padding: 10px;
      background: #fff;
    }
    .nps-wrap {
      display: grid;
      grid-template-columns: repeat(11, minmax(0, 1fr));
      gap: 6px;
    }
    .nps-btn {
      border: 2px solid #f0d27a;
      border-radius: 10px;
      background: #fff;
      padding: 10px 0;
      text-align: center;
      cursor: pointer;
      font-weight: 700;
      user-select: none;
    }
    .nps-btn.selected {
      border-color: #5B2D18;
      background: #fff8ea;
    }
    .text-area, .text-input {
      width: 100%;
      border: 2px solid #f0d27a;
      border-radius: 10px;
      padding: 12px;
      font-family: 'Montserrat', sans-serif;
      font-size: .95rem;
      resize: vertical;
      background: #fff;
    }
    .text-area { min-height: 110px; }
    .contact-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .code-gate {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
      margin-bottom: 12px;
    }
    .code-gate .text-input {
      margin: 0;
      text-transform: uppercase;
    }
    .inline-btn {
      border: 0;
      border-radius: 10px;
      padding: 10px 14px;
      font-weight: 700;
      font-size: .92rem;
      cursor: pointer;
      background: #5B2D18;
      color: #fff;
    }
    .navigation {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-top: 8px;
    }
    button {
      border: 0;
      border-radius: 50px;
      padding: 12px 22px;
      font-weight: 700;
      font-size: 1rem;
      cursor: pointer;
      transition: transform .16s ease, box-shadow .16s ease;
      font-family: 'Montserrat', sans-serif;
    }
    button:hover {
      transform: translateY(-2px);
      box-shadow: 0 5px 12px rgba(91,45,24,.2);
    }
    button:disabled {
      opacity: .6;
      cursor: not-allowed;
      transform: none;
      box-shadow: none;
    }
    .prev-btn { background: #F5C02E; color: #000; }
    .next-btn, .submit-btn { background: #5B2D18; color: #fff; }
    .thank-you {
      display: none;
      text-align: center;
      padding: 28px 0;
    }
    .thank-you h2 {
      font-family: 'Patua One', serif;
      color: #5B2D18;
      font-size: 2rem;
      margin-bottom: 8px;
    }
    .error-text {
      color: #B00020;
      font-weight: 700;
      margin-top: 8px;
    }
    @media (max-width: 860px) {
      .options-grid { grid-template-columns: 1fr; }
      .matrix-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .nps-wrap { grid-template-columns: repeat(6, minmax(0, 1fr)); }
      .contact-grid { grid-template-columns: 1fr; }
      .code-gate { grid-template-columns: 1fr; }
    }
  