.pv-page         { max-width: 760px; margin: 0 auto; padding: var(--s-7) var(--s-4) var(--s-9); color: var(--ink); }
.pv-hero         { margin-bottom: var(--s-8); }
.pv-from         { display: flex; align-items: center; gap: var(--s-3); margin-bottom: var(--s-4); }
.pv-eyebrow      { font-size: var(--fs-sm); color: var(--ink-3); letter-spacing: .02em; }
.pv-logo         { flex: none; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--border); overflow: hidden; }
.pv-logo--lg     { width: 56px; height: 56px; border-radius: 16px; }
.pv-logo img     { width: 100%; height: 100%; object-fit: contain; display: block; padding: 6px; box-sizing: border-box; }
.pv-logo img[hidden] { display: none; }
.pv-mono         { font-family: var(--font-serif); font-size: 26px; color: #14141a; line-height: 1; }
.pv-mono[hidden] { display: none; }
.pv-h1           { font-family: var(--font-serif); font-weight: 400; font-size: clamp(2rem, 7vw, 3rem); line-height: 1.1; margin: 0 0 var(--s-3); overflow-wrap: anywhere; }
.pv-h1 em        { font-style: italic; color: var(--accent); }
.pv-lede         { font-size: var(--fs-md); color: var(--ink-2); line-height: var(--lh-loose); margin: 0 0 var(--s-5); max-width: 56ch; }
.pv-msg          { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--s-4); margin: 0 0 var(--s-5); }
.pv-msg-l        { font-size: var(--fs-sm); color: var(--ink-3); margin: 0 0 var(--s-1); }
.pv-msg-t        { margin: 0; line-height: var(--lh-loose); overflow-wrap: anywhere; }
.pv-cta          { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.pv-btn          { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 var(--s-5); border-radius: var(--r-md); font-weight: 500; font-size: var(--fs-md); text-decoration: none; transition: background var(--dur), border-color var(--dur); }
.pv-btn--pri     { background: var(--accent); color: var(--on-accent); }
.pv-btn--pri:hover { background: var(--accent-hi); }
.pv-btn--sec     { background: transparent; color: var(--ink); border: 1px solid var(--border); }
.pv-btn--sec:hover { border-color: var(--accent); }
.pv-btn:focus-visible, .pv-link:focus-visible, .pv-forget:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pv-link         { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent); text-decoration: none; font-weight: 500; }
.pv-fine         { margin: var(--s-3) 0 0; font-size: var(--fs-sm); color: var(--ink-3); }
.pv-sec          { margin-bottom: var(--s-8); }
.pv-sec h2       { font-family: var(--font-serif); font-weight: 400; font-size: var(--fs-xl); margin: 0 0 var(--s-4); }
.pv-perks        { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); grid-template-columns: 1fr; }
.pv-perk         { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--s-4); display: flex; flex-direction: column; gap: var(--s-2); }
.pv-perk-h       { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s-2); }
.pv-perk h3      { margin: 0; font-size: var(--fs-md); font-weight: 500; overflow-wrap: anywhere; }
.pv-perk p       { margin: 0; color: var(--ink-2); line-height: var(--lh-normal); }
.pv-perk .pv-price { color: var(--ink); font-weight: 500; }
.pv-perk .pv-btn { align-self: flex-start; margin-top: var(--s-1); }
.pv-tag          { flex: none; font-size: 13px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border); color: var(--ink-3); white-space: nowrap; }
.pv-tag--now     { color: var(--green-ink); border-color: var(--green-ink); }
.pv-steps        { margin: 0; padding-left: var(--s-5); color: var(--ink-2); line-height: var(--lh-loose); }
.pv-means        { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--s-5); }
.pv-means ul     { margin: 0 0 var(--s-4); padding-left: var(--s-5); color: var(--ink-2); line-height: var(--lh-loose); }
.pv-means li     { margin-bottom: var(--s-2); overflow-wrap: anywhere; }
.pv-forget       { display: inline-flex; align-items: center; min-height: 44px; background: none; border: 0; padding: 0; font: inherit; text-align: left; cursor: pointer; color: var(--accent); font-weight: 500; text-decoration: none; overflow-wrap: anywhere; }
.pv-forget:hover { text-decoration: underline; }
.pv-end          { text-align: center; }
@media (min-width: 900px) {
    .pv-page     { max-width: 960px; }
    .pv-perks    { grid-template-columns: 1fr 1fr; }
}
