/* === Contact page === */
    .contact-grid {
      display: grid;
      gap: 3rem;
      align-items: start;
    }
    @media (min-width: 1024px) {
      .contact-grid { grid-template-columns: 7fr 5fr; gap: 4rem; }
    }
    .contact-info-card {
      border-radius: 1.25rem;
      border: 1px solid rgba(232, 236, 242, 0.06);
      background: rgba(31, 33, 40, 0.5);
      padding: 1.5rem;
    }
    /* Pay sidebar: keep method cards readable (min 18px) */
    .contact-grid--pay .contact-info-card,
    .contact-grid--pay .contact-info-card p,
    .contact-grid--pay .contact-info-card button,
    .contact-grid--pay .contact-info-card a {
      font-size: 1.125rem; /* 18px */
      line-height: 1.55;
    }
    .contact-grid--pay .contact-info-card .font-mono {
      font-size: 1.125rem;
      letter-spacing: 0.04em;
    }
    .contact-grid--pay .contact-info-card .copy-link svg {
      width: 1.125rem;
      height: 1.125rem;
    }
    /* Pay page: other methods first on mobile, form second */
    @media (max-width: 1023px) {
      .contact-grid--pay {
        display: flex;
        flex-direction: column;
        gap: 2rem;
      }
      .contact-grid--pay .contact-grid__aside {
        order: 1;
      }
      .contact-grid--pay .contact-grid__form {
        order: 2;
      }
    }
    .pay-jump-to-card {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      width: 100%;
      margin-top: 0.25rem;
      padding: 0.85rem 1.25rem;
      border-radius: 999px;
      border: 1px solid rgba(237, 50, 134, 0.45);
      background: rgba(237, 50, 134, 0.12);
      color: #e8ecf2;
      font-family: 'IBM Plex Mono', monospace;
      font-size: 0.75rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-decoration: none;
      transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    }
    .pay-jump-to-card:hover {
      background: rgba(237, 50, 134, 0.2);
      border-color: rgba(237, 50, 134, 0.7);
      color: #fff;
    }
    @media (min-width: 1024px) {
      .pay-jump-to-card {
        display: none;
      }
    }
    .pill-group {
      display: flex;
      flex-wrap: wrap;
      gap: 0.5rem;
    }
    .budget-pill, .timeline-pill {
      cursor: pointer;
      padding: 0.4rem 0.85rem;
      border-radius: 999px;
      border: 1px solid rgba(232, 236, 242, 0.1);
      background: rgba(31, 33, 40, 0.4);
      font-family: 'IBM Plex Mono', monospace;
      font-size: 0.65rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      color: rgba(154, 165, 181, 0.85);
      transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
    }
    .budget-pill:hover, .timeline-pill:hover {
      border-color: rgba(65, 159, 216, 0.35);
      color: #e8ecf2;
    }
    .budget-pill.is-selected, .timeline-pill.is-selected {
      border-color: rgba(237, 50, 134, 0.5);
      background: rgba(237, 50, 134, 0.12);
      color: #ed3286;
    }
    .project-type-check {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      font-size: 0.9rem;
      color: rgba(154, 165, 181, 0.95);
      cursor: pointer;
    }
    .project-type-check input {
      accent-color: #ed3286;
      width: 1rem;
      height: 1rem;
    }
    .expect-step {
      position: relative;
      padding-left: 2rem;
    }
    .expect-step::before {
      content: '';
      position: absolute;
      left: 0.35rem;
      top: 0.5rem;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #419fd8;
    }
    .expect-step:not(:last-child)::after {
      content: '';
      position: absolute;
      left: 0.68rem;
      top: 1.25rem;
      bottom: -1.5rem;
      width: 1px;
      background: rgba(232, 236, 242, 0.08);
    }
    .office-strip {
      border-top: 1px solid rgba(232, 236, 242, 0.06);
      border-bottom: 1px solid rgba(232, 236, 242, 0.06);
      background: rgba(31, 33, 40, 0.35);
    }

