/* Shared stylesheet for privacy.html and terms-of-service.html */

*{
  box-sizing:border-box;
}

body{
  margin:0;
  background-color:#F7FAFC;
  color:#1E2A38;
  font-family:"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size:16px;
  line-height:1.75;
}

a{
  color:#3E7CB1;
}

/* ============ LEGAL HEADER ============ */
.legal-page .legal-header{
  background-color:#D6E4F0;
  border-bottom:3px solid #3E7CB1;
  padding:64px 0 56px;
}

.legal-page .legal-header-inner{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
}

.legal-page .legal-kicker{
  display:inline-block;
  color:#1E3A5F;
  font-weight:800;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.legal-page .legal-title{
  color:#1E3A5F;
  font-size:42px;
  font-weight:800;
  line-height:1.2;
  margin:12px 0 14px;
}

.legal-page .legal-lede{
  color:#1E2A38;
  font-size:17px;
  margin:0;
  max-width:760px;
}

/* ============ TABLE OF CONTENTS ============ */
.legal-page .toc{
  max-width:860px;
  margin:32px auto 8px;
  padding:0 24px;
}

.legal-page .toc-inner{
  background-color:#FFFFFF;
  border:1px solid #D6E4F0;
  border-left:4px solid #3E7CB1;
  border-radius:8px;
  padding:22px 26px;
}

.legal-page .toc-title{
  color:#1E3A5F;
  font-weight:800;
  font-size:18px;
  margin:0 0 10px;
}

.legal-page .toc ol{
  margin:0;
  padding-left:22px;
  columns:2;
  column-gap:40px;
}

.legal-page .toc li{
  margin:6px 0;
  break-inside:avoid;
}

.legal-page .toc a{
  color:#3E7CB1;
  text-decoration:none;
  font-weight:600;
  font-size:15px;
}

.legal-page .toc a:hover{
  text-decoration:underline;
}

/* ============ LEGAL CONTENT ============ */
.legal-page .legal-content{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
}

/* Scope isolation: content sections never inherit a background */
.legal-page .legal-content section{
  background-color:transparent !important;
  padding:10px 0;
}

.legal-page .legal-content h2{
  color:#1E3A5F;
  font-size:26px;
  font-weight:800;
  margin:40px 0 12px;
  padding-top:22px;
  border-top:1px solid #D6E4F0;
  scroll-margin-top:30px;
}

.legal-page .legal-content h3{
  color:#1E3A5F;
  font-size:20px;
  font-weight:700;
  margin:20px 0 8px;
}

.legal-page .legal-content p{
  color:#1E2A38;
  margin:0 0 14px;
}

.legal-page .legal-content ul,
.legal-page .legal-content ol{
  color:#1E2A38;
  margin:0 0 14px;
  padding-left:24px;
}

.legal-page .legal-content li{
  margin:6px 0;
}

.legal-page .legal-content a{
  color:#3E7CB1;
  text-decoration:none;
  font-weight:600;
}

.legal-page .legal-content a:hover{
  text-decoration:underline;
}

/* ============ LEGAL FOOTER ============ */
.legal-page .legal-footer{
  margin-top:56px;
  background-color:#D6E4F0;
  border-top:1px solid #3E7CB1;
  padding:30px 0 32px;
  text-align:center;
}

.legal-page .legal-footer-inner{
  max-width:860px;
  margin:0 auto;
  padding:0 24px;
}

.legal-page .legal-footer p{
  color:#1E3A5F;
  margin:0 0 8px;
}

.legal-page .legal-footer p:last-child{
  margin-bottom:0;
}

.legal-page .legal-footer a{
  color:#1E3A5F;
  text-decoration:none;
  font-weight:700;
}

.legal-page .legal-footer a:hover{
  text-decoration:underline;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 760px){
  .legal-page .legal-title{
    font-size:32px;
  }

  .legal-page .toc ol{
    columns:1;
  }

  .legal-page .legal-content h2{
    font-size:22px;
  }
}
