.buy{max-width:1100px;margin:0 auto;padding:clamp(1.5rem,5vw,3.5rem) 1.25rem;color:#2d2d2d;line-height:1.6}
.buy h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:0 0 .75rem;letter-spacing:-.02em}
.buy .lede{font-size:1.1rem;color:#52525b;max-width:660px;margin:0 0 2rem}
.buy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}
.buy-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e4e4e7;border-top:4px solid #2d2d2d;border-radius:10px;padding:1.5rem}
.buy-card.feat{border-top-color:#f75f07;box-shadow:0 12px 28px rgba(0,0,0,.08)}
.buy-card h2{font-size:1.35rem;margin:0 0 .4rem}
.buy-badge{display:inline-block;align-self:flex-start;background:#fff0e6;color:#8f3400;font-weight:800;font-size:.8rem;border-radius:4px;padding:.25rem .6rem;margin-bottom:.7rem}
.buy-price{font-size:2.6rem;font-weight:900;line-height:1;margin:.6rem 0 .2rem}
.buy-price-note{color:#52525b;font-size:.92rem;margin:0 0 1rem}
.buy-list{padding-left:1.1rem;margin:0 0 1rem;font-size:.95rem}
.buy-list li{margin:.3rem 0}
.buy-fine{font-size:.85rem;color:#52525b;margin:0 0 1rem}
.buy-actions{margin-top:auto;display:grid;gap:.6rem}
.buy-btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1rem;border-radius:6px;border:2px solid #c94600;background:#c94600;color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.buy-btn:hover{background:#a83a00;border-color:#a83a00;color:#fff}
.buy-btn[disabled]{opacity:.5;cursor:not-allowed}
.buy-link{text-align:center;color:#123b67;font-size:.92rem}
.buy a:focus-visible,.buy button:focus-visible,.buy input:focus-visible{outline:3px solid #123b67;outline-offset:3px}
.buy-note{background:#e8f1fa;border-left:4px solid #123b67;color:#123b67;padding:1rem 1.25rem;border-radius:0 8px 8px 0;margin:1.5rem 0}
.buy-warn{background:#fff4e5;border-left:4px solid #c94600;padding:1rem 1.25rem;border-radius:0 8px 8px 0;margin:1.5rem 0}
.buy-panel{background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:1.5rem;margin:1.25rem 0}
.buy-form{display:grid;gap:1rem;max-width:560px}
.buy-form label{display:grid;gap:.3rem;font-weight:700}
.buy-form input[type=text],.buy-form input[type=email],.buy-form input[type=tel]{padding:.7rem;border:1px solid #a1a1aa;border-radius:6px;font:inherit;font-weight:400}
.buy-form .chk{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}
.buy-err{color:#a1260f;font-weight:700;font-size:.9rem}
.buy-cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem}
@media(max-width:820px){.buy-grid,.buy-cols{grid-template-columns:1fr}}
