/**
 * Section: Contact (support).
 * Channels on the left as a tidy list with coloured icon chips; the form in
 * a white card with washi tape on the right. Blush paper background.
 */

.contact {
  background: var(--surface-blush);
  padding-block: var(--section-space-m);
  padding-inline: var(--space-gutter);
}

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: var(--space-xl);
}

.contact-ways {
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}

.contact-head {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.contact-head p {
  max-width: 46ch;
}

.channel-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
}

.channel {
  display: flex;
  align-items: center;
  gap: var(--space-s);
  padding-block: var(--space-2xs);
  border-bottom: var(--border-hair) dashed var(--hairline-strong);
}

.channel:last-child {
  border-bottom: 0;
}

.channel-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: var(--tap-target);
  height: var(--tap-target);
  border-radius: var(--radius-pill);
  background: var(--white);
  color: var(--brand-secondary);
  box-shadow: var(--shadow-sm);
}

.channel:nth-child(odd) .channel-icon {
  color: var(--brand-accent);
}

.channel-icon .icon {
  width: var(--icon-size);
  height: var(--icon-size);
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.channel-icon .icon-fill {
  fill: currentColor;
  stroke: none;
}

.channel-text {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 var(--space-xs);
}

.channel-label {
  flex-basis: 100%;
  font-size: var(--text-xs);
  font-weight: var(--weight-strong);
  color: var(--ink-muted);
}

.channel-text a {
  font-weight: var(--weight-strong);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.channel-text a:hover {
  color: var(--brand-accent);
  text-decoration: underline;
}

.contact-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2xs);
  padding: var(--space-s) var(--space-m);
  border-radius: var(--radius-md);
  background: var(--surface);
}

.contact-note p {
  font-size: var(--text-small);
}

.contact-form-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-l) var(--space-m);
  border-radius: var(--radius-lg);
  background: var(--white);
  box-shadow: var(--shadow-md);
}

.contact-tape {
  top: calc(var(--space-xs) * -1);
  right: 12%;
  transform: rotate(6deg);
}

.form-head {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
}

.form-head h3 {
  font-size: var(--text-h3);
}

.form-head p {
  font-size: var(--text-small);
}

@media (min-width: 62rem) {
  .contact-grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: var(--space-2xl);
  }

  .contact-form-card {
    padding: var(--space-xl) var(--space-l);
  }
}
