/* [LEGAL-MERGE 2026-07-26] Policy pages and in-product policy lightbox.
   Built to DESIGN_STANDARDS.md (pricing-page DNA): Rubik, green #259457,
   heading #20303c, body #33434e, muted #5b6b76, rule #e3e9ed, soft bg #f5f8f6.
   Everything is namespaced .llpol-* so it cannot collide with Helix or SPPB. */

.llpol-section{padding:60px 0 55px}
@media (max-width:767px){.llpol-section{padding:34px 0 30px}}
/* keep a comfortable reading measure: a 1440px wide line of legal text is unreadable */
.llpol-sec-body,.llpol-intro,.llpol-part-summary,.llpol-foot p{max-width:96ch}
.llpol{font-family:Rubik,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#33434e;font-size:16px;line-height:1.7}
.llpol *{box-sizing:border-box}
.llpol p{margin:0 0 14px}
.llpol a{color:#1570b3;text-decoration:none}
.llpol a:hover{text-decoration:underline}

/* ---- document header ---- */
.llpol-head{padding:0 0 22px;border-bottom:1px solid #e3e9ed;margin-bottom:26px}
.llpol-title{font-size:34px;line-height:40px;font-weight:600;color:#20303c;margin:0 0 12px}
.llpol-lede{font-size:17.5px;color:#5b6b76;margin:0 0 10px;max-width:70ch}
.llpol-eff{font-size:14px;color:#5b6b76;margin:0 0 8px}
.llpol-hint{font-size:14px;color:#5b6b76;margin:0;max-width:70ch}

/* ---- contents ---- */
.llpol-toc{background:#f5f8f6;border:1px solid #e3e9ed;border-radius:6px;padding:20px 22px;margin:0 0 34px}
.llpol-toc-head{font-size:18px;font-weight:600;color:#20303c;margin-bottom:12px}
.llpol-toc-parts{list-style:none;margin:0;padding:0;counter-reset:llpolpart}
.llpol-toc-part{margin:0 0 14px;counter-increment:llpolpart}
.llpol-toc-part>a{font-weight:600;color:#20303c;font-size:16px}
.llpol-toc-part>a:before{content:counter(llpolpart) ". ";color:#259457}
.llpol-toc-secs{list-style:none;margin:6px 0 0;padding:0 0 0 18px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 18px}
.llpol-toc-secs>li{margin:0}
.llpol-toc-secs a{font-size:14.5px;color:#33434e;line-height:1.5;display:block;padding:2px 0}
.llpol-toc-secs a:hover{color:#259457;text-decoration:none}
/* Bootstrap clearfix pseudo elements become phantom grid items in this theme */
.llpol-toc-secs:before,.llpol-toc-secs:after{content:none}

/* ---- parts and sections ---- */
.llpol-part{margin:0 0 46px;padding-top:6px;outline:none}
.llpol-part-title{font-size:25px;line-height:31px;font-weight:600;color:#20303c;
  margin:0 0 8px;padding:0 0 10px;border-bottom:2px solid #259457}
.llpol-part-summary{font-size:15.5px;color:#5b6b76;margin:0 0 18px;max-width:75ch}
.llpol-intro{margin:0 0 22px}
.llpol-sec{margin:0 0 26px;padding:0;outline:none;scroll-margin-top:90px}
.llpol-part{scroll-margin-top:90px}
.llpol-sec-title{font-size:18px;line-height:1.4;font-weight:600;color:#20303c;margin:0 0 8px}
.llpol-sec-body{font-size:15.5px}
.llpol-sec-body ul,.llpol-sec-body ol{margin:0 0 14px;padding-left:22px}
.llpol-sec-body li{margin:0 0 6px}
.llpol-sec-body table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14.5px;display:block;overflow-x:auto}
.llpol-sec-body th,.llpol-sec-body td{border:1px solid #e3e9ed;padding:8px 10px;text-align:left;vertical-align:top}
.llpol-sec-body th{background:#f5f8f6;font-weight:600;color:#20303c}

/* ---- the copy-a-link control ---- */
.llpol-anchor{display:inline-block;margin-left:8px;color:#c3ced6;font-weight:400;
  text-decoration:none;font-size:.8em;vertical-align:middle;opacity:0;transition:opacity .15s}
.llpol-part-title:hover .llpol-anchor,.llpol-sec-title:hover .llpol-anchor,
.llpol-anchor:focus{opacity:1}
.llpol-anchor:hover{color:#259457;text-decoration:none}
.llpol-anchor.is-copied:after{content:"link copied";margin-left:6px;font-size:11px;
  color:#259457;letter-spacing:.02em}
@media (hover:none){.llpol-anchor{opacity:1}}

/* ---- deep link highlight ---- */
.llpol-target{position:relative;background:#e9f5ee;box-shadow:0 0 0 10px #e9f5ee;border-radius:3px}
.llpol-target>.llpol-sec-title,.llpol-target>.llpol-part-title{color:#1d7a48}
.llpol-fade{transition:background-color 1.1s ease,box-shadow 1.1s ease;background:transparent;box-shadow:0 0 0 10px transparent}

.llpol-backtop{margin:22px 0 0;font-size:14px}

.llpol-foot{margin-top:10px;padding:22px;background:#f5f8f6;border:1px solid #e3e9ed;border-radius:6px}
.llpol-foot h3{font-size:18px;font-weight:600;color:#20303c;margin:0 0 10px}
.llpol-foot p{margin:0;font-size:15px}

@media (max-width:767px){
  .llpol-title{font-size:27px;line-height:33px}
  .llpol-part-title{font-size:21px;line-height:27px}
  .llpol-toc{padding:16px 16px}
  .llpol-toc-secs{grid-template-columns:1fr;padding-left:14px}
}

/* ---- print: one clean document, no chrome ---- */
@media print{
  .llpol-toc,.llpol-anchor,.llpol-backtop,.llpol-hint{display:none!important}
  .llpol{font-size:11pt;color:#000}
  .llpol-part{page-break-before:always}
  .llpol-part:first-of-type{page-break-before:avoid}
  .llpol-sec{page-break-inside:avoid}
}
