:root{--ink:#0A0A0A;--paper:#F3F0E8;--lime:#C6FF00;--mute:#55534d}
/* buy dialog */
dialog.ph-dialog{margin:auto;border:2px solid var(--ink);padding:0;max-width:440px;width:calc(100% - 32px);background:var(--paper);color:var(--ink);box-shadow:8px 8px 0 var(--ink);font:17px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif}
dialog.ph-dialog::backdrop{background:rgba(10,10,10,.6)}
.ph-dialog form{padding:24px}
.ph-dialog h2{font-size:1.6rem;line-height:1.05;letter-spacing:-.03em;font-weight:900;margin:0 0 4px}
.ph-dialog .ph-price{font-weight:900;font-size:1.2rem;margin:0 0 16px}
.ph-dialog label{display:block;font-weight:700;margin-bottom:6px}
.ph-dialog input[type=email]{width:100%;font:inherit;padding:12px;border:2px solid var(--ink);background:#fff;border-radius:0}
.ph-dialog input[type=email]:focus{outline:3px solid var(--lime);outline-offset:0}
.ph-dialog .ph-help{font-size:.9rem;color:var(--mute);margin:8px 0 16px}
.ph-dialog .ph-err{color:#9b1c1c;font-weight:700;margin:0 0 12px;min-height:1.2em}
.ph-dialog .ph-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ph-btn,.ph-dialog button.ph-go{display:inline-block;background:var(--ink);color:var(--lime);border:2px solid var(--ink);padding:13px 22px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.ph-btn:hover,.ph-dialog button.ph-go:hover{background:var(--lime);color:var(--ink)}
.ph-dialog button.ph-go[disabled]{opacity:.6;cursor:wait}
.ph-dialog button.ph-cancel{background:none;border:0;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;padding:8px}
/* download + thank-you pages */
body.ph-page{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 "Helvetica Neue",Helvetica,Arial,sans-serif}
.ph-box{max-width:560px;margin:8vh auto;padding:28px;border:2px solid var(--ink);background:#fff;box-shadow:8px 8px 0 var(--ink)}
.ph-box h1{font-size:2rem;line-height:1.05;letter-spacing:-.04em;font-weight:900;margin:0 0 14px}
.ph-kicker{display:inline-block;background:var(--lime);border:2px solid var(--ink);padding:2px 10px;font:700 .78rem ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.05em;margin:0 0 14px}
.ph-list{list-style:none;padding:0;margin:18px 0}
.ph-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:2px solid var(--ink)}
.ph-list li:last-child{border-bottom:2px solid var(--ink)}
.ph-note{color:var(--mute);font-size:.92rem}
.ph-box a{color:inherit}
.ph-box a.ph-btn{color:var(--lime)}
.ph-box a.ph-btn:hover{color:var(--ink)}
@media (max-width:520px){.ph-box{margin:16px;padding:20px}.ph-list li{flex-direction:column;align-items:flex-start}}

.ph-box.legal{max-width:760px}
.ph-box.legal h2{font-size:1.25rem;letter-spacing:-.02em;margin:26px 0 6px}
.ph-box.legal p,.ph-box.legal li{margin:8px 0}
.ph-box.legal ul{padding-left:20px}
.legal-nav{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;padding-top:16px;border-top:2px solid var(--ink);font-weight:700}
footer a{color:inherit}

/* phones and short screens */
dialog.ph-dialog{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto}
@media (max-width:520px){
 .ph-dialog form{padding:20px}
 .ph-dialog .ph-row{flex-direction:column;align-items:stretch}
 .ph-dialog button.ph-go{width:100%;padding:15px}
 .ph-dialog button.ph-cancel{padding:12px}
 .legal-nav a{display:inline-block;padding:8px 0}
 .ph-box.legal{padding:20px}
 .ph-btn{display:block;text-align:center;padding:15px 20px}
 .ph-list li .ph-btn{width:100%}
}
