.member-email {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-all;
  font-size: clamp(1.65rem, 6vw, 4.4rem) !important;
}

.portal { min-width: 0; overflow: hidden; }

.policy {
  max-width: 780px;
  margin: auto;
  border: 1px solid var(--line);
  padding: clamp(24px, 5vw, 62px);
  background: linear-gradient(145deg, rgba(241, 181, 61, .07), transparent 45%), #070402;
  box-shadow: 0 30px 80px #000;
}

.policy h1 {
  margin: .15em 0;
  color: #fff4d5;
  font: 900 clamp(2.3rem, 7vw, 5rem)/.95 Impact, "Arial Black", sans-serif;
  text-transform: uppercase;
  letter-spacing: .02em;
}

.policy-intro { max-width: 62ch; font-size: 1.08rem; }
.policy section { padding: 18px 0; border-top: 1px solid var(--line); }
.policy h2 { margin: 0 0 6px; color: var(--gold); font: 900 1.1rem Arial, sans-serif; text-transform: uppercase; }
.policy section p { margin: 0; max-width: 68ch; }
.policy-contact { margin-top: 26px; color: #b79a72; }
footer span { display: block; }
footer nav { display: flex; justify-content: center; gap: 18px; margin-top: 10px; letter-spacing: .04em; }
footer a { color: #c5a36e; }

.qa-note {
  max-width: 54ch;
  margin: 18px auto 0;
  color: #b79a72;
  font-size: .82rem;
}

@media (max-width: 620px) {
  .member-email { font-size: 1.35rem !important; line-height: 1.08 !important; }
  footer nav { flex-wrap: wrap; }
}
