.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;margin:10px 0 60px}
.cert-card{display:flex;flex-direction:column;background:var(--paper);padding:14px 14px 22px;border-radius:3px;box-shadow:0 14px 34px rgba(120,80,50,.1);transition:transform .25s,box-shadow .25s}
.cert-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(120,80,50,.18)}
.cert-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.cert-body{padding:18px 8px 0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.cert-body .eyebrow{font-size:.65rem;margin:0}
.cert-body h3{margin:0;font-size:1.9rem}
.cert-from{margin:0 0 8px;color:var(--mauve);font:400 1.5rem var(--serif)}
.buy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start;padding-bottom:80px}
.buy-photo{position:sticky;top:96px}
.buy-photo img{width:100%;border-radius:4px;box-shadow:0 24px 50px rgba(120,80,50,.18)}
.step.first{margin-top:0}
.pkg-list{display:flex;flex-direction:column;gap:12px}
.pkg input{position:absolute;opacity:0;pointer-events:none}
.pkg-body{display:block;border:1px solid var(--camel);border-radius:14px;background:var(--paper);padding:16px 20px;cursor:pointer;transition:.15s}
.pkg:hover .pkg-body{border-color:var(--rust)}
.pkg input:checked+.pkg-body{border-color:var(--mauve);box-shadow:inset 0 0 0 2px var(--mauve);background:#fff}
.pkg input:focus-visible+.pkg-body{outline:2px solid var(--rust);outline-offset:3px}
.pkg-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.pkg-title{font:500 1.5rem var(--serif)}
.pkg-price{font:400 1.7rem var(--serif);color:var(--mauve);white-space:nowrap}
.pkg-feat{list-style:none;margin:8px 0 0;padding:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.pkg-feat li::before{content:"✓ ";color:var(--gold)}
.fields .wide{grid-column:1/-1;max-width:none}
.fields textarea{font:inherit;color:var(--ink);padding:14px 16px;border:1px solid var(--camel);border-radius:6px;background:var(--paper);resize:vertical}
.small{font-size:.88rem;margin-top:14px}
@media(max-width:860px){.buy{grid-template-columns:1fr;gap:28px}.buy-photo{position:static}}
