/* Plain utility pages · faq.html, privacy.html, terms.html.
   One stylesheet, scoped under main.p-plain. Page tweaks via a second class:
   .p-faq · .p-privacy · .p-terms.
   Built on styles.css tokens. Reuses .mono, .ref, .eyebrow, .acc, .rv, .living. */

main.p-plain{ --muted:#5c655f; --deep:#2a3a35; }

/* ---------- section rhythm ---------- */
.p-plain .pp-sec{ padding-bottom:clamp(.5rem,2vh,1.5rem) }
.p-plain .eyebrow{ margin:clamp(3.2rem,7vh,5rem) 0 clamp(1.6rem,3vh,2.5rem) }
.p-plain .pp-h2{ font-size:clamp(1.4rem,3vw,2.15rem); font-weight:500; letter-spacing:-.025em;
  line-height:1.08; max-width:24ch; margin-bottom:1.25rem }
.p-plain .pp-body{ font-size:clamp(1rem,1.5vw,1.14rem); line-height:1.62; max-width:68ch }
.p-plain .pp-body + .pp-body{ margin-top:1rem }
.p-plain .pp-note{ margin-top:1.5rem; color:var(--muted); line-height:1.75; max-width:70ch }

/* ---------- hero ---------- */
.p-plain .pp-hero{ padding-top:clamp(7.5rem,13vh,9.5rem); padding-bottom:clamp(2.5rem,6vh,4.5rem) }
.p-plain .pp-crumb{ color:var(--muted); margin-bottom:clamp(1.6rem,4vh,2.6rem) }
.p-plain .pp-crumb a{ color:var(--teal); text-decoration:none }
.p-plain .pp-crumb a:hover{ text-decoration:underline; text-underline-offset:3px }
.p-plain .pp-eyebrow{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  border-top:1px solid var(--ink); padding-top:.6rem; margin-bottom:1.5rem }
.p-plain .pp-h1{ font-size:clamp(2.1rem,5.6vw,4.4rem); font-weight:500; letter-spacing:-.03em;
  line-height:1.04; max-width:20ch }
.p-plain .pp-lede{ margin-top:1.3rem; font-size:clamp(1.02rem,1.7vw,1.34rem); line-height:1.45;
  max-width:54ch; color:var(--deep) }
.p-plain .pp-meta{ display:block; margin-top:clamp(1.8rem,4vh,2.6rem); color:var(--muted) }
@media (min-width:1024px){
  .p-plain .pp-crumb,
  .p-plain .pp-eyebrow{ max-width:60% }
}

/* ---------- buttons ---------- */
.p-plain .pp-btns{ display:flex; flex-wrap:wrap; gap:.65rem; margin-top:clamp(1.8rem,4vh,2.4rem) }
.p-plain .pp-btn{ display:inline-block; font-family:var(--mono); font-size:.72rem; letter-spacing:.08em;
  text-transform:uppercase; padding:1rem 1.7rem; text-decoration:none; transition:background .3s, color .3s }
.p-plain .pp-solid{ background:var(--teal); color:var(--white) }
.p-plain .pp-solid:hover{ background:var(--teal-deep) }
.p-plain .pp-out{ border:1px solid var(--teal); color:var(--teal) }
.p-plain .pp-out:hover{ background:var(--teal); color:var(--white) }

/* ---------- hairline lists ---------- */
.p-plain .pp-list{ list-style:none; padding:0; margin:1.3rem 0 0; border-top:1px solid var(--ink) }
.p-plain .pp-list li{ position:relative; padding:.9rem 0 .9rem 1.1rem; border-bottom:1px solid var(--line);
  font-size:.98rem; line-height:1.55; max-width:76ch }
.p-plain .pp-list li::before{ content:""; position:absolute; left:0; top:1.4rem; width:.45rem; height:1px;
  background:var(--teal) }

/* ---------- label + text rows ---------- */
.p-plain .pp-rows{ border-top:1px solid var(--ink); margin-top:1.3rem }
.p-plain .pp-row{ display:grid; grid-template-columns:1fr; gap:.35rem; padding:1.05rem 0;
  border-bottom:1px solid var(--line) }
.p-plain .pp-row b{ font-weight:500; color:var(--teal); font-size:1.02rem; line-height:1.3 }
.p-plain .pp-row span{ font-size:.97rem; line-height:1.55; max-width:70ch }
@media (min-width:900px){
  .p-plain .pp-row{ grid-template-columns:17rem 1fr; gap:2rem; align-items:baseline }
}

/* ---------- inline links inside body copy ---------- */
.p-plain .pp-body a,
.p-plain .pp-list a,
.p-plain .pp-row span a{ color:var(--teal); text-decoration:none; border-bottom:1px solid var(--line) }
.p-plain .pp-body a:hover,
.p-plain .pp-list a:hover,
.p-plain .pp-row span a:hover{ border-bottom-color:var(--teal) }

/* ---------- faq accordions ---------- */
.p-faq .pp-faq{ margin-top:.2rem }
.p-faq .pp-faq .acc-head{ font-size:clamp(1rem,1.75vw,1.28rem); line-height:1.35; padding:1.15rem 0;
  align-items:flex-start }
.p-faq .pp-faq .acc-plus{ font-size:1rem; padding-top:.18rem }
.p-faq .pp-faq .acc-body p{ font-family:var(--sans); font-size:1rem; letter-spacing:0; text-transform:none;
  line-height:1.6; max-width:74ch; padding-bottom:1.4rem }

/* ---------- legal pages ---------- */
.p-privacy, .p-terms{ padding-bottom:clamp(4rem,10vh,7rem) }
.p-privacy .pp-sec, .p-terms .pp-sec{ padding-bottom:0 }
.p-privacy .eyebrow, .p-terms .eyebrow{ margin:clamp(2.8rem,6vh,4.2rem) 0 clamp(1.3rem,2.5vh,2rem) }

/* ---------- cta band ---------- */
.p-plain .pp-cta{ color:var(--paper); margin-top:clamp(3.5rem,8vh,6rem);
  padding:clamp(3.5rem,9vh,6.5rem) clamp(1rem,3vw,2.5rem) }
.p-plain .pp-cta-in{ max-width:58rem }
.p-plain .pp-cta-ref{ display:block; opacity:.75; margin-bottom:1.3rem }
.p-plain .pp-cta-h{ font-size:clamp(1.5rem,3.4vw,2.8rem); font-weight:500; letter-spacing:-.022em;
  line-height:1.14; max-width:28ch }
.p-plain .pp-cta-btn{ margin-top:clamp(1.8rem,4vh,2.4rem); background:var(--paper); color:var(--teal-deep) }
.p-plain .pp-cta-btn:hover{ background:var(--white) }
