/* Shared layout for the policies supplied in the Markdown documents. */
.policy-hero { height: 410px; }
.policy-hero .contact-hero-inner { padding-top: 115px; }
.policy-hero h1 { margin-top: 30px; font-size: 64px; }
.policy-hero h1 em { margin: 0 .08em; font-size: 1.1em; }
.policy-updated { margin: 25px 0 0; font-size: 14px; color: #737385; letter-spacing: 0; }
.policy-layout { display: grid; grid-template-columns: 285px minmax(0,1fr); align-items: start; gap: 65px; margin-top: 10px; margin-bottom: 130px; }
.policy-sidebar { position: sticky; top: 28px; max-height: calc(100dvh - 56px); overflow-y: auto; padding: 0 12px 15px 0; scrollbar-width: thin; }
.policy-navigation { display: grid; gap: 8px; padding-bottom: 25px; border-bottom: 1px solid #dfdfdd; }
.policy-navigation a { display: block; padding: 13px 16px; border-radius: 9px; font-size: 14px; font-weight: 600; text-decoration: none; }
.policy-navigation a[aria-current="page"] { background: #e8e4ff; color: #3d26c4; }
.policy-navigation a:hover { background: #eeece6; }
.policy-toc { margin-top: 26px; }
.policy-toc summary { padding: 3px 0 12px; font-size: 14px; font-weight: 800; cursor: pointer; }
.policy-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.policy-toc li { margin: 0; }
.policy-toc a { display: block; padding: 9px 0; font-size: 12px; line-height: 1.5; color: #6a6a79; text-decoration: none; }
.policy-toc a:hover { color: #4f32db; }
.policy-article { min-width: 0; padding: 50px 58px 60px; border: 1px solid #e7e7e3; background: #fff; border-radius: 16px; }
.policy-document { color: #4e4e5c; font-size: 16px; line-height: 1.85; letter-spacing: -.012em; overflow-wrap: anywhere; }
.policy-document > :first-child { margin-top: 0; }
.policy-document > :last-child { margin-bottom: 0; }
.policy-document h2,.policy-document h3,.policy-document h4 { color: #1d1d23; line-height: 1.3; font-weight: 700; scroll-margin-top: 28px; }
.policy-document h2 { margin: 52px 0 22px; padding-top: 32px; border-top: 1px solid #ececea; font-size: 29px; letter-spacing: -.9px; }
.policy-document h3 { margin: 30px 0 16px; font-size: 22px; letter-spacing: -.5px; }
.policy-document h4 { margin: 26px 0 12px; font-size: 18px; letter-spacing: -.25px; }
.policy-document p { margin: 0 0 22px; }
.policy-document ul { margin: 0 0 25px; padding-left: 22px; }
.policy-document li { margin: 9px 0; padding-left: 4px; }
.policy-document li::marker { color: #6848df; }
.policy-document a { color: #4f32db; text-decoration: underline; text-underline-offset: 3px; }
.policy-document a:hover { color: #ff603e; }
.policy-document-name { margin: 0 0 30px; padding-bottom: 24px; border-bottom: 1px solid #e7e7e3; font-size: 24px; font-weight: 700; letter-spacing: -.75px; }
@media (max-width: 1100px) {
  .policy-layout { grid-template-columns: 230px minmax(0,1fr); gap: 30px; }
  .policy-article { padding: 35px; }
}
@media (max-width: 800px) {
  .policy-layout { display: block; margin-bottom: 80px; }
  .policy-sidebar { position: static; max-height: none; overflow: visible; padding: 0; margin-bottom: 30px; }
  .policy-navigation { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 22px; }
  .policy-navigation a { padding: 10px 12px; font-size: 12px; }
  .policy-toc { margin-top: 20px; padding: 15px 20px; background: #eaeae7; border-radius: 10px; }
  .policy-toc summary { padding-bottom: 5px; }
  .policy-toc ol { columns: 2; display: block; margin-top: 12px; }
  .policy-toc li { break-inside: avoid; }
  .policy-toc a { padding-block: 7px; }
}
@media (max-width: 650px) {
  .policy-hero { height: 330px; }
  .policy-hero .contact-hero-inner { padding: 85px 20px 0; }
  .policy-hero .breadcrumbs { flex-wrap: wrap; row-gap: 10px; }
  .policy-hero h1 { margin-top: 25px; font-size: 40px; line-height: 1.2; letter-spacing: -1.8px; }
  .policy-hero h1 em { display: inline; }
  .policy-updated { font-size: 12px; margin-top: 20px; }
  .policy-layout { margin-top: 20px; }
  .policy-article { padding: 28px 23px; border-radius: 12px; }
  .policy-document { font-size: 15px; line-height: 1.8; }
  .policy-document h2 { font-size: 25px; margin-top: 36px; padding-top: 25px; }
  .policy-document h3 { font-size: 20px; }
  .policy-document h4 { font-size: 17px; }
  .policy-document-name { font-size: 21px; }
  .policy-toc ol { columns: 1; }
}
@media print {
  .policy-page { background: #fff; }
  .policy-page .site-header,.policy-page .footer,.policy-sidebar,.policy-hero .breadcrumbs { display: none; }
  .policy-hero { height: auto; background: none; margin-bottom: 30px; }
  .policy-hero::before { display: none; }
  .policy-hero .contact-hero-inner { padding: 0; text-align: left; }
  .policy-hero h1 { font-size: 30px; }
  .policy-layout { display: block; width: 100%; margin: 0; }
  .policy-article { border: 0; padding: 0; }
  .policy-document { color: #000; font-size: 11pt; }
  .policy-document h2,.policy-document h3,.policy-document h4 { break-after: avoid; }
}

