.pn-hint{margin:.3rem 0 0;font-size:.9rem;color:var(--soft)}
.pn-hero{max-width:760px}.pn-lede{font-size:1.2rem;color:var(--soft)}
.pn-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:1.2rem 0 2rem;padding:0;list-style:none}
.pn-card{background:#fffaf1;border:2px solid var(--ink);border-radius:18px;padding:1.1rem 1.2rem;box-shadow:4px 4px 0 var(--ink)}
.pn-card h3{margin:.2rem 0 .4rem;font-size:1.15rem}.pn-card p{margin:.3rem 0}
.pn-kicker{font:600 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.pn-cta{background:var(--ink);color:var(--paper);border-radius:22px;padding:1.6rem 1.6rem;margin:2rem 0}
.pn-cta h2{color:var(--paper);margin-top:0}.pn-cta p{color:var(--paper2)}
.pn-cta .button{background:var(--paper);color:var(--ink);border-color:var(--paper)}.pn-cta .button:hover{background:var(--red);color:var(--paper);border-color:var(--red)}
.pn-demo{background:#fff3b0;border:3px dashed var(--ink);border-radius:14px;padding:.9rem 1.1rem;margin:0 0 1.4rem;font-weight:600}
.pn-demo strong{font:700 .85rem var(--mono);letter-spacing:.06em;text-transform:uppercase;display:block;color:var(--red)}
.pn-head{display:grid;gap:1.4rem;grid-template-columns:1fr;align-items:start}
@media(min-width:860px){.pn-head{grid-template-columns:1.4fr 1fr}}
.pn-official{background:var(--moss);color:#fff;border-radius:20px;padding:1.3rem 1.4rem}
.pn-official h2{color:#fff;margin:0 0 .4rem;font-size:1.3rem}.pn-official p{color:#e9f2ea;margin:.3rem 0 .9rem}
.pn-official .button{background:#fff;color:var(--ink);border-color:#fff;font-size:1rem}.pn-official .button:hover{background:var(--paper2)}
.pn-photo{border:2px dashed var(--line);border-radius:18px;min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;color:var(--soft);background:var(--paper2)}
.pn-photo img{max-width:100%;height:auto;border-radius:14px}.pn-logo{background:#fff;border-style:solid;min-height:0;padding:1.2rem}.pn-logo img{max-width:280px;margin:0 auto;display:block;border-radius:0}
.pn-code{display:inline-block;font:700 1.6rem var(--mono);letter-spacing:.12em;border:3px solid var(--ink);border-radius:12px;padding:.3rem .9rem;background:#fff}
.pn-tag{display:inline-block;font:600 .72rem var(--mono);background:var(--red);color:#fff;border-radius:99px;padding:.15rem .6rem;vertical-align:middle;margin-left:.4rem}
.pn-qr{display:grid;gap:1rem;grid-template-columns:1fr;align-items:center}@media(min-width:700px){.pn-qr{grid-template-columns:200px 1fr}}
.pn-qr img{width:200px;height:200px;background:#fff;border-radius:10px}
.pn-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.pn-chips button{font:600 .85rem var(--mono);border:2px solid var(--ink);border-radius:99px;background:transparent;padding:.4rem .9rem;cursor:pointer;color:var(--ink)}
.pn-chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.pn-fields{columns:2 260px;padding-left:1.2rem}.pn-fields li{margin:.2rem 0;break-inside:avoid}
.pn-form{background:#fffaf1;border:2px solid var(--ink);border-radius:18px;padding:1.2rem 1.3rem;box-shadow:4px 4px 0 var(--ink);margin:1rem 0 2rem}
.pn-form label{display:block;font-weight:600;margin:.9rem 0 .25rem}.pn-form label span{font-weight:400;color:var(--soft)}
.pn-form input[type=text],.pn-form input[type=email],.pn-form input[type=url],.pn-form select,.pn-form textarea{width:100%;box-sizing:border-box;font:inherit;padding:.55rem .7rem;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink)}
.pn-form .pn-check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.pn-form .pn-check input{margin-top:.3rem;width:1.1rem;height:1.1rem;flex:none}
.pn-form button{margin-top:1.1rem}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pn-steps{counter-reset:s;list-style:none;padding:0}.pn-steps li{counter-increment:s;margin:.6rem 0;padding-left:2.4rem;position:relative}
.pn-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--red);color:#fff;font:700 .95rem var(--mono);display:flex;align-items:center;justify-content:center}
