/* ValuFlor — privacy page only. A night hero with the spiral and the seal, then the notice as plain,
   readable prose on paper between a sticky list of its sections and a sticky contact card. */

.pv-hero{position:relative;background:#0B0907;overflow:hidden;isolation:isolate}
.pv-hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(70% 90% at 90% 10%,rgba(225,137,66,.16),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(185,88,53,.12),transparent 62%)}
.pv-hero .spiral{z-index:-1;right:-16%;top:-12%;width:min(760px,54vw);opacity:.26}   /* right of the heading and the lede */
.pv-hero__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,80px);align-items:end;
  padding-top:calc(var(--hdr-h) + clamp(40px,7vw,104px));padding-bottom:clamp(56px,7vw,104px)}
.pv-hero__h{max-width:14ch}
.pv-hero .lede{color:#E2D9CD}
@media (max-width:700px){.pv-hero__in{grid-template-columns:1fr}.pv-hero__seal{display:none}.pv-hero .spiral{right:-40%;width:150vw;opacity:.2}}

.pv{border-bottom:0}
/* the hero and the notice share one centred measure: the list of sections, the prose, and the contact card
   in a sticky right column (three columns from 1100px; the card leaves below that, its email and phone are in 06) */
.pv-hero__in.wrap,.pv__grid.wrap{max-width:calc(1160px + var(--gut) * 2)}
.pv__grid{display:grid;grid-template-columns:minmax(180px,210px) minmax(0,1fr) minmax(220px,250px);gap:clamp(28px,3vw,44px);align-items:start}
@media (min-width:901px){.pv__toc,.pv__ask{position:sticky;top:calc(var(--hdr-h) + 28px)}}
.pv__toc-h{font:600 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--vfmut);margin-bottom:10px}
.pv__toc ol{list-style:none;margin:0;padding:0;counter-reset:pv;border-top:1px solid var(--vfline)}
.pv__toc li{counter-increment:pv;border-bottom:1px solid var(--vfline)}
.pv__toc a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:6px;padding:13px 4px;font-size:14.5px;line-height:1.35;color:var(--vfbody);
  transition:transform .45s var(--ease-out),color .2s ease,background-color .3s ease}
.pv__toc a::before{content:counter(pv,decimal-leading-zero);font:600 10.5px/1.9 var(--mono);letter-spacing:.1em;color:var(--vfacct)}
.pv__toc a:hover,.pv__toc a:focus-visible{transform:translateX(8px);color:var(--vfink);background:color-mix(in srgb,var(--vfacc) 9%,transparent)}
.pv__ask{padding:20px 18px 6px;border-radius:var(--r-m);background:var(--vfpanel);border:1px solid var(--vfline);border-top:3px solid var(--vfacc)}
.pv__ask .pv__toc-h{line-height:1.45}
.pv__ask-p{font-size:14px;line-height:1.5;color:var(--vfbody);margin-bottom:10px}
.pv__line{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:15px 0;border-top:1px solid var(--vfline);color:var(--vfink);transition:color .2s ease}
.pv__line>*{transition:transform .4s var(--ease-out)}
.pv__line:hover,.pv__line:focus-visible{color:var(--vfacct)}
.pv__line:hover>*,.pv__line:focus-visible>*{transform:translateX(6px)}
.pv__k{font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vfmut)}
.pv__v{font:700 16px/1.2 var(--head);letter-spacing:-.01em}
@media (max-width:1099px){
  .pv__grid{grid-template-columns:minmax(200px,250px) minmax(0,1fr)}
  .pv__ask{display:none}
}
@media (max-width:900px){
  .pv__grid{grid-template-columns:1fr}
  .pv__toc-h{font-size:12px;letter-spacing:.12em}
}

/* the notice: numbered sections with a rule above each heading */
.pv .prose{max-width:none;counter-reset:pvs;font-size:17px}
.pv .prose h2{counter-increment:pvs;scroll-margin-top:calc(var(--hdr-h) + 24px);display:flex;align-items:baseline;gap:14px;
  font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.03em;margin-top:52px;padding-top:26px;border-top:1px solid var(--vfline)}
.pv .prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.pv .prose h2::before{content:counter(pvs,decimal-leading-zero);flex:none;font:600 11px/1 var(--mono);letter-spacing:.14em;color:var(--vfacct);transform:translateY(-.35em)}
.pv .prose p,.pv .prose ul{line-height:1.7}
.pv .prose li::marker{color:var(--vfacc)}
