.pp-main{--pp-red:var(--brand-red);--pp-ink:var(--foreground);--pp-muted:var(--muted-foreground);--pp-line:var(--border);color:var(--pp-ink);background:var(--surface)}
.pp-wrap{width:calc(100% - 112px);max-width:1200px;margin-inline:auto}
.pp-hero{padding:26px 0 58px;border-bottom:1px solid var(--pp-line)}
.pp-breadcrumbs{margin-bottom:44px;font-size:12px}
.pp-eyebrow{font-size:12px;letter-spacing:.14em;font-weight:650;color:var(--pp-red);margin:0 0 18px}
.pp-title{font-size:clamp(26px,3.2vw,46px);font-weight:700;letter-spacing:-.035em;line-height:1.5;margin:0;overflow-wrap:anywhere}
.pp-intro{font-size:16px;line-height:2.1;color:var(--text-body);max-width:760px;margin:0 0 40px;overflow-wrap:anywhere}
.pp-body-region{padding-block:58px 92px}
.pp-body-wrap{width:calc(100% - 80px);max-width:860px;margin:auto}
.pp-article{min-width:0}
.pp-section{scroll-margin-top:116px;padding:32px 0;border-top:1px solid var(--pp-line)}
.pp-section h2{display:flex;align-items:baseline;gap:17px;font-size:22px;letter-spacing:-.025em;line-height:1.65;margin:0 0 20px}
.pp-number{flex:none;font-size:13px;letter-spacing:.04em;font-weight:500;color:var(--pp-red)}
.pp-section h3{font-size:17px;line-height:1.7;margin:24px 0 14px}
.pp-section p,.pp-section li{font-size:15px;line-height:2.05;color:var(--text-body);overflow-wrap:anywhere}
.pp-section p{margin:0 0 18px}
.pp-section p:last-child{margin-bottom:0}
.pp-section ul{padding-left:1.4em;margin:16px 0 22px;list-style:disc}
.pp-section li+li{margin-top:8px}
.pp-section a{color:var(--pp-red);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.pp-section a:hover{color:var(--brand-red)}
.pp-section a:focus-visible,.pp-toc a:focus-visible,.pp-back:focus-visible{outline:2px solid var(--pp-red);outline-offset:5px}
.pp-section .pp-links{list-style:none;padding:0;margin:22px 0;display:grid;gap:12px}
.pp-links li{margin:0!important;line-height:1.8}
.pp-links a{font-size:14px}
.pp-links a::after{content:' ↗';white-space:nowrap}
.pp-profile{margin:0 0 24px;padding:0}
.pp-profile>div{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--border)}
.pp-profile dt{font-size:14px;color:var(--pp-muted);font-weight:400}
.pp-profile dd{font-size:15px;line-height:1.95;white-space:pre-line;margin:0;color:var(--text-body)}
.pp-section .pp-contact-link{display:inline-flex;align-items:center;gap:16px;border:1px solid var(--border-strong);color:var(--pp-ink);text-decoration:none;padding:14px 18px;line-height:1.8;font-weight:600;font-size:14px;margin:2px 0 20px;max-width:100%}
.pp-section .pp-contact-link::after{content:'↗';flex:none;font-size:20px}
.pp-section .pp-contact-link:hover{border-color:var(--pp-red);color:var(--pp-red)}
.pp-toc{margin-bottom:38px;background:var(--muted);padding:24px 28px}
.pp-toc-title{font-size:12px;font-weight:650;color:var(--pp-muted);letter-spacing:.1em;margin:0 0 17px}
.pp-toc ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}
.pp-toc a{display:flex;align-items:baseline;gap:11px;font-size:13px;line-height:1.65;color:var(--text-body);padding:4px 0}
.pp-toc a>span{font-size:11px;color:var(--pp-red);flex:none}
.pp-toc a:hover{color:var(--pp-red);text-decoration:underline;text-underline-offset:4px}
.pp-back-row{margin-top:34px;border-top:1px solid var(--pp-line);padding-top:26px;text-align:right}
.pp-back{color:var(--pp-muted);font-size:13px;text-decoration:underline;text-underline-offset:5px}
/* A: familiar single column. */
.pp-a .pp-hero{max-width:1440px;width:calc(100% - 112px);margin:auto}
.pp-a .pp-hero .pp-wrap{width:100%;max-width:none}
.pp-a .pp-breadcrumbs{margin-bottom:65px}
.pp-a .pp-hero{padding-bottom:64px}
.pp-a .pp-title{font-size:clamp(28px,4vw,55px)}
.pp-a .pp-section{border-top:0;padding:23px 0}
.pp-a .pp-section h2{font-size:24px}
/* B: a quiet reading sheet. */
.pp-b .pp-body-region{background:var(--muted);padding-block:52px 80px}
.pp-b .pp-body-wrap{max-width:1040px}
.pp-b .pp-article{background:var(--surface);padding:56px clamp(28px,5.4vw,78px) 42px;border:1px solid var(--border)}
.pp-b .pp-toc{background:transparent;border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line);padding:23px 0 26px}
.pp-b .pp-section:first-of-type{border-top:0;padding-top:0}
.pp-b .pp-intro{margin-bottom:32px}
/* C: persistent table of contents on wide screens. */
.pp-c .pp-body-wrap{max-width:1200px;width:calc(100% - 112px)}
.pp-c .pp-grid{display:grid;grid-template-columns:238px minmax(0,1fr);gap:64px;align-items:start}
.pp-c .pp-toc{position:sticky;top:116px;padding:6px 0 20px;background:transparent;border-left:2px solid var(--pp-line);padding-left:22px;margin:0;max-height:calc(100svh - 140px);overflow-y:auto}
.pp-c .pp-toc ol{grid-template-columns:1fr;gap:7px}
.pp-c .pp-toc a{font-size:12px}
.pp-c .pp-section h2{display:block}
.pp-c .pp-number{display:block;margin-bottom:8px}
/* D: a restrained black introduction and numbered body. */
.pp-d .pp-hero{background:var(--ink);color:var(--text-on-dark);border:0;padding-bottom:66px}
.pp-d .pp-eyebrow{color:var(--text-on-dark-body);display:flex;align-items:center;gap:14px}
.pp-d .pp-eyebrow::before{content:'';display:block;width:26px;height:2px;background:var(--logo-red)}
.pp-d .pp-breadcrumbs,.pp-d .pp-breadcrumbs a{color:var(--text-on-dark-muted)}
.pp-d .pp-body-wrap{max-width:1000px}
.pp-d .pp-section{position:relative;padding:34px 0 34px 84px}
.pp-d .pp-section h2{display:block}
.pp-d .pp-number{position:absolute;left:0;top:36px;font-size:30px;line-height:1.4;letter-spacing:-.04em}
.pp-d .pp-heading{font-size:23px;line-height:1.65;font-weight:650}
.pp-d .pp-section>.pp-section-content{min-width:0}
.pp-d .pp-toc{background:var(--muted)}
@media(max-width:1000px){.pp-wrap,.pp-a .pp-hero,.pp-c .pp-body-wrap{width:calc(100% - 72px)}.pp-c .pp-grid{grid-template-columns:205px minmax(0,1fr);gap:38px}.pp-section h2{font-size:21px}.pp-b .pp-article{padding-inline:40px}}
@media(max-width:760px){
  .pp-wrap,.pp-a .pp-hero,.pp-c .pp-body-wrap,.pp-body-wrap{width:calc(100% - 40px)}
  .pp-hero,.pp-a .pp-hero{padding-block:22px 38px}.pp-d .pp-hero{padding-bottom:42px}
  .pp-breadcrumbs,.pp-a .pp-breadcrumbs{margin-bottom:32px;font-size:11px;gap:10px}
  .pp-title,.pp-a .pp-title{font-size:clamp(24px,6.4vw,34px);letter-spacing:-.045em}
  .pp-eyebrow{font-size:11px;margin-bottom:15px}.pp-intro{font-size:14px;line-height:2;margin-bottom:28px}
  .pp-body-region{padding-block:32px 56px}.pp-section{scroll-margin-top:92px;padding-block:28px}
  .pp-section h2,.pp-a .pp-section h2{font-size:19px;gap:11px;line-height:1.65;margin-bottom:16px}
  .pp-section p,.pp-section li{font-size:14px;line-height:2}.pp-section p{margin-bottom:16px}
  .pp-links a{font-size:13px}.pp-toc{padding:20px;margin-bottom:28px}.pp-toc ol{grid-template-columns:1fr;gap:6px}.pp-toc a{font-size:12px;min-height:28px;padding-block:6px}
  .pp-b .pp-body-region{padding-block:24px 44px}.pp-b .pp-body-wrap{width:calc(100% - 28px)}.pp-b .pp-article{padding:28px 21px}.pp-b .pp-toc{padding-block:20px}
  .pp-profile>div{grid-template-columns:1fr;gap:4px;padding-block:14px}.pp-profile dt{font-size:12px}.pp-profile dd{font-size:14px}.pp-section .pp-contact-link{font-size:13px;padding:12px 14px;gap:12px}
  .pp-c .pp-grid{display:block}.pp-c .pp-toc{position:static;max-height:none;overflow:visible;background:var(--muted);border-left:0;padding:20px;margin-bottom:32px}.pp-c .pp-number{display:inline;margin-right:11px}
  .pp-d .pp-section{padding-left:47px}.pp-d .pp-number{font-size:23px}.pp-d .pp-heading{font-size:19px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
