/* Home, /products and /about, October 2026.
   Tokens follow PDL-P5 §4, reconciled with /brand where the two disagreed:
   brand.html is the source for colour and type, so the site keeps Source Serif 4
   and Jost (already loaded, no third-party font request) and brand bone/sage. */
body.pb{
  --pb-void:#0A0A0A;--pb-carbon:#131211;--pb-bone:#F2E9D6;--pb-signal:#F7F5F0;
  --pb-patina:#A8B89C;--pb-muted:#9B9890;--pb-line:#292824;--pb-line-2:#3A3833;
  --pb-serif:'Source Serif 4',Georgia,serif;--pb-sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pb-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --pb-r-sm:10px;--pb-r-md:14px;--pb-r-lg:18px;--pb-r-xl:22px;
  --pb-pad:clamp(20px,4.4vw,64px);--pb-gap:104px;
  background:var(--pb-void);color:var(--pb-signal);
}
@media(max-width:900px){body.pb{--pb-gap:72px}}
@media(max-width:640px){body.pb{--pb-gap:56px}}
body.pb main{display:block}
body.pb .pb-wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 var(--pb-pad)}
body.pb .pb-band{padding:var(--pb-gap) 0}
body.pb .pb-band + .pb-band{padding-top:0}
body.pb h1,body.pb h2{font-family:var(--pb-serif);font-weight:400;letter-spacing:-.02em;margin:0}
body.pb h1{font-size:clamp(34px,6.4vw,72px);line-height:1.05;letter-spacing:-.03em;max-width:15ch}
body.pb h2{font-size:clamp(26px,3.4vw,40px);line-height:1.1}
body.pb h3{font-family:var(--pb-sans);font-size:22px;line-height:1.25;font-weight:650;letter-spacing:-.01em;margin:0}
body.pb p{margin:0 0 1em}
body.pb p:last-child{margin-bottom:0}
body.pb .pb-kicker{font:700 11px/1.4 var(--pb-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pb-muted);margin:0 0 12px}
body.pb .pb-meta{font:500 12px/1.4 var(--pb-sans);color:var(--pb-muted)}
body.pb .pb-mono{font:400 12.5px/1.5 var(--pb-mono)}

/* hero */
body.pb .pb-hero{padding:clamp(40px,7vw,88px) 0 48px}
body.pb .pb-hero h1{margin-bottom:20px}
body.pb .pb-dek{font-size:clamp(17px,2.1vw,21px);line-height:1.55;max-width:52ch;color:var(--pb-bone)}
body.pb .pb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* buttons: one primary per band */
body.pb .pb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:var(--pb-r-md);font:500 16px/1 var(--pb-sans);text-decoration:none;border:1px solid transparent}
body.pb .pb-btn--primary{background:var(--pb-bone);color:#0A0908}
body.pb .pb-btn--ghost{background:transparent;color:var(--pb-bone);border-color:var(--pb-line-2)}
body.pb .pb-btn--ghost:hover{border-color:var(--pb-bone)}
body.pb .pb-link{color:var(--pb-bone);text-decoration:underline;text-decoration-color:var(--pb-line-2);text-underline-offset:3px}
body.pb .pb-link:hover{text-decoration-color:var(--pb-bone)}

/* status strip */
body.pb .pb-status{border-top:1px solid var(--pb-line);border-bottom:1px solid var(--pb-line);padding:16px 0}
body.pb .pb-status ul{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0;padding:0;list-style:none;font:400 15px/1.5 var(--pb-sans);color:var(--pb-bone)}
body.pb .pb-status li{display:flex;align-items:center;gap:8px}
body.pb .pb-status .pb-dot{width:7px;height:7px;border-radius:50%;background:var(--pb-patina);flex:none}
body.pb .pb-status .pb-dot--closed{background:var(--pb-muted)}

/* cards */
body.pb .pb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
@media(max-width:900px){body.pb .pb-grid{grid-template-columns:1fr}}
body.pb .pb-card,body.pb .pr-card{background:var(--pb-carbon);border:1px solid var(--pb-line);border-radius:var(--pb-r-lg);padding:32px;margin:0;transition:transform 160ms cubic-bezier(.16,.84,.44,1),border-color 160ms cubic-bezier(.16,.84,.44,1)}
@media(max-width:640px){body.pb .pb-card,body.pb .pr-card{padding:24px}}
body.pb .pb-card:hover,body.pb .pr-card:hover{transform:translateY(-2px);border-color:var(--pb-line-2)}
body.pb .pb-card h3,body.pb .pr-card h3{margin-bottom:10px;font-size:22px}
body.pb .pb-card h3 a,body.pb .pr-card h3 a{text-decoration:none}
body.pb .pb-card p,body.pb .pr-card p{font-size:15px;line-height:1.6;color:var(--pb-signal)}
body.pb .pr-card{padding:32px;display:block}
body.pb .pr-what{margin-bottom:12px}
body.pb .pr-who{color:var(--pb-muted);font-size:14px}
body.pb .pr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 0}
body.pb .pr-price{font:500 13px/1 var(--pb-sans);color:var(--pb-muted)}
body.pb .pr-try{margin-top:16px}
body.pb .pr-warning{margin-top:16px;padding-top:14px;border-top:1px solid var(--pb-line);font-size:14px;color:var(--pb-muted)}

/* badges: text first, colour second */
body.pb .pb-badge,body.pb .pr-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--pb-r-sm);border:1px solid var(--pb-line-2);font:700 11px/1 var(--pb-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pb-muted);white-space:nowrap}
body.pb .pb-badge--free,body.pb .pr-badge--free{color:var(--pb-patina);border-color:rgba(168,184,156,.35)}
body.pb .pb-badge--paid,body.pb .pr-badge--paid{color:var(--pb-bone);border-color:var(--pb-bone)}
body.pb .pb-badge--coming_soon,body.pb .pr-badge--coming_soon{border-style:dashed}

/* fact rows */
body.pb .pb-facts{margin:24px 0 0;padding:0;border-top:1px solid var(--pb-line)}
body.pb .pb-facts div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:10px 0;border-bottom:1px solid var(--pb-line)}
body.pb .pb-facts dt{font:500 12px/1.4 var(--pb-sans);color:var(--pb-muted);margin:0}
body.pb .pb-facts dd{margin:0;font:400 12.5px/1.5 var(--pb-mono);color:var(--pb-bone);word-break:break-word}

/* three steps */
body.pb .pb-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 0;padding:0;list-style:none;counter-reset:step}
@media(max-width:760px){body.pb .pb-steps{grid-template-columns:1fr}}
body.pb .pb-steps li{border-top:1px solid var(--pb-line);padding-top:16px}
body.pb .pb-steps b{display:block;font:650 18px/1.3 var(--pb-sans);margin-bottom:6px}
body.pb .pb-steps p{font-size:15px;color:var(--pb-muted);margin:0}

/* free band: a short list, not a second copy of the cards */
body.pb .pb-links{margin:20px 0 0;padding:0;list-style:none}
body.pb .pb-links li{border-top:1px solid var(--pb-line);padding:14px 0}
body.pb .pb-links h3{font-size:20px;margin:0}

/* writing list */
body.pb .pb-articles{margin:24px 0 0;padding:0;list-style:none;border-top:1px solid var(--pb-line)}
body.pb .pb-articles li{border-bottom:1px solid var(--pb-line)}
body.pb .pb-articles a{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding:16px 0;text-decoration:none}
body.pb .pb-articles .pb-meta{white-space:nowrap}

/* newsletter */
body.pb .pb-newsletter{border:1px solid var(--pb-line);border-radius:var(--pb-r-xl);padding:32px}
body.pb .pb-newsletter form{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
body.pb .pb-newsletter label{display:block;width:100%;font:500 14px/1.4 var(--pb-sans);color:var(--pb-bone)}
body.pb .pb-newsletter input{flex:1 1 240px;min-height:52px;padding:0 16px;background:var(--pb-void);border:1px solid var(--pb-line-2);border-radius:var(--pb-r-sm);color:var(--pb-bone);font:400 16px/1.4 var(--pb-sans)}
body.pb .pb-newsletter input::placeholder{color:var(--pb-muted)}
body.pb .pb-newsletter .pb-note{font-size:14px;color:var(--pb-muted);margin-top:12px}

/* products page */
body.pb .pb-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
@media(max-width:760px){body.pb .pb-legend{grid-template-columns:1fr}}
body.pb .pb-legend li{border-top:1px solid var(--pb-line);padding-top:16px}
body.pb .pb-legend p{font-size:14px;color:var(--pb-muted);margin:8px 0 0}
body.pb .pb-section{margin-top:var(--pb-gap)}
body.pb .pb-section > h2{margin-bottom:8px}
body.pb .pb-section > p{color:var(--pb-muted);max-width:60ch}
body.pb .pb-table{width:100%;border-collapse:collapse;margin-top:28px;font-size:15px}
body.pb .pb-table th{text-align:left;font:700 11px/1.4 var(--pb-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--pb-muted);padding:0 12px 10px 0;border-bottom:1px solid var(--pb-line-2)}
body.pb .pb-table td{padding:14px 12px 14px 0;border-bottom:1px solid var(--pb-line);vertical-align:top;color:var(--pb-bone)}
body.pb .pb-table td:first-child{font-weight:500}
body.pb .pb-table .pb-meta{white-space:nowrap}
@media(max-width:640px){body.pb .pb-table thead{display:none}body.pb .pb-table tr{display:block;padding:14px 0;border-bottom:1px solid var(--pb-line)}body.pb .pb-table td{display:block;border:0;padding:2px 0}}

/* about */
body.pb .pb-about{max-width:72ch}
body.pb .pb-about h2{margin:48px 0 16px}
body.pb .pb-none{margin:0;padding:0;list-style:none}
body.pb .pb-none li{padding:10px 0;border-bottom:1px solid var(--pb-line)}
body.pb .pb-contact{border-top:1px solid var(--pb-line);margin-top:56px;padding-top:24px}

@media(prefers-reduced-motion:reduce){
  body.pb *{transition:none!important;animation:none!important}
  body.pb .pb-card:hover,body.pb .pr-card:hover{transform:none}
}
