/* ============================================================
   PRIVACY POLICY PAGE  (privacy-policy.html only)

   SCOPE: every selector below is prefixed .pp- and lives in this
   file alone. Nothing in home.css, pages.css, legacy-pages.css or
   script.js is touched, so all frozen pages are unaffected.

   The page deliberately uses the approved header, footer and
   Call/Text banner unchanged, with a plain single-column reading
   layout in between — this is a legal page, not a sales page.
   ============================================================ */

/* ---------- Hero ---------- */
.pp-hero-copy{ max-width:760px; }
.pp-updated{
  display:inline-block;
  font-family:var(--font-sans); font-size:0.78rem; font-weight:800;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--charcoal-soft);
  background:var(--white); border:1px solid var(--line);
  border-radius:999px; padding:7px 16px; margin-bottom:16px;
}
.pp-hero-copy .pp-lede{
  color:var(--charcoal-soft); font-size:1.05rem;
  line-height:1.75; max-width:62ch; margin-top:14px;
}

/* ---------- Reading column ----------
   ~70ch keeps line length comfortable on desktop while the
   surrounding .wrap still controls the page gutters. */
.pp-body{ max-width:760px; margin:0 auto; }

/* ---------- Summary panel ---------- */
.pp-summary{
  background:var(--gray-light);
  border:1px solid var(--line);
  border-left:4px solid var(--red);
  border-radius:var(--radius);
  padding:28px 32px;
  margin-bottom:52px;
}
.pp-summary h2{
  font-family:var(--font-sans); font-size:0.82rem; font-weight:800;
  letter-spacing:0.06em; text-transform:uppercase;
  color:var(--charcoal); margin-bottom:16px;
}
.pp-summary ul{ display:flex; flex-direction:column; gap:12px; }
.pp-summary li{
  display:flex; align-items:flex-start; gap:12px;
  font-size:0.97rem; color:var(--charcoal); line-height:1.6;
}
.pp-summary li svg{
  width:19px; height:19px; color:var(--red);
  flex-shrink:0; margin-top:2px;
}

/* ---------- Sections ---------- */
.pp-section{ margin-bottom:44px; }
.pp-section:last-of-type{ margin-bottom:0; }
.pp-section h2{
  font-size:1.3rem; line-height:1.35; margin-bottom:14px;
  padding-bottom:12px; border-bottom:1px solid var(--line);
}
.pp-section h3{
  font-family:var(--font-sans); font-size:0.95rem; font-weight:800;
  color:var(--charcoal); margin:22px 0 10px;
}
.pp-section p{
  color:var(--charcoal-soft); font-size:0.99rem;
  line-height:1.75; margin-bottom:14px;
  overflow-wrap:break-word;
}
.pp-section p:last-child{ margin-bottom:0; }
.pp-section a:not(.pp-btn){
  color:var(--red); text-decoration:underline;
  text-underline-offset:2px;
}
.pp-section a:not(.pp-btn):hover{ color:var(--red-dark); }

/* Plain bulleted list for the "what we don't do" style blocks */
.pp-list{ display:flex; flex-direction:column; gap:11px; margin:0 0 14px; }
.pp-list li{
  position:relative; padding-left:20px;
  color:var(--charcoal-soft); font-size:0.99rem; line-height:1.7;
}
.pp-list li::before{
  content:""; position:absolute; left:0; top:11px;
  width:7px; height:7px; border-radius:50%;
  background:var(--red);
}
.pp-list li strong{ color:var(--charcoal); }

/* Outbound-link list */
.pp-links{ display:flex; flex-direction:column; gap:13px; margin:0 0 16px; }
.pp-links li{
  display:flex; align-items:flex-start; gap:12px;
  font-size:0.97rem; color:var(--charcoal-soft); line-height:1.6;
}
.pp-links li svg{
  width:19px; height:19px; color:var(--charcoal-soft);
  flex-shrink:0; margin-top:2px;
}
.pp-links li strong{ color:var(--charcoal); }

/* ---------- Contact card ---------- */
.pp-contact{
  background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow-sm);
  padding:32px 34px; margin-top:8px;
}
.pp-contact h2{ font-size:1.3rem; margin-bottom:10px; }
.pp-contact p{
  color:var(--charcoal-soft); font-size:0.99rem;
  line-height:1.7; margin-bottom:18px;
}
.pp-contact-address{
  font-size:0.95rem; color:var(--charcoal-soft);
  line-height:1.65; margin-top:20px;
}
.pp-contact-address strong{ color:var(--charcoal); }

.pp-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.pp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 26px; border-radius:8px;
  font-family:var(--font-sans); font-size:0.95rem; font-weight:700;
  border:2px solid var(--red); white-space:nowrap;
  transition:transform 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.pp-btn svg{ width:18px; height:18px; flex-shrink:0; }
.pp-btn--solid{ background:var(--red); color:var(--white); }
.pp-btn--solid:hover{
  background:var(--red-dark); border-color:var(--red-dark);
  color:var(--white); transform:translateY(-2px);
}
.pp-btn--outline{ background:var(--white); color:var(--black); }
.pp-btn--outline:hover{
  background:var(--black); border-color:var(--black);
  color:var(--white); transform:translateY(-2px);
}

/* ---------- Responsive ---------- */
@media (max-width: 900px){
  .pp-summary{ padding:24px 24px; margin-bottom:42px; }
  .pp-contact{ padding:28px 26px; }
}

@media (max-width: 640px){
  .pp-hero-copy .pp-lede{ font-size:1rem; }
  .pp-summary{ padding:22px 20px; border-left-width:3px; }
  .pp-section{ margin-bottom:38px; }
  .pp-section h2{ font-size:1.18rem; }
  .pp-contact{ padding:24px 20px; }
  .pp-actions{ width:100%; flex-direction:column; }
  .pp-btn{ width:100%; padding:15px 20px; }  /* full-width tap targets */
}
