.bs { padding-block: clamp(36px, 5vw, 66px); }
.bs__top { max-inline-size: 58ch; margin-block-end: clamp(22px, 3vw, 36px); }
.bs__tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-block-end: clamp(20px, 3vw, 30px); }
.bs__tabs input { position: absolute; opacity: 0; pointer-events: none; }
.bs__tabs label { cursor: pointer; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 10px 16px; border: 2px solid var(--line); background: var(--white); }
.bs__tabs input:checked + label { background: var(--red); border-color: var(--red); color: #fff; }
.bs__set { border-block-start: 2px solid var(--ink); }
.bs__q { border-block-end: 1px solid var(--line); background: var(--white); }
.bs__q summary { cursor: pointer; list-style: none; padding: 17px 46px 17px 18px; position: relative; font-family: var(--display); font-size: clamp(17px, 1.9vw, 21px); text-transform: uppercase; }
.bs__q summary::-webkit-details-marker { display: none; }
.bs__q summary::after { content: "+"; position: absolute; inset-inline-end: 16px; inset-block-start: 13px; font-size: 25px; color: var(--red); }
.bs__q[open] summary::after { content: "\2013"; }
.bs__q p { margin: 0; padding: 0 46px 18px 18px; color: var(--ink-3); }
#bs-buy:checked ~ .bs__set .bs__q:not([data-topic="buy"]),
#bs-build:checked ~ .bs__set .bs__q:not([data-topic="build"]),
#bs-after:checked ~ .bs__set .bs__q:not([data-topic="after"]) { display: none; }
