/* =====================================================
   LEGAL PAGES ONLY stylesheet
   Loaded exclusively by privacy.html and terms-of-service.html.
   Self-contained: defines its own page background + type.
   ===================================================== */

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

:root{
  --legal-bg:#F6F2EB;
  --legal-white:#FFFFFF;
  --legal-ink:#26201A;
  --legal-body:#43403B;
  --legal-rose:#8E3A4A;
  --legal-lilac:#B0576B;
  --legal-navy:#233645;
  --legal-green:#4E7D5B;
  --legal-grape:#B392A9;
  --legal-beige:#E8E4D8;
  --legal-line:#E4DCCE;
  --legal-paper-edge:#EDE7DC;
}

body{
  font-size:16px;
  line-height:1.7;
  background-color:#F6F2EB;
  color:#43403B;
  font-family:"Segoe UI",Georgia,Roboto,Helvetica,Arial,sans-serif;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

a{color:#8E3A4A;text-decoration:underline;}
a:hover{color:#233645;}

/* scope isolation: contents inside legal-page legal-content sections are plain */
.legal-page .legal-masthead,
.legal-page .outer-shell,
.legal-page .top-ribbon,
.legal-page .legal-toc,
.legal-page .legal-printer-edge,
.legal-page .legal-bottom,
.legal-page .legal-backhome,
.legal-page .legal-footer-rip,
.legal-page .legal-stamp,
.legal-page .legal-colophon,
.legal-page .legal-paper-band,
.legal-page .legal-endcap,
.legal-page .legal-watermark,
body.legal-page>header,
body.legal-page>section{}

/* strongest scope isolation: neutral base under every legal section */
html,body.legal-page{
  background-color:#F6F2EB;
}

/* ---------- topline attention ribbon ---------- */
.legal-topnote{
  background:#26333F;
  color:#E9EDEF;
  border-bottom:3px solid #B0576B;
}
.legal-topnote .note-inner{
  max-width:1120px;
  margin:0 auto;
  padding:10px 22px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:13px;
}
.legal-topnote .tri{
  color:#E0A4AF;
  font-weight:800;
}
.legal-topnote a{
  color:#F6C9D0;
  margin-left:auto;
  font-weight:700;
  text-decoration:none;
}

/* ---------- document masthead ---------- */
.legal-masthead{
  background:#FFFFFF;
  border-bottom:1px solid #E4DCCE;
}
.masthead-wrap{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
  padding:30px 22px;
}
.masthead-title{display:flex;align-items:center;gap:14px;}
.masthead-seal{
  width:52px;height:52px;flex:0 0 auto;
  background:#B0576B;
  color:#FFFFFF;
  border-radius:10px;
  display:flex;
  font-family:Georgia,serif;
  font-size:30px;
  box-shadow:inset 0 -4px 0 #8E4255;
}
.masthead-seal i{font-style:normal;margin:auto;line-height:1;}
.masthead-title h1{
  font-size:34px;
  color:#233645;
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.01em;
}
.masthead-title h1 span{color:#8E3A4A;}
.masthead-title p{margin-top:4px;font-size:13px;color:#7A746B;letter-spacing:.02em;}
.masthead-meta{text-align:right;}
.masthead-meta .stamp-label{
  color:#7A746B;font-size:11px;text-transform:uppercase;letter-spacing:.18em;
  display:block;margin-bottom:5px;
}
.masthead-meta .mat{
  color:#3A3A36;font-size:20px;font-weight:800;
  background:#FBF7F1;border:1px solid #E4DCCE;padding:10px 16px;border-radius:6px;
  display:inline-block;
}

/* ---------- tab lookup bar (table of contents) ---------- */
.legal-tocwrap{
  background:#E8E4D8;
  border-bottom:1px solid #E4DCCE;
}
.legal-toc{
  max-width:1120px;
  margin:0 auto;
  padding:20px 22px 24px;
}
.toc-tilte{
  display:flex;align-items:center;gap:8px;
  color:#233645;font-weight:800;font-size:13px;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;
}
.toc-tilte i{font-style:normal;color:#8E3A4A;}
.toc-grid{display:flex;flex-wrap:wrap;gap:8px;}
.toc-grid a.tocItem{
  background:#FDFCF9;
  color:#3F3B35;
  border:1px solid #C9C0AE;
  border-radius:4px;
  padding:7px 12px;
  font-size:13px;
  text-decoration:none;
  font-weight:700;
  display:inline-flex;align-items:center;gap:6px;
}
.toc-grid a.tocItem em{font-style:normal;color:#B0576B;font-weight:800;}
.toc-grid a.tocItem:hover{background:#FFFFFF;color:#233645;border-color:#8E3A4A;}

/* ---------- document sheet ---------- */
.legal-content{
  background-color:#EDE7DC;
  padding:44px 0 60px;
}
.legal-page .sheet-wrap{
  max-width:1000px;
  margin:0 auto;
  padding:0 22px;
}
.legal-page .legal-sheet{
  background-color:#FFFFFF;
  border:1px solid #E4DCCE;
  box-shadow:0 0 0 #EDE7DC;
  position:relative;
}
.legal-page .spin-notches{
  height:8px;
  background-image:
    radial-gradient(circle at 4px 4px,#C2B7A5 3px,#EDE7DC 3.4px);
  background-size:26px 26px;
  background-position:center;
}
.legal-page .sheet-inner{padding:0;}

/* main printed column */
.legal-page .paper-col{
  padding:34px 48px 18px;
}

/* table styled as clear clause rows */
.legal-page .legal-content section h2{
  font-size:22px;
  color:#233645;
  margin:34px 0 12px;
  padding-top:16px;
  border-top:1px solid #EEE6D8;
  font-weight:800;
  scroll-margin-top:20px;
}
.legal-page .legal-content section h2:hover{cursor:default;}
.legal-page .legal-content section h2 .hnum{
  color:#8E3A4A;font-weight:800;margin-right:11px;
}
.legal-page .legal-content section h2::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;
  background:#B0576B;
  margin-right:12px;
  vertical-align:4px;
  border-radius:2px;
}
.legal-page .legal-content section h2 a{color:#233645;text-decoration:none;}
.legal-page .legal-content section h3{
  font-size:17px;
  color:#233645;
  margin:22px 0 8px;
  font-weight:700;
}
.legal-page .legal-sheet h4{
  font-size:16px;color:#33302B;margin:20px 0 7px;font-weight:700;
}
.legal-sheet .lede-paragraph{
  font-size:15px;color:#43403B;line-height:1.95;
  background:#FBF7F1;border-left:6px solid #B0576B;
  padding:18px 20px;border-radius:0 6px 6px 0;margin:20px 0;
}
.legal-sheet .tagger{
  color:#7A746B;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;
  margin-bottom:8px;display:block;
}

/* all article prose */
.legal-page .legal-content section p{
  color:#43403B;
  font-size:15px;
  line-height:1.9;
  margin-bottom:14px;
}
.legal-page .legal-content section ul,
.legal-page .legal-content section ol{
  margin:0 0 16px 22px;
}
.legal-page .legal-content section li{
  color:#43403B;
  font-size:15px;
  line-height:1.85;
  margin-bottom:8px;
}
.legal-page .legal-content section li b,
.legal-page .legal-content section p b{color:#233645;}
.legal-page .legal-content section em{font-style:italic;color:#3A3A36;}

.legal-sheet .contact-block-note{
  background:#FBF7F1;
  border:1px solid #E7DECC;
  padding:18px 20px;
  border-radius:6px;
  margin:20px 0;
}

/* pill foot anchors inside sections */
.legal-page .legal-content section .anchorgrid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 6px;
}
.anchorgrid .anchortag{
  background:#FBF7F1;
  border:1px solid #E0D6C2;
  color:#473F35;
  font-size:13px;
  text-decoration:none;
  padding:8px 10px;
  border-radius:4px;
  font-weight:700;
}
.anchorgrid .anchortag span{color:#B0576B;}
.anchorgrid .anchortag:hover{border-color:#8E3A4A;color:#233645;}

/* footer of the sheet / back to where it meets printer */
.legal-sheet .print-edge{
  height:12px;
  border-top:2px dashed #8E3A4A;
  background:#EDE7DC;
  background-image:radial-gradient(circle,#D8CFBD 2px,#EDE7DC 2.2px);
  background-size:16px 16px;background-position:center top;
}

.legal-bottom{
  background:#233645;
  color:#E9EDEF;
  margin-top:0;
}
.legal-bottom .bottom-wrap{
  max-width:1120px;
  margin:0 auto;
  padding:34px 22px 26px;
  display:grid;
  grid-template-columns:1.2fr 1fr .7fr;
  gap:36px;
}
.legal-bottom h3{
  color:#FFFFFF;font-size:17px;letter-spacing:.02em;margin-bottom:12px;font-weight:800;
}
.legal-bottom p,
.legal-bottom li{
  color:#C4C9CC;font-size:14px;line-height:1.85;
}
.legal-bottom ul{list-style:none;}
.legal-bottom ul li{margin-bottom:9px;padding-left:2px;}
.legal-bottom ul li::before{content:"";display:inline-block;width:9px;height:2px;background:#B0576B;margin-right:9px;vertical-align:3px;}
.legal-bottom a{color:#E9C2C2;text-decoration:none;font-weight:600;}
.legal-bottom a:hover{color:#FFFFFF;text-decoration:underline;}
.org-banner{
  background:#B0576B;color:#FFFFFF;padding:12px 16px;border-radius:7px;
  font-weight:700;font-size:14px;line-height:1.7;box-shadow:inset 0 0 0 2px #F5E3E3;
}
.legal-home-link{
  display:inline-block;margin-top:18px;
  background:#FFFFFF;color:#8E3A4A;font-weight:800;
  padding:12px 20px;border-radius:7px;
  text-decoration:none;letter-spacing:.03em;
}
.legal-home-link:hover{background:#B0576B;color:#FFFFFF;}
.legal-bottom .legal-up-arrow{color:#B0576B;}

/* license strip at very bottom */
.legal-rip-footer{
  background:#1B2B38;color:#AEB6BC;border-top:1px solid #39434E;
}
.legal-rip-footer .riprow{
  max-width:1120px;margin:0 auto;padding:16px 22px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
.riprow .seal-green{
  width:28px;height:28px;background:#4E7D5B;color:#FFFFFF;border-radius:4px;
  display:flex;font-family:Georgia,serif;flex:0 0 auto;
}
.riprow .seal-green i{margin:auto;font-style:normal;}
.riprow .rip-title{color:#FFFFFF;font-weight:800;font-size:13px;}
.riprow .rip-extra{color:#AEB6BC;font-size:11px;}
.riprow .rip-copy{margin-left:auto;color:#AEB6BC;font-size:11px;}
.riprow a{color:#CBD3D8;}

/* skip links & decorative */
.legal-skips{position:absolute;left:-9999px;}
.legal-watermark{
  position:absolute;
  visibility:hidden;
}
.file-station-tip{color:#7A746B;}

/* ============ small screens ============ */
@media(max-width:860px){
  .legal-bottom .bottom-wrap{grid-template-columns:1fr 1fr;}
  .masthead-title h1{font-size:28px;}
}
@media(max-width:640px){
  .legal-page .paper-col{padding:26px 24px 14px;}
  .legal-bottom .bottom-wrap{grid-template-columns:1fr;}
  .masthead-wrap{flex-direction:column;align-items:flex-start;}
  .masthead-meta{text-align:left;}
  .anchorgrid{grid-template-columns:1fr 1fr;}
  .legal-rip-footer .riprow{justify-content:center;text-align:center;}
  .riprow .rip-copy{margin-left:0;}
}

/* Ensure absolutely positioned decorative block has visibility hidden */
.legal-watermark{visibility:hidden;}
body.legal-page .sheet-wrap::after,
body.legal-page .sheet-wrap::before{
  content:"";
  display:none;
}

/* ===== scope isolation (mandatory) ===== */
.legal-page .legal-content section{
  background:transparent;
}
.legal-lg-block,
body.legal-page * .legal-content  section{
  background:transparent;
}
.legal-page .legal-content section,
body.legal-page section.legal-content > .sheet-wrap > .legal-sheet > section.paper-col{
  background:transparent !important;
}
.legal-page .legal-content section .legal-copyblock{
  max-width:980px;
  margin:0 auto;
  padding:0 24px;
}
.legal-masthead .masthead-wrap{
  max-width:1200px;
  margin:0 auto;
}
.legal-topnote .note-inner{
  max-width:1200px;
  margin:0 auto;
}
.legal-toc .legal-toc,
.legal-toc{
  max-width:1200px;
  margin:0 auto;
}
.legal-bottom .bottom-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:34px 24px 26px;
}
.legal-page .paper-col{background:transparent;}

