/* Acceptable use and Contact. Same tokens, hairlines and themes as the institutional pages.
   Logical properties only, so the layout mirrors for RTL. Mobile first. */
.fi-policy { position: relative; isolation: isolate; max-width: 760px; padding-block: 96px 64px; }

/* faint contour texture, as in "What you receive" */
.fi-policy__contour { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; fill: none; stroke: var(--fi-gold); stroke-width: 1; stroke-opacity: .055; pointer-events: none; }
html[dir="rtl"] .fi-policy__contour { transform: scaleX(-1); }

.fi-policy__head { margin-block-end: 30px; }
.fi-policy__sub { margin: 14px 0 0; color: var(--fi-muted); font-size: 16px; line-height: 1.8; }
.fi-policy__rule { display: block; width: 72px; height: 1px; margin-block-start: 22px; background: linear-gradient(to right, var(--fi-gold), transparent); }
html[dir="rtl"] .fi-policy__rule { background: linear-gradient(to left, var(--fi-gold), transparent); }

/* numbered list: hairline rows, gold index drawn by a CSS counter (no numerals in the markup) */
.fi-policy__list { list-style: none; margin: 0; padding: 0; counter-reset: policy; border-block-start: 1px solid var(--fi-line); }
.fi-policy__list li { counter-increment: policy; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding-block: 19px; border-block-end: 1px solid var(--fi-line); color: var(--fi-ink); font-size: 16px; line-height: 1.85; }
.fi-policy__list li::before { content: counter(policy, decimal-leading-zero); color: var(--fi-gold); font-size: 12px; font-weight: 900; letter-spacing: .08em; padding-block-start: 5px; }
html[dir="rtl"] .fi-policy__list li::before { content: counter(policy, arabic-indic); font-size: 14px; letter-spacing: 0; padding-block-start: 3px; }

.fi-policy__close, .fi-policy__block { display: grid; justify-items: start; gap: 18px; margin-block-start: 30px; }
.fi-policy__note, .fi-policy__body, .fi-policy__mail { margin: 0; line-height: 1.85; }
.fi-policy__note { color: var(--fi-muted); font-size: 14px; }
.fi-policy__body { color: var(--fi-ink); font-size: 17px; max-width: 56ch; }
.fi-policy__mail { color: var(--fi-muted); font-size: 15px; padding-block-start: 18px; border-block-start: 1px solid var(--fi-line); width: 100%; }
.fi-policy__mail a { unicode-bidi: isolate; overflow-wrap: anywhere; }

@media (min-width: 720px) {
  .fi-policy { padding-block: 120px 84px; }
  .fi-policy__sub { font-size: 18px; }
  .fi-policy__close { grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: stretch; }
}
@media (max-width: 620px) {
  .fi-policy__close .fi-button, .fi-policy__block .fi-button { width: 100%; justify-content: center; }
}
