:root{
 --ppm-ink:#101114;--ppm-muted:#6b6f78;--ppm-line:#e9e9ec;--ppm-soft:#f7f7f8;
 --ppm-accent:#7c5cff;--ppm-white:#fff;
}
.ppm-wrap{max-width:1180px;margin:0 auto;padding:28px 20px 60px;color:var(--ppm-ink);font-family:Manrope,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
.ppm-wrap *{box-sizing:border-box}.ppm-hero{padding:62px 0 44px;border-bottom:1px solid var(--ppm-line)}
.ppm-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--ppm-accent);margin-bottom:18px}
.ppm-hero h1{font-size:clamp(44px,7vw,84px);line-height:.98;letter-spacing:-.055em;margin:0 0 25px;font-weight:800}
.ppm-hero h1 span{color:#8b8e97}.ppm-lead{max-width:680px;font-size:18px;color:var(--ppm-muted);margin:0}
.ppm-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}
.ppm-hero-meta>div{border:1px solid var(--ppm-line);border-radius:16px;padding:17px 18px;background:#fff}
.ppm-hero-meta strong{display:block;font-size:16px}.ppm-hero-meta small{color:var(--ppm-muted);display:block;margin-top:3px}
.ppm-tabs{position:sticky;top:10px;z-index:5;display:flex;gap:6px;padding:7px;background:rgba(247,247,248,.92);backdrop-filter:blur(14px);border:1px solid var(--ppm-line);border-radius:15px;margin:22px 0}
.ppm-tab{appearance:none;border:0;background:transparent;border-radius:10px;padding:11px 15px;font:inherit;font-size:13px;font-weight:700;color:var(--ppm-muted);cursor:pointer}
.ppm-tab:hover{color:var(--ppm-ink)}.ppm-tab.active{background:#fff;color:var(--ppm-ink);box-shadow:0 3px 12px rgba(16,17,20,.06)}
.ppm-panel{display:none;padding-top:24px}.ppm-panel.active{display:block}
.ppm-section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin:25px 0}
.ppm-section-head>div span{font-size:11px;font-weight:800;color:var(--ppm-accent);display:block;margin-bottom:6px}
.ppm-section-head h2{font-size:36px;letter-spacing:-.04em;margin:0}.ppm-section-head p{max-width:430px;color:var(--ppm-muted);margin:0;font-size:14px}
.ppm-section-head.compact{margin-top:54px}.ppm-cards{display:grid;gap:14px}.ppm-cards.three{grid-template-columns:repeat(3,1fr)}
.ppm-card,.ppm-business,.ppm-principles article{border:1px solid var(--ppm-line);border-radius:20px;padding:25px;background:#fff}
.ppm-card.dark{background:var(--ppm-ink);color:#fff;border-color:var(--ppm-ink)}
.ppm-card small,.ppm-business small{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--ppm-accent)}
.ppm-card h3,.ppm-business h3{font-size:23px;line-height:1.15;letter-spacing:-.025em;margin:13px 0}.ppm-card p,.ppm-business p,.ppm-principles p{font-size:14px;color:var(--ppm-muted);margin:0}.ppm-card.dark p{color:#bfc1c8}
.ppm-stack{border-top:1px solid var(--ppm-line)}.ppm-stack-row{display:grid;grid-template-columns:50px 1.4fr 1fr .8fr;gap:20px;align-items:center;padding:18px 5px;border-bottom:1px solid var(--ppm-line);font-size:14px}
.ppm-stack-row b{color:#a0a3aa;font-size:12px}.ppm-stack-row span{color:var(--ppm-muted)}.ppm-stack-row em{font-style:normal;font-weight:800;text-align:right}
.ppm-timeline{border-left:1px solid #dfe0e4;margin:35px 0 0 14px}.ppm-phase{display:grid;grid-template-columns:155px 20px 1fr;gap:20px;position:relative;padding:0 0 38px;margin-left:-5px}
.ppm-phase-year{font-weight:800;font-size:14px}.ppm-phase-line{width:9px;height:9px;background:var(--ppm-accent);border-radius:50%;margin-top:7px;box-shadow:0 0 0 5px #f0edff}
.ppm-phase span{font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--ppm-accent)}.ppm-phase h3{font-size:26px;letter-spacing:-.03em;margin:6px 0}.ppm-phase p{color:var(--ppm-muted);font-size:14px;max-width:650px;margin:0}
.ppm-flow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;max-width:820px;margin:45px auto}
.ppm-node{border:1px solid var(--ppm-line);border-radius:13px;padding:13px 18px;background:#fff;font-size:11px;font-weight:800;letter-spacing:.07em}.ppm-node.foundation{border-color:#c8bcff;background:#f5f2ff}.ppm-node.soft{background:var(--ppm-soft)}.ppm-node.dark{background:var(--ppm-ink);color:#fff;border-color:var(--ppm-ink)}
.ppm-arrow{flex-basis:100%;text-align:center;color:#b1b3ba;font-weight:800;height:4px}.ppm-output{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;border-top:1px solid var(--ppm-line);padding-top:25px}.ppm-output span{width:100%;text-align:center;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--ppm-accent)}.ppm-output b{border:1px solid var(--ppm-line);padding:8px 13px;border-radius:999px;font-size:12px}
.ppm-business span{display:inline-block;font-size:11px;font-weight:800;background:var(--ppm-soft);padding:5px 8px;border-radius:7px}.ppm-note{margin-top:15px;border-radius:18px;background:#f5f2ff;padding:20px 22px}.ppm-note strong{font-size:14px}.ppm-note p{font-size:13px;margin:4px 0 0;color:#5f587d}
.ppm-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ppm-principles article b{font-size:11px;color:var(--ppm-accent)}.ppm-principles h3{font-size:19px;letter-spacing:-.02em;margin:10px 0 6px}.ppm-footer{margin-top:60px;padding-top:20px;border-top:1px solid var(--ppm-line);display:flex;justify-content:space-between;color:var(--ppm-muted);font-size:12px}.ppm-footer strong{color:var(--ppm-ink)}
@media(max-width:850px){.ppm-cards.three,.ppm-principles{grid-template-columns:1fr 1fr}.ppm-hero-meta{grid-template-columns:1fr}.ppm-section-head{display:block}.ppm-section-head p{margin-top:10px}.ppm-tabs{overflow:auto;white-space:nowrap}.ppm-stack-row{grid-template-columns:35px 1.5fr 1fr}.ppm-stack-row em{grid-column:2/4;text-align:left}.ppm-phase{grid-template-columns:105px 20px 1fr}}
@media(max-width:560px){.ppm-wrap{padding:10px 14px 40px}.ppm-hero{padding:40px 0 30px}.ppm-hero h1{font-size:48px}.ppm-lead{font-size:16px}.ppm-cards.three,.ppm-principles{grid-template-columns:1fr}.ppm-section-head h2{font-size:30px}.ppm-stack-row{grid-template-columns:28px 1fr;gap:7px 12px}.ppm-stack-row span,.ppm-stack-row em{grid-column:2}.ppm-phase{grid-template-columns:82px 14px 1fr;gap:10px}.ppm-phase h3{font-size:21px}.ppm-phase p{font-size:13px}.ppm-footer{display:block}.ppm-footer span{display:block;margin-top:7px}.ppm-flow{gap:7px}.ppm-node{padding:10px 12px;font-size:10px}}
