/* ===== Legal document pages (deposit limits, cookie / privacy policy, terms) + 404 ===== */
.doc-hero { position: relative; overflow: hidden; padding: 80px 0; border-bottom: 1px solid var(--c-line); }
.doc-hero__inner { position: relative; }
.doc-hero__ghost { left: 120px; top: -40px; font-size: 180px; letter-spacing: 4px; color: #fff; }
.doc-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 16px; max-width: 1120px; }
.doc-hero__title { display: flex; flex-direction: column; gap: 4px; }
.doc-hero__title .display__line { font-size: 88px; line-height: 84px; }
.doc-hero__text { font: 400 16px/26px var(--f-plex); color: var(--c-gray); max-width: 760px; }
.doc-hero__cta { align-self: flex-start; margin-top: 16px; }

.doc { background: var(--c-paper); color: var(--c-ink); padding: 80px 0; }
.doc__container { max-width: 1120px; margin: 0 auto; }
.doc__section { display: flex; gap: 48px; padding: 40px 0; scroll-margin-top: 90px; }
.doc__rail { width: 120px; flex: none; }
.doc__num { font: 700 40px/var(--lh-osw) var(--f-osw); color: var(--c-orange); }
.doc__content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.doc__title { font: 700 28px/var(--lh-osw) var(--f-osw); letter-spacing: .5px; text-transform: uppercase; color: var(--c-ink); }
.doc__text { display: flex; flex-direction: column; gap: 26px; }
.doc__p { font: 400 16px/1.6 var(--f-plex); color: var(--c-ink); }
.doc__bullets { padding-top: 8px; }
.doc__bullet-text { font: 400 15px/1.5 var(--f-plex); color: var(--c-ink); }
.doc__action { align-self: flex-start; }
.doc__rule { height: 1px; background: var(--c-line); opacity: .15; margin: 0; }

@media (max-width: 1099px) {
  .doc-hero__title .display__line { font-size: 64px; line-height: 60px; }
  .doc-hero__ghost { font-size: 120px; }
  .doc__section { gap: 24px; }
  .doc__rail { width: 72px; }
}
@media (max-width: 767px) {
  .doc-hero { padding: 56px 0 48px; }
  .doc-hero__ghost { display: none; }
  .doc-hero__title { gap: 2px; }
  .doc-hero__title .display__line { font-size: 48px; line-height: 44px; }
  .doc-hero__text { font-size: 15px; line-height: 22px; }
  .doc { padding: 24px 0; }
  .doc__section { gap: 16px; padding: 24px 0; }
  .doc__rail { width: 44px; }
  .doc__num { font-size: 28px; }
  .doc__content { gap: 8px; }
  .doc__title { font-size: 18px; }
  .doc__text { gap: 22px; }
  .doc__p { font-size: 14px; line-height: 1.55; color: var(--c-gray-2); }
  .doc__bullet-text { font-size: 14px; color: var(--c-gray-2); }
  .doc__rule { background: var(--c-line-paper); opacity: 1; }
}

/* ---------- Legal meta (effective date, issuing entity, privacy contact) — shown at the top of the policy ---------- */
.doc-hero__meta { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; padding: 20px 24px; border-left: 2px solid var(--c-orange); background: var(--c-surface); max-width: 760px; }
.doc-hero__meta-item { font: 400 14px/22px var(--f-plex); color: var(--c-gray); }
.doc-hero__meta-item--date { font: 700 14px/var(--lh-osw) var(--f-osw); letter-spacing: 2px; text-transform: uppercase; color: var(--c-orange); }
.doc__mail { color: inherit; text-decoration: underline; text-decoration-color: var(--c-orange); text-underline-offset: 3px; transition: color var(--t-fast); }
.doc__mail:hover { color: var(--c-orange); }
@media (max-width: 767px) {
  .doc-hero__meta { padding: 16px; gap: 6px; }
  .doc-hero__meta-item { font-size: 13px; line-height: 20px; }
}
