/* SURFACE 46 · Privacy · /privacy/ (goal batch 3 item 13). Ported from prototypes/13/46-privacy.css; the review scaffold
   (draft note, section flags, bracketed placeholders) is not carried over: the page ships the prototype's legal text as
   plain editable content. Paper register on main.pv, tokens as v13-shared.css. Page classes are pv-* so nothing bleeds into
   the nav / footer. Grounds: paper (open) · card (the short version) · paper (policy) · gray closer (contact us).
   One two-track grid runs the page: headings and the section list left, the reading column right. */
.pv{--paper:#FBF7EE;--card:#F4EEE0;--ink-warm:#2D2926;--ink-warm-2:#3A352F;--rhino-warm:#717271;--rule-warm-2:rgba(45,41,38,.18);--burgundy:#520000;--type-hero:clamp(46px,6vw,84px);--type-h3:clamp(26px,2.6vw,34px);--type-body-editorial:18px;background:var(--paper);color:var(--ink-warm)}
/* Block wrappers: WP's flow-layout block gap would add margins the prototype does not have; spacing here is explicit. */
.pv .wp-block-group{margin-block:0}
.pv :is(h1,h2,h3,p,ul,ol){margin-block:0}
.pv :is(ul,ol){padding-inline-start:0}
.pv .wp-block-list{list-style:none}
main.pv{display:block;--focus-ring:var(--burgundy)}
main.pv :where(a){color:var(--burgundy)}
main.pv :where(a):hover{color:#3D0000}
.pv-wrap{max-width:1280px;margin:0 auto;padding:0 56px}
.pv-sec{padding:clamp(84px,9vw,120px) 0;border-top:1px solid var(--rule-warm-2)}
.pv-paper{background:var(--paper)}
.pv-card{background:var(--card)}
.pv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.25fr);gap:clamp(40px,6vw,96px);align-items:start}

/* TYPE · Cormorant 500 only on paper; second line italic, one accent word in burgundy (canon § 4) */
.pv-h1,.pv-h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--ink-warm);text-wrap:balance}
.pv-h1{font-size:var(--type-hero);line-height:.96;letter-spacing:-.016em}
.pv-h2{font-size:clamp(40px,4.8vw,68px);line-height:1;letter-spacing:-.012em}
.pv-h1 .ln,.pv-h2 .ln{display:block}
.pv-h1 em,.pv-h2 em{font-style:italic;font-weight:500;color:var(--ink-warm-2)}
.pv-acc{color:var(--burgundy)}

/* OPEN · one statement. No photo: the page's job is reading, and the short version comes next (AC3). */
.pv-open{padding:clamp(48px,6vw,80px) 0 clamp(56px,5vw,72px);background:var(--paper)}
.pv-open-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.pv-open-copy{align-self:start}

/* THE SHORT VERSION · four plain answers at equal weight, hairlines instead of boxes (AC3) */
.pv-sum{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,4vw,56px)}
.pv-sum>div{padding:26px 0 38px;border-top:1px solid var(--rule-warm-2)}
.pv-sum h3{margin:0 0 16px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:var(--type-h3);line-height:1.1;letter-spacing:-.006em;color:var(--ink-warm);text-wrap:balance}
.pv-sum p,.pv-sum li{font-family:"Lora",Georgia,serif;font-size:var(--type-body-editorial);line-height:1.65;color:var(--ink-warm-2);text-wrap:pretty}
.pv-sum p{margin:0}
.pv-sum ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.pv-sum li{position:relative;padding-left:22px}
.pv-sum li::before{content:"";position:absolute;left:0;top:.84em;width:10px;height:1px;background:var(--burgundy)}

/* POLICY · the section list (AC2: real links, no numbers, no labels) beside one readable column */
.pv-toc{position:sticky;top:96px;align-self:start}
.pv-toc ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule-warm-2)}
.pv-toc li{border-bottom:1px solid var(--rule-warm-2);break-inside:avoid}
.pv-toc a{position:relative;display:flex;align-items:center;min-height:48px;padding:10px 0 10px 24px;font-family:"Lora",Georgia,serif;font-size:17px;line-height:1.4;color:var(--ink-warm-2);text-decoration:none;text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s}
.pv-toc a::before{content:"";position:absolute;left:0;top:50%;width:10px;height:1px;background:var(--rule-warm-2);transition:background .2s,width .2s}
.pv-toc a:hover{color:var(--burgundy);text-decoration-line:underline}
.pv-toc a[aria-current]{color:var(--burgundy)}
.pv-toc a[aria-current]::before{width:16px;background:var(--burgundy)}
.pv .pv-article{padding:0 0 clamp(52px,5.5vw,72px);margin:0 0 clamp(52px,5.5vw,72px);border-bottom:1px solid var(--rule-warm-2)}
.pv .pv-article:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}
.pv-article h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(30px,2.9vw,40px);line-height:1.08;letter-spacing:-.008em;color:var(--ink-warm);text-wrap:balance}
.pv-article .pv-prose{margin-top:26px}
/* 66ch is measured in the prose box's own font size: pin it at the prototype's 16px (the theme body is 17px). */
.pv-prose{max-width:66ch;font-size:16px}
.pv-prose p,.pv-prose li{font-family:"Lora",Georgia,serif;font-size:var(--type-body-editorial);line-height:1.72;color:var(--ink-warm-2);text-wrap:pretty}
.pv-prose p{margin:0}
.pv-prose p+p,.pv-prose ul+p{margin-top:18px}
/* The live policy's sub-headings (Erik's Nov 5 review, B1: the verbatim text keeps its own structure). */
.pv-prose h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(20px,1.6vw,23px);line-height:1.25;color:var(--ink-warm);margin:30px 0 0}
.pv-prose h3+p,.pv-prose h3+ul{margin-top:10px}
.pv-prose>h3:first-child{margin-top:0}
.pv-prose ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.pv-prose li{position:relative;padding-left:24px}
.pv-prose li::before{content:"";position:absolute;left:0;top:.86em;width:10px;height:1px;background:var(--burgundy)}
.pv-prose b,.pv-prose strong{font-weight:600;color:var(--ink-warm)}
.pv-prose a{color:var(--burgundy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(82,0,0,.4);transition:color .2s,text-decoration-color .2s}
.pv-prose a:hover{color:#3D0000;text-decoration-color:currentColor}

/* CONTACT US · the policy's last section, set as the gray pre-footer closer (canon § 5; no shared token yet, so the
   oklab mix 36-wine uses). The address is the action: large, burgundy, underlined, as on 31-contact. */
.pv-close{background:color-mix(in oklab,var(--rhino-warm) 16%,var(--paper));border-top:1px solid var(--rule-warm-2);padding:clamp(84px,9vw,120px) 0}
.pv-close-body{display:flex;flex-direction:column;gap:clamp(32px,3.6vw,44px)}
.pv-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px clamp(32px,4vw,56px);align-items:end;max-width:760px;padding:30px 0 32px;border-top:1px solid rgba(45,41,38,.22);border-bottom:1px solid rgba(45,41,38,.22)}
.pv-contact .meta{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;font-size:24px;line-height:1.2;color:var(--ink-warm-2)}
.pv-contact .val{margin-top:8px;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(32px,3.4vw,48px);line-height:1.1;letter-spacing:-.01em}
.pv-contact .val a{color:var(--burgundy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:rgba(82,0,0,.4);overflow-wrap:anywhere;transition:color .2s,text-decoration-color .2s}
.pv-contact .val a:hover{color:#3D0000;text-decoration-color:currentColor}
.pv-contact .addr{margin:0;font-family:"Lora",Georgia,serif;font-size:var(--type-body-editorial);line-height:1.6;color:var(--ink-warm-2);white-space:nowrap}

/* MOTION · editorial reveal (0/100ms) on the short version and the closer only; the policy is readable on arrival, so
   a jump from the section list never lands on a fading block. Without JS nothing is hidden. */
.pv-js .pv-reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}
.pv-js .pv-reveal.pv-d1{transition-delay:.1s}
.pv-js .pv-reveal.is-in{opacity:1;transform:none}

/* RESPONSIVE */
@media (max-width:1024px){.pv-wrap{padding:0 40px}}
@media (max-width:900px){
  .pv-grid,.pv-open-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .pv-open-grid{gap:28px}
  .pv-toc{position:static}
  .pv-toc ol{columns:2;column-gap:40px}
  .pv-contact{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}
}
@media (max-width:640px){
  .pv-wrap{padding:0 22px}
  .pv-open{padding-top:40px}
  .pv-sec,.pv-close{padding:64px 0}
  .pv-sum{grid-template-columns:minmax(0,1fr)}
  .pv-toc ol{columns:1}
  .pv-sum p,.pv-sum li,.pv-prose p,.pv-prose li,.pv-contact .addr{font-size:17px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .pv-js .pv-reveal{opacity:1;transform:none;transition:none}
  .pv-toc a,.pv-toc a::before,.pv-prose a,.pv-contact .val a{transition:none}
}

/* Live terms include a written-out UPS URL; keep it inside phone columns. */
.rhinory-terms-pattern a{overflow-wrap:anywhere}
