/* [LEGAL-MERGE 2026-07-26] Policy pages and in-product policy lightbox.
   [TWO-COL 2026-07-28] Full pages are now a two column layout: navigation on
   the left, document on the right. The lightbox keeps the single column with
   its contents block, so .llpol-toc styles stay.
   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:52px 0 55px}
@media (max-width:767px){.llpol-section{padding:26px 0 30px}}
.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}

/* ---- two column layout (full pages only) ---- */
.llpol-layout{display:flex;align-items:flex-start;gap:56px;position:relative}
/* Bootstrap clearfix pseudo elements become phantom flex/grid items in this theme */
.llpol-layout:before,.llpol-layout:after{content:none}
.llpol-nav{flex:0 0 272px;width:272px;align-self:stretch;position:relative}
.llpol-main{flex:1 1 auto;min-width:0;max-width:900px}

/* the nav pane; llpol.js pins it while the document scrolls (position:sticky
   is dead in this template: overflow-hidden ancestors) */
.llpol-nav-scroll{width:272px;overflow-y:auto;overscroll-behavior:contain;
  padding:2px 10px 24px 2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.llpol-nav-scroll::-webkit-scrollbar{width:6px}
.llpol-nav-scroll::-webkit-scrollbar-thumb{background:#dbe3e8;border-radius:3px}
.llpol-nav-toggle{display:none}

.llpol-nav-parts{list-style:none;margin:0;padding:0;counter-reset:llpolpart}
.llpol-nav-part{margin:0 0 2px;counter-increment:llpolpart}
.llpol-nav-plink{display:block;font-weight:600;font-size:15px;line-height:1.4;color:#20303c;
  padding:8px 10px;border-radius:6px}
.llpol-nav-plink:before{content:counter(llpolpart) ".  ";color:#259457}
.llpol .llpol-nav-plink{color:#20303c}
.llpol .llpol-nav-plink:hover{background:#f5f8f6;color:#1d7a48;text-decoration:none}
.llpol-nav-part.is-open>.llpol-nav-plink{color:#1d7a48}
.llpol-nav-secs{list-style:none;margin:2px 0 10px;padding:0 0 0 12px;display:none}
.llpol-nav-part.is-open>.llpol-nav-secs{display:block}
.llpol-nav-secs>li{margin:0}
.llpol .llpol-nav-secs a{display:block;font-size:13.5px;line-height:1.45;color:#5b6b76;
  padding:5px 10px;border-left:2px solid #e3e9ed;border-radius:0 6px 6px 0}
.llpol .llpol-nav-secs a:hover{color:#20303c;background:#f5f8f6;text-decoration:none}
.llpol .llpol-nav-secs a.is-active{color:#1d7a48;border-left-color:#259457;font-weight:500;background:#e9f5ee}

/* ---- document header ---- */
.llpol-head{padding:0 0 22px;border-bottom:1px solid #e3e9ed;margin-bottom:30px}
.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 (lightbox only now) ---- */
.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}
/* keep a comfortable reading measure even on very wide screens */
.llpol-sec-body,.llpol-intro,.llpol-part-summary,.llpol-foot p{max-width:80ch}
.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}

/* ---- small screens: one column, nav collapses behind a button ---- */
@media (max-width:991px){
  .llpol-layout{display:block}
  .llpol-nav{width:auto;margin:0 0 22px}
  .llpol-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;
    font-family:inherit;font-size:15px;font-weight:600;color:#20303c;text-align:left;
    background:#f5f8f6;border:1px solid #e3e9ed;border-radius:6px;padding:12px 14px;cursor:pointer}
  .llpol-nav-caret{width:9px;height:9px;border-right:2px solid #259457;border-bottom:2px solid #259457;
    transform:rotate(45deg);transition:transform .15s;margin:-3px 4px 0 10px}
  .llpol-nav.is-open .llpol-nav-caret{transform:rotate(-135deg);margin-top:4px}
  .llpol-nav-scroll{display:none;width:auto;max-height:none;position:static!important;
    border:1px solid #e3e9ed;border-top:0;border-radius:0 0 6px 6px;padding:10px 12px 14px}
  .llpol-nav.is-open .llpol-nav-scroll{display:block}
  .llpol-main{max-width:none}
}
@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,.llpol-nav{display:none!important}
  .llpol-layout{display:block}
  .llpol-main{max-width:none}
  .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}
}
