/* petalpost — shared styles for the static content pages (about, faq, contact,
   terms, privacy, refunds). The single-page app (index.html) keeps its own
   inline styles; this file is the brand kit for everything *around* the app.
   Palette + type mirror index.html / track.html so the pages feel like one site. */
:root{
  --sand:#e9e0cc; --cream:#f3ecd9; --note:#f9f4ea; --paper:#f3ead4;
  --ink:#3c352a; --ink2:#544a3a; --sub:#7a6e58;
  --rose:#a8606a; --rose-deep:#80424e; --rose-tint:#f0d9da; --taupe:#b09a7c;
  --warn:#a06a2a; --warn-tint:#f6e4c8; --warn-deep:#7a5117; /* errors — warm ochre, so rose stays "good things" */
  --line:rgba(60,40,20,.14);
  --shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 20px 50px -24px rgba(60,40,20,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--sand); color:var(--ink);
  font-family:'Newsreader',Georgia,serif; font-weight:300;
  -webkit-font-smoothing:antialiased; min-height:100vh;
  display:flex; flex-direction:column;
}
.mono{font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.18em;}

/* ===== top bar (matches index.html) ===== */
.pp-top{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  max-width:920px;margin:0 auto;width:100%;padding:18px 24px;border-bottom:1px solid var(--line);
}
.pp-top .brand img{height:32px;width:auto;display:block;}
.pp-top .tagline{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);}

/* ===== article / prose ===== */
.pp-main{flex:1;width:100%;}
.prose{max-width:680px;margin:0 auto;padding:48px 24px 64px;}
.prose .kick{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe);margin:0 0 14px;}
.prose h1{font-weight:400;font-style:italic;font-size:38px;line-height:1.12;margin:0 0 10px;}
.prose .lede{font-size:18px;line-height:1.6;color:var(--ink2);margin:0 0 36px;}
.prose h2{font-weight:400;font-size:22px;margin:38px 0 10px;color:var(--ink);}
.prose h3{font-weight:500;font-size:16px;margin:26px 0 6px;color:var(--ink);}
.prose p{font-size:16px;line-height:1.7;color:var(--ink2);margin:0 0 16px;}
.prose ul,.prose ol{font-size:16px;line-height:1.7;color:var(--ink2);padding-left:22px;margin:0 0 16px;}
.prose li{margin:0 0 8px;}
.prose a{color:var(--rose);text-decoration:underline;text-underline-offset:2px;}
.prose a:hover{color:var(--rose-deep);}
.prose strong{font-weight:500;color:var(--ink);}
.prose .meta{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin:0 0 30px;}
.prose hr{border:none;border-top:1px solid var(--line);margin:34px 0;}

/* a soft callout card (used for contact details, the "stub" notes, etc.) */
.pp-card{background:var(--cream);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:24px 26px;margin:0 0 22px;}
.pp-card p:last-child{margin-bottom:0;}

/* faq item — native <details> so the list stays scannable, opening in place */
.faq{border-top:1px solid var(--line);padding:20px 0;}
.faq:last-child{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';color:var(--rose);font-size:20px;line-height:1;flex:none;}
.faq[open] summary::after{content:'–';}
.faq h3{display:inline;margin:0;}
.faq p{margin:10px 0 0;}

/* TODO / stub marker — visible in dev so the owner can spot what to finish.
   Remove the rule (or the spans) once the real copy lands. */
.stub{background:#fff3cd;border:1px dashed #c9a227;border-radius:6px;padding:1px 6px;font-style:normal;color:#7a5c00;}

/* scoped to .prose so it beats `.prose a` (which would otherwise tint the
   label rose-on-rose and make it invisible) */
.prose a.cta{display:inline-block;margin-top:10px;font-family:'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.14em;font-size:12px;padding:12px 20px;border-radius:999px;border:none;background:var(--rose);color:#fff;text-decoration:none;}
.prose a.cta:hover{background:var(--rose-deep);color:#fff;}

/* ===== footer (rendered by footer.js) ===== */
.pp-footer{border-top:1px solid var(--line);background:var(--cream);margin-top:auto;}
.pp-footer .inner{max-width:920px;margin:0 auto;padding:40px 24px 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;}
.pp-footer .col h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin:0 0 12px;}
.pp-footer .col a{display:block;color:var(--ink2);text-decoration:none;font-size:14px;margin:0 0 9px;}
.pp-footer .col a:hover{color:var(--rose);}
.pp-footer .brandcol img{height:28px;width:auto;display:block;margin:0 0 12px;}
.pp-footer .brandcol p{font-size:13px;line-height:1.6;color:var(--sub);margin:0;max-width:30ch;font-style:italic;}
.pp-footer .bar{border-top:1px solid var(--line);}
.pp-footer .bar .inner2{max-width:920px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.pp-footer .bar span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);}

@media (max-width:720px){
  .prose h1{font-size:30px;}
  .pp-footer .inner{grid-template-columns:1fr 1fr;gap:24px;}
  .pp-footer .brandcol{grid-column:1 / -1;}
}
