/* Shared premium legal-page styling */
body.legal-page {
  background: linear-gradient(135deg, #fbfcff 0%, #edf3ff 52%, #fff9dc 100%) fixed;
}
body.legal-page::before {
  background: radial-gradient(circle at 8% 18%, rgba(62, 125, 188, .15), transparent 26%), radial-gradient(circle at 93% 7%, rgba(255, 218, 0, .18), transparent 24%);
}
.legal-page .legal-content { max-width: 960px; padding: 82px 24px 90px; }
.legal-page .legal-header {
  margin-bottom: 38px;
  padding: 55px 46px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 30px;
  background: linear-gradient(125deg, #20255e, #252b74 66%, #3e7dbc);
  box-shadow: 0 25px 70px rgba(37, 43, 116, .24);
}
.legal-page .legal-header::before { right: 34px; top: 50%; font-size: 130px; transform: translateY(-50%); }
.legal-page .legal-header h1 { margin-bottom: 10px; font-size: clamp(2.25rem, 5vw, 3.45rem); letter-spacing: -.045em; }
.legal-page .legal-header p { max-width: 550px; font-size: 1.03rem; }
.legal-page .legal-section {
  margin-bottom: 19px;
  padding: 31px 34px;
  border: 1px solid rgba(37, 43, 116, .1);
  border-left: 0;
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(37, 43, 116, .06);
}
.legal-page .legal-section::before { height: 100%; width: 5px; background: linear-gradient(180deg, #ffda00, #252b74); transform: scaleY(1); transform-origin: top; }
.legal-page .legal-section:hover { border-color: rgba(37,43,116,.2); border-left: 0; box-shadow: 0 18px 38px rgba(37,43,116,.12); transform: translateY(-3px); }
.legal-page .legal-section h2 { color: #252b74; font-size: 1.36rem; margin-bottom: 16px; padding-bottom: 10px; }
.legal-page .legal-section h2::before { content: '✓'; display: grid; width: 27px; height: 27px; place-items: center; color: #252b74; border-radius: 9px; background: #ffda00; font-size: .88rem; }
.legal-page .legal-section h2::after { width: 42px; height: 3px; background: #ffda00; }
.legal-page .legal-section h3 { color: #252b74; font-size: 1.08rem; }
.legal-page .legal-section p, .legal-page .legal-section li { color: #526078; }
.legal-page .legal-section li { padding-left: 27px; margin-bottom: 9px; }
.legal-page .legal-section li::before { color: #252b74; }
.legal-page .last-updated { margin-top: 30px; padding: 17px 20px; color: #3d4774; border: 1px solid #dbe4f6; background: rgba(255,255,255,.7); }
@media (max-width: 768px) {
  .legal-page .legal-content { padding: 48px 16px 62px; }
  .legal-page .legal-header { padding: 38px 25px; border-radius: 23px; }
  .legal-page .legal-header::before { font-size: 85px; right: 13px; }
  .legal-page .legal-header p { max-width: 82%; }
  .legal-page .legal-section { padding: 25px 22px; border-radius: 16px; }
  .legal-page .legal-section h2 { align-items: flex-start; font-size: 1.22rem; }
}
