/* Privacy policy */
.privacy-banner { min-height: 0; padding-block: 100px; background-color: #15273b; }
.privacy-banner h1 { font-size: clamp(38px, 5vw, 60px); letter-spacing: -1.5px; }

.policy { padding: 56px 24px; background: #eff5f6; }
.policy__layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 36px; align-items: start; max-width: 1240px; margin-inline: auto; }

.policy__nav { position: sticky; top: 145px; padding: 24px; border-radius: 16px; background: #182c41; }
.policy__nav > span { display: block; margin-bottom: 16px; color: #95e4d0; font-size: 11px; font-weight: 700; letter-spacing: 2px; }
.policy__nav nav { display: flex; flex-direction: column; gap: 4px; }
.policy__nav a { padding: 9px 0; border-bottom: 1px solid rgba(255, 255, 255, .07); color: #e1ecf5; font-size: 14px; line-height: 1.5; }
.policy__nav a:hover { color: #95e4d0; }

.policy__document { padding: 38px; border: 1px solid #dbe6e9; border-radius: 18px; background: #fff; color: #33495a; font-size: 18px; line-height: 1.85; }
.policy__document p, .policy__document ul { margin: 1.875em 0; }
.policy__document > :first-child { margin-top: 0; }
.policy__document > :last-child { margin-bottom: 0; }
.policy__document h2 {
  margin: 50px 0 16px;
  padding-top: 24px;
  border-top: 1px solid #e1e9ed;
  color: #18384a;
  font-size: 26px;
  line-height: 1.3;
  letter-spacing: -.5px;
  scroll-margin-top: 145px;
}
.policy__document h2 + p, .policy__document h2 + ul { margin-top: 0; }
.policy__document ul { padding-left: 24px; }
.policy__document li { margin-bottom: 10px; }
.policy__document strong { font-weight: 700; }
.policy__document a { color: #087e70; text-decoration: underline; text-underline-offset: 3px; }
.policy__document .policy__updated { padding: 10px 16px; border-radius: 8px; background: #ecf7f3; color: #167363; font-size: 14px; }

@media (max-width: 850px) {
  .policy__layout { grid-template-columns: 1fr; }
  .policy__nav { position: static; }
  .policy__nav nav { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 20px; }
  .policy__document { padding: 26px; }
}
@media (max-width: 550px) {
  .policy { padding: 32px 18px; }
  .policy__nav nav { grid-template-columns: 1fr; }
  .policy__document { font-size: 17px; }
  .policy__document h2 { font-size: 23px; }
}

.page-privacy { background-color: #111d30; }
.page-privacy .header { background: #1a1a1a; }

/* 404 page reuses the privacy banner */
.not-found__text { margin-top: 18px; text-align: center; color: #d7e3ee; font-size: 18px; }
.not-found__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 32px; }
