.plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.plan { display: flex; flex-direction: column; padding: clamp(18px, 3vw, 30px); border: 1px solid var(--line); border-radius: 16px; background: white; }
.plan.featured { border: 2px solid #a78ad8; background: #f3ecff; }
.plan > p { color: var(--muted); }
.plan-price strong { color: var(--ink); font-size: clamp(1.6rem, 3vw, 2.4rem); }
.plan .button { margin-top: auto; }
.plan .check-list { margin-bottom: 24px; }
details { border-bottom: 1px solid var(--line); padding: 12px 0; }
summary { cursor: pointer; font-weight: 700; padding: 4px 0; }
details p { color: var(--muted); margin: 8px 0 3px; }
@media (max-width: 860px) { .plan-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 218px), 1fr)); } }
