/* GENERATED by build/prv-el/make_css.py - do not edit on the server. Source: build/prv/prv.css */
/* Privacy Policy (00-CORE-05): a legal utility page. A compact navy H1 band, a section index, and the
   policy itself at a reading measure. No trust strip, no CTA section, no device: the brief allows none. */

/* ---------- 01 the H1 band ---------- */
.bhp-prv .policyhero{padding:clamp(132px,16vh,168px) 0 clamp(44px,6vh,64px);min-height:0}
.bhp-prv .policyhero .wrap{display:block}
.bhp-prv .policyhero .tag{margin:0}
.bhp-prv .effdate{margin:clamp(14px,2vh,18px) 0 0;font-family:var(--body);font-size:14px;
  font-weight:500;letter-spacing:.02em;color:var(--on-dark-2)}

/* ---------- 02 the policy ---------- */
.bhp-prv .policywrap{align-items:start}
.bhp-prv .polindex{position:sticky;top:clamp(96px,12vh,124px);align-self:start}
.bhp-prv .polindex .sk{display:block;font-family:var(--body);font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.bhp-prv .polindex ol{list-style:none;counter-reset:pi;margin:16px 0 0;padding:0;
  border-left:1px solid var(--line-light)}
.bhp-prv .polindex li{counter-increment:pi}
.bhp-prv .polindex a{display:flex;gap:10px;padding:7px 0 7px 16px;margin-left:-1px;
  border-left:2px solid transparent;font-family:var(--body);font-size:13.5px;line-height:1.45;
  color:var(--on-light-2);text-decoration:none;transition:color .18s ease,border-color .18s ease}
.bhp-prv .polindex a::before{content:counter(pi,decimal-leading-zero);flex:0 0 auto;font-size:10.5px;
  letter-spacing:.08em;color:var(--gold-deep);padding-top:2px}
.bhp-prv .polindex a:hover{color:var(--navy);border-left-color:var(--gold)}

.bhp-prv .policy{max-width:760px}
.bhp-prv .policy h2{margin:clamp(38px,5vh,52px) 0 0;font-family:var(--disp);font-weight:600;
  font-size:clamp(22px,2.1vw,28px);line-height:1.2;letter-spacing:-.02em;color:var(--navy);
  scroll-margin-top:clamp(96px,12vh,124px)}
.bhp-prv .policy h2:first-child{margin-top:0}
.bhp-prv .policy p{margin:14px 0 0;font-family:var(--body);font-size:16px;line-height:1.78;
  color:var(--on-light-2)}
.bhp-prv .policy ul{margin:14px 0 0;padding:0;list-style:none}
.bhp-prv .policy ul li{position:relative;padding-left:22px;margin-top:9px;font-family:var(--body);
  font-size:16px;line-height:1.72;color:var(--on-light-2)}
.bhp-prv .policy ul li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;
  border-radius:50%;background:var(--gold);opacity:.85}
.bhp-prv .policy a{color:var(--navy);font-weight:500;text-decoration:none;
  border-bottom:1.5px solid rgba(255,176,0,.7)}
.bhp-prv .policy strong{font-weight:600;color:var(--navy)}

@media (max-width:900px){
  .bhp-prv .polindex{position:static}
  .bhp-prv .policy{max-width:none}
}

/* Client 2026-09-20, 0:10, having just scrolled the index out of view: "let's have this be sticky
   going down." On a policy this long the contents list is the only way back, so it follows the
   reader instead of disappearing at the first section. It scrolls internally if it ever outgrows
   the viewport, and it stops being sticky once the columns stack. */
.bhp-prv .polcol{position:sticky;top:104px;align-self:flex-start;max-height:calc(100vh - 140px);
  overflow:auto;scrollbar-width:thin}
.bhp-prv .polcol::-webkit-scrollbar{width:6px}
.bhp-prv .polcol::-webkit-scrollbar-thumb{background:rgba(23,29,58,.18);border-radius:3px}
@media (max-width:1024px){
  .bhp-prv .polcol{position:static;max-height:none;overflow:visible}
}

/* Sticky has to sit on the flex ITEM, not on the card inside it. The column shrinks to the height
   of the index, so a sticky child had no range to move within and simply scrolled away; the column
   itself is a child of the tall row and does have one. Measured before and after. */


/* ---------- Elementor parity for this page ---------- */
.bhp-prv .policyhero-el .tag .elementor-heading-title{margin:0}
/* the policy column: every block is its own widget, so the rhythm lives in the widget margins and the
   embedded rules must not add it a second time */
.bhp-prv .policy h2,.bhp-prv .policy p,.bhp-prv .policy ul{margin-top:0!important}
.bhp-prv .policy .elementor-widget-text-editor ul{padding:0;list-style:none}
.bhp-prv .policy .elementor-widget-text-editor ul li{position:relative;padding-left:22px;
  margin-top:9px;font-size:16px;line-height:1.72;color:var(--on-light-2)}
.bhp-prv .policy .elementor-widget-text-editor ul li::before{content:"";position:absolute;left:2px;
  top:11px;width:7px;height:7px;border-radius:50%;background:var(--gold);opacity:.85}
.bhp-prv .policy .elementor-widget-text-editor p a,.bhp-prv .policy .elementor-widget-text-editor li a{
  color:var(--navy);font-weight:500;text-decoration:none;border-bottom:1.5px solid rgba(255,176,0,.7)}
.bhp-prv .policy strong{font-weight:600;color:var(--navy)}
.bhp-prv .policy .elementor-widget{max-width:760px}
/* the sticky index */
.bhp-prv .polindex.e-con{position:sticky;top:clamp(96px,12vh,124px);align-self:start}
.bhp-prv .polindex ol{list-style:none;counter-reset:pi;margin:0;padding:0;
  border-left:1px solid var(--line-light)}
.bhp-prv .polindex li{counter-increment:pi}
.bhp-prv .polindex a{font-weight:400;display:flex;gap:10px;padding:7px 0 7px 16px;margin-left:-1px;
  border-left:2px solid transparent;font-size:13.5px;line-height:1.45;color:var(--on-light-2);
  text-decoration:none;transition:color .18s ease,border-color .18s ease}
.bhp-prv .polindex a::before{content:counter(pi,decimal-leading-zero);flex:0 0 auto;font-size:10.5px;
  letter-spacing:.08em;color:var(--gold-deep);padding-top:2px}
.bhp-prv .polindex a:hover{color:var(--navy);border-left-color:var(--gold)}
.bhp-prv .g48.policywrap.e-con{display:grid!important;grid-template-columns:4fr 8fr!important;
  gap:clamp(32px,4vw,56px)!important;align-items:start!important}
.bhp-prv .g48.policywrap.e-con > .e-con{width:auto!important;min-width:0}
@media (max-width:900px){
  .bhp-prv .g48.policywrap.e-con{grid-template-columns:1fr!important}
  .bhp-prv .polindex.e-con{position:static}
}
