/* ID4S sprint landing additions (reuses staging design system) */
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media (max-width:900px){ .grid-3,.grid-4{grid-template-columns:1fr 1fr;} }
@media (max-width:640px){ .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;} .form-row{grid-template-columns:1fr;} }
.price-card { border:1px solid rgba(20,184,166,.45); background:linear-gradient(160deg, rgba(20,184,166,.16), rgba(20,184,166,.03)); border-radius:var(--radius-lg); padding:1.5rem; }
.price-amt { font-family:var(--font-display); font-size:2.6rem; font-weight:700; color:var(--text); line-height:1; }
.price-amt small { font-size:1rem; color:var(--text-muted); font-weight:500; }
.kv-list { list-style:none; padding:0; margin:1rem 0 0; }
.kv-list li { padding:.55rem 0; border-top:1px solid var(--line); font-size:.95rem; }
.checklist { padding-left:1.2rem; } .checklist li { margin:.4rem 0; }
.dd-mini { background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius); padding:1rem; }
.dd-mini b { display:block; color:var(--accent-text); font-family:var(--font-display); }
.pkg { background:var(--bg-card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.4rem; }
.pkg h3 { margin:.2rem 0 .5rem; } .pkg .tiers { list-style:none; padding:0; margin:.75rem 0; }
.pkg .tiers li { display:flex; justify-content:space-between; gap:1rem; padding:.4rem 0; border-top:1px solid var(--line); font-size:.94rem; }
.pkg .tiers b { color:var(--text); white-space:nowrap; }
.tag { display:inline-block; font-size:.72rem; font-weight:650; letter-spacing:.08em; text-transform:uppercase; color:var(--accent-text); background:var(--accent-soft); padding:.2rem .55rem; border-radius:999px; }
.form-wide { max-width:none; }
.form-status { margin:0; font-size:.95rem; min-height:1.4em; }
.form-status.bad { color:var(--danger); } .form-status.ok { color:var(--accent-text); }
.consent { display:flex; gap:.6rem; align-items:flex-start; font-size:.9rem; }
.consent input { margin-top:.3rem; }
.hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.note { font-size:.88rem; color:var(--text-muted); }
.preview-banner { text-align:center; font-size:.8rem; padding:.45rem 1rem; background:var(--warn-bg); color:var(--warn-text); }
.hero-sprint { padding:4.5rem 0 3rem; }
.hero-sprint h1 { max-width:22ch; }
