/* Legal pages share the site navigation, with a readable document layout. */
.legal-body { background: #fff; }
.legal-article { width: min(880px, calc(100% - 64px)); margin: 0 auto; padding: 32px 0 88px; color: #3e5274; overflow-wrap: anywhere; }
.subpage-breadcrumb { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 48px; color: #65748e; font-size: 13px; line-height: 1.7; }
.legal-article a { color: #315bdc; text-decoration: underline; text-underline-offset: 4px; }
.legal-eyebrow { color: #3867e9; font-size: 12px; font-weight: 700; letter-spacing: .16em; margin-bottom: 14px; }
.legal-article h1 { color: #13264b; font-size: clamp(26px, 4vw, 40px); line-height: 1.5; letter-spacing: -.03em; overflow-wrap: anywhere; margin: 0 0 20px; }
.legal-lead { font-size: 16px; line-height: 1.95; max-width: 46em; }
.legal-effective { color: #65748e; font-size: 13px; line-height: 1.9; margin: 20px 0 40px; padding-bottom: 28px; border-bottom: 1px solid #dfe7f3; }
.legal-section { margin: 0; padding: 28px 0; border-bottom: 1px solid #e7edf6; scroll-margin-top: 110px; }
.legal-section h2 { color: #13264b; font-size: 21px; line-height: 1.65; letter-spacing: 0; margin: 0 0 16px; overflow-wrap: anywhere; }
.legal-section p, .legal-section li { font-size: 15px; line-height: 2; }
.legal-section p + p { margin-top: 14px; }
.legal-section ul, .legal-section ol { padding-left: 1.5em; }
.legal-section .legal-pending { padding: 16px 20px; background: #f3f6fc; border-left: 3px solid #a8bce7; border-radius: 0 8px 8px 0; font-size: 13px; }
@media (max-width: 600px) {
  .legal-article { width: calc(100% - 40px); padding: 24px 0 56px; }
  .subpage-breadcrumb { font-size: 12px; gap: 8px; margin-bottom: 32px; }
  .legal-lead { font-size: 14px; }
  .legal-effective { font-size: 12px; margin: 20px 0 12px; padding-bottom: 24px; }
  .legal-section { padding: 24px 0; scroll-margin-top: 85px; }
  .legal-section h2 { font-size: 18px; line-height: 1.65; margin-bottom: 12px; }
  .legal-section p, .legal-section li { font-size: 14px; line-height: 1.95; }
  .legal-section .legal-pending { padding: 12px 14px; font-size: 12px; }
}

/* Privacy service details: quiet disclosure with readable mobile rows. */
.privacy-services { margin-top:24px; border:1px solid #dce4ef; border-radius:12px; background:#f8faff; overflow:hidden; }
.privacy-services > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; color:#233b62; font-size:15px; font-weight:700; line-height:1.6; cursor:pointer; list-style:none; }
.privacy-services > summary::-webkit-details-marker { display:none; }
.privacy-services > summary:hover { background:#f0f5fc; }
.privacy-services > summary:focus-visible { outline:2px solid #5968c9; outline-offset:-4px; border-radius:10px; }
.privacy-services-toggle { width:8px; height:8px; flex:none; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:0 3px 4px 0; }
.privacy-services[open] .privacy-services-toggle { transform:rotate(225deg); margin-bottom:-4px; }
.privacy-services-content { padding:0 24px 8px; }
.legal-section .privacy-services-note { font-size:13px; color:#53647e; line-height:1.8; margin:0 0 12px; }
.privacy-service-list { margin:0; }
.privacy-service { display:grid; grid-template-columns:170px minmax(0,1fr); gap:24px; padding:18px 0; border-top:1px solid #e1e8f1; }
.privacy-service dt { font-size:14px; font-weight:600; line-height:1.8; }
.privacy-service dt a { color:#364d75; text-decoration:underline; text-decoration-color:#b7c3d8; text-underline-offset:4px; }
.privacy-service dt a:hover { color:#4d54ba; text-decoration-color:currentColor; }
.privacy-service dt a span { display:inline-block; margin-left:6px; font-size:12px; }
.privacy-service dd { margin:0; color:#465a78; font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
@media (max-width:600px) {
 .privacy-services > summary { padding:18px; font-size:14px; }
 .privacy-services-content { padding:0 18px 4px; }
 .privacy-service { grid-template-columns:minmax(0,1fr); gap:6px; padding:16px 0; }
}
