/* ---- "Everything in the system": collapsible groups (owner-directed 2026-09-27) ---- */
.kit.kit-js .grp .h5 { padding-bottom: 0; }
/* collapsed, the large row gap (owner-set 2026-09-21 for always-open lists) read as an empty band; an open group makes its own room */
.kit.kit-js .groups { row-gap: var(--sp-7); }
.kit-toggle { appearance: none; background: transparent; border: 0; margin: 0; width: 100%; display: flex; align-items: center; gap: var(--sp-2); padding: 0 0 var(--sp-2); cursor: pointer; font: inherit; color: inherit; text-align: left; transition: color .18s ease; }
.kit-toggle:hover { color: var(--link); }
.kit-toggle:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: var(--radius-small); }
.kit-toggle .n { margin-left: auto; font-family: var(--f-03); font-size: var(--text-xs); letter-spacing: .1em; color: var(--text); }
.kit .grp .h5 .kit-toggle .chev { font-size: 22px; color: var(--icon); transition: transform .32s cubic-bezier(.2, .7, .2, 1); }
.kit .grp.open .kit-toggle .chev { transform: rotate(180deg); }
.kit .kbody { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s cubic-bezier(.2, .7, .2, 1); }
.kit .grp.open .kbody { grid-template-rows: 1fr; }
.kit .kbody > ul { overflow: hidden; min-height: 0; }
/* the plans: "What's included" collapses too, and the two cards open together (owner-directed 2026-09-27) */
.plan-toggle { appearance: none; background: transparent; border: 0; border-top: var(--border-w) solid var(--border-subtle); margin: 0; width: 100%; display: flex; align-items: center; gap: var(--sp-2); padding: 12px 0 0; cursor: pointer; text-align: left;
  font-family: var(--f-03); font-size: var(--text-xs); letter-spacing: .12em; text-transform: uppercase; color: var(--text-heading); transition: color .18s ease; }
.plan-toggle:hover { color: var(--link); }
.plan-toggle:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; border-radius: var(--radius-small); }
.plan-toggle .n { margin-left: auto; color: var(--text); }
.plan-toggle .chev { font-size: 22px; color: var(--icon); transition: transform .32s cubic-bezier(.2, .7, .2, 1); }
.plan.open .plan-toggle .chev { transform: rotate(180deg); }
.plan .kbody { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s cubic-bezier(.2, .7, .2, 1); margin-top: calc(var(--sp-4) * -1); align-self: start; }  /* start, or the card grid stretches it by the 24px the margin cancels */
.plan.open .kbody { grid-template-rows: 1fr; margin-top: 0; }
.plan .kbody > ul { overflow: hidden; min-height: 0; }
@media (prefers-reduced-motion: reduce) { .kit .kbody, .kit-toggle .chev, .plan .kbody, .plan-toggle .chev { transition: none; } }
