/* B5 — company pages: /contact, /affiliate-program, /security. Tokens only, mobile first. */

/* ── Contact: channel cards */
.contact-channel { display: flex; flex-direction: column; gap: var(--s-2); min-width: 0; }
.contact-channel .icon-tile { margin-bottom: var(--s-1); }
.contact-channel__title { font-weight: 600; letter-spacing: -0.01em; }
.contact-channel__text { font-size: var(--fs-sm); color: var(--text-muted); line-height: 1.55; flex: 1; }
.contact-channel__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-sm);
  font-weight: 500;
  min-width: 0;
  overflow-wrap: anywhere;
}
.contact-channel__link .icon { flex: none; }

/* ── Contact: form */
.contact-form { display: flex; flex-direction: column; gap: var(--s-6); }
.contact-hints:empty { display: none; }
.contact-hint {
  display: flex;
  gap: var(--s-2);
  align-items: flex-start;
  padding: var(--s-3) var(--s-4);
  border: 1px solid var(--info-border, var(--border));
  border-radius: var(--radius);
  background: var(--info-soft, var(--surface-2));
  color: var(--text);
  font-size: var(--fs-sm);
  line-height: 1.5;
}
.contact-hint[hidden] { display: none; }
.contact-hint .icon { flex: none; margin-top: 2px; color: var(--info-text, var(--brand)); }
.contact-message-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-1) var(--s-4); }
.contact-message-meta [data-contact-count].is-over { color: var(--danger-text); }

/* Honeypot: off-screen for humans, still present for bots. */
.contact-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ── Response-time / retention lists (definition rows) */
.response-list { display: flex; flex-direction: column; }
.response-list__row {
  display: grid;
  gap: 2px var(--s-4);
  grid-template-columns: minmax(0, 1fr);
  padding: var(--s-3) 0;
  font-size: var(--fs-sm);
}
.response-list__row + .response-list__row { border-top: 1px solid var(--border); }
.response-list__row:first-child { padding-top: 0; }
.response-list__row:last-child { padding-bottom: 0; }
.response-list dt { color: var(--text-muted); }
.response-list dd { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.response-list dd strong { font-weight: 600; color: var(--text); font-variant-numeric: tabular-nums; }
.response-list dd span { color: var(--text-muted); font-size: var(--fs-xs); }

.card__title .icon { vertical-align: -3px; color: var(--text-muted); }

/* ── Affiliate */
.aff-terms .spec-list__value { white-space: normal; }
.aff-examples__scenario { white-space: normal; min-width: 15rem; }
.aff-examples td { vertical-align: top; }
#aff-link { overflow-wrap: anywhere; white-space: pre-wrap; }
.check-list--deny .icon { color: var(--danger); }

/* ── Security */
.sec-jump { padding-block: var(--s-6); }
.sec-anchor { scroll-margin-top: calc(var(--header-h) + var(--s-4)); }
.sec-list { font-size: var(--fs-base); gap: var(--s-3); }
.h5 .icon { vertical-align: -2px; color: var(--text-muted); }
