.pp-page { max-width: 68rem; margin: 0 auto; padding: 1.5rem 1rem 4rem; color: var(--text-primary); }
.pp-hero { padding: 2rem 0 1rem; max-width: 46rem; }
.pp-eyebrow { color: var(--accent-emerald); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; margin: 0 0 .5rem; }
.pp-hero h1 { font-size: clamp(1.9rem, 5vw, 2.8rem); line-height: 1.1; margin: 0 0 1rem; }
.pp-lede { font-size: 1.1rem; line-height: 1.6; color: var(--text-secondary); margin: 0 0 1.25rem; }
.pp-btn { display: inline-block; padding: .8rem 1.3rem; border-radius: var(--radius-md); background: var(--accent-emerald); color: #04140c; font-weight: 800; text-decoration: none; border: 0; cursor: pointer; font-size: 1rem; }
.pp-btn:hover, .pp-btn:focus-visible { filter: brightness(1.1); }
.pp-btn-quiet { background: transparent; color: var(--accent-emerald); border: 1px solid var(--accent-emerald); }
.pp-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; margin: 2rem 0; align-items: stretch; }
.pp-plan { position: relative; display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 1.4rem; }
.pp-plan h2 { margin: 0; font-size: 1.25rem; }
.pp-plan ul { margin: 1rem 0 1.25rem; padding-left: 1.1rem; line-height: 1.5; color: var(--text-secondary); font-size: .92rem; flex: 1; }
.pp-plan li { margin-bottom: .45rem; }
.pp-price { font-family: var(--font-mono); font-size: 2.2rem; font-weight: 800; margin: .5rem 0 0; color: var(--accent-emerald); }
.pp-price span { font-size: .9rem; color: var(--text-muted); font-weight: 600; }
.pp-for { color: var(--text-muted); margin: .15rem 0 0; font-size: .85rem; }
.pp-featured { border-color: var(--accent-emerald); box-shadow: 0 0 0 1px var(--accent-emerald); }
.pp-badge { position: absolute; top: -.7rem; left: 1rem; margin: 0; background: var(--accent-emerald); color: #04140c; font-size: .7rem; font-weight: 800; padding: .15rem .6rem; border-radius: 999px; }
.pp-tag { font-size: .65rem; font-weight: 800; padding: .1rem .45rem; border-radius: 4px; background: var(--accent-gold); color: #000; vertical-align: middle; margin-left: .35rem; }
.pp-block { margin: 2.5rem 0; }
.pp-block h2 { font-size: 1.5rem; margin: 0 0 1rem; }
.pp-steps { padding-left: 1.2rem; line-height: 1.6; color: var(--text-secondary); max-width: 46rem; }
.pp-steps li { margin-bottom: .6rem; }
.pp-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; }
.pp-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 1.2rem; }
.pp-card h3 { margin: 0 0 .5rem; }
.pp-card p, .pp-plain { color: var(--text-secondary); line-height: 1.6; margin: 0; }
.pp-plain { padding-left: 1.2rem; max-width: 46rem; }
.pp-plain li { margin-bottom: .5rem; }
.pp-muted { color: var(--text-muted); }
.pp-form-block { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); padding: 1.5rem; }
.pp-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
#pp-form label { display: block; font-size: .85rem; color: var(--text-secondary); }
#pp-form input:not([type=checkbox]), #pp-form select, #pp-form textarea { display: block; width: 100%; margin-top: .3rem; padding: .6rem; background: var(--bg-inset); color: var(--text-primary); border: 1px solid var(--border-subtle); border-radius: var(--radius-md); font: inherit; box-sizing: border-box; }
.pp-wide { margin-top: 1rem; }
.pp-check { margin: 1rem 0; display: flex !important; gap: .5rem; align-items: flex-start; }
.pp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pp-error { color: #ff8a80; margin: 0 0 1rem; }
.pp-done h3 { color: var(--accent-emerald); }
