.contact-grid {
    align-items: start;
    display: grid;
    gap: 42px;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  }

  .contact-form {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  label {
    color: #475467;
    display: grid;
    font-size: 0.92rem;
    font-weight: 800;
    gap: 8px;
  }

  input,
  select,
  textarea {
    background: #fffaf0;
    border: 1px solid rgba(16, 24, 40, 0.14);
    border-radius: 8px;
    color: #111827;
    min-height: 50px;
    padding: 13px 14px;
  }

  textarea {
    resize: vertical;
  }

  .wide,
  .contact-form .btn,
  .privacy-note {
    grid-column: 1 / -1;
  }

  .contact-form .btn {
    justify-self: start;
  }

  .privacy-note {
    color: rgba(71, 84, 103, 0.72);
    font-size: 0.9rem;
    line-height: 1.7;
    margin: -6px 0 0;
  }

  .contact-aside {
    background:
      radial-gradient(circle at 100% 0%, rgba(209, 170, 115, 0.18), transparent 34%),
      linear-gradient(160deg, #f4ede1, #efe5d3 58%, #e6dcc8);
    border: 1px solid rgba(209, 170, 115, 0.26);
    border-radius: 8px;
    color: #16352d;
    padding: 34px;
  }

  .contact-aside h2 {
    font-family: "Noto Sans TC", Inter, system-ui, sans-serif;
    font-size: 2.4rem;
    line-height: 1.15;
    margin: 0;
  }

  .contact-aside p {
    color: rgba(22, 53, 45, 0.78);
  }

  .contact-dialog {
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 80px rgba(22, 53, 45, 0.28);
    max-width: min(92vw, 520px);
    padding: 0;
  }

  .contact-dialog::backdrop {
    background: rgba(22, 53, 45, 0.48);
  }

  .contact-dialog-card {
    background: #fbf6ed;
    color: #16352d;
    padding: 30px;
  }

  .contact-dialog h2 {
    margin: 0 0 12px;
  }

  .contact-dialog p {
    line-height: 1.6;
    margin: 0 0 24px;
  }

  @media (max-width: 820px) {
    .contact-grid,
    .contact-form {
      grid-template-columns: 1fr;
    }
  }
