.tm-ideagrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; align-items: start; }
.tm-idea { background: #fff; border: 1px solid var(--line); border-top: 5px solid var(--blue); border-radius: 7px; }
.tm-idea:nth-child(2n) { border-top-color: var(--lime); }
.tm-idea:nth-child(3n) { border-top-color: var(--gold); }
.tm-idea summary { position: relative; display: block; padding: 26px 64px 26px 28px; cursor: pointer; list-style: none; }
.tm-idea summary::-webkit-details-marker { display: none; }
.tm-idea summary::after { content: "+"; position: absolute; top: 24px; right: 24px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--sky); color: var(--teal); font-size: 22px; font-weight: 800; line-height: 1; }
.tm-idea[open] summary::after { content: "\2212"; }
.tm-idea summary:focus-visible { outline: 3px solid var(--teal); outline-offset: -3px; }
.tm-idea summary strong { display: block; margin: 12px 0 8px; font-size: 22px; }
.tm-idea summary span:last-child { display: block; color: var(--muted); line-height: 1.5; }
.tm-idealist { margin: 0; padding: 0 28px 26px; list-style: none; }
.tm-idealist li { padding: 14px 0; border-top: 1px solid var(--line); }
.tm-idealist b { display: block; margin-bottom: 4px; }
.tm-idealist span { color: var(--muted); font-size: 14px; line-height: 1.5; }
.tm-ideas .tm-actions { margin-top: 32px; }

@media (max-width: 780px) {
	.tm-ideagrid { grid-template-columns: 1fr; }
	.tm-idea summary { padding: 22px 60px 22px 22px; }
	.tm-idealist { padding: 0 22px 22px; }
}
