.tool-pricing { box-sizing: border-box; max-width: 76rem; margin: 3rem auto; padding: 0; color: inherit; }
.tool-pricing *, .tool-pricing *::before, .tool-pricing *::after { box-sizing: border-box; }
.tool-pricing > h2 { margin: 0 0 1.5rem; font-family: inherit; font-weight: 600; font-size: 1.5rem; line-height: 1.3; letter-spacing: -.02em; }
.tool-pricing fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.tool-pricing legend { float: none; width: auto; margin: 0 0 1rem; padding: 0; font-size: .875rem; font-weight: 500; }
.tool-pricing .tool-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 1rem; align-items: stretch; }
.tool-pricing .tool-plan { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line, #d6dce5); border-radius: .75rem; padding: 1.25rem; overflow-wrap: anywhere; background: var(--pricing-surface, var(--paper, #fff)); }
.tool-pricing .tool-plan h3 { margin: 0 0 .75rem; font-size: 1.125rem; line-height: 1.4; letter-spacing: normal; }
.tool-pricing .tool-plan > p { margin: 0 0 1.25rem; font-size: 1rem; font-weight: 600; line-height: 1.6; color: inherit; }
.tool-pricing .tool-plan label { display: flex; align-items: center; justify-content: flex-start; gap: .5rem; min-height: 44px; margin: auto 0 .5rem; padding: .5rem 0; font-size: .875rem; font-weight: 500; cursor: pointer; }
.tool-pricing .tool-plan input[type=radio] { display: inline-block; flex: 0 0 1rem; width: 1rem; height: 1rem; min-height: 0; max-width: 1rem; margin: 0; padding: 0; accent-color: var(--brand, var(--coral, #2463eb)); }
.tool-pricing .tool-plan details { border-top: 1px solid var(--line, #d6dce5); }
.tool-pricing .tool-plan summary { display: list-item; padding: .75rem 0; font-size: .875rem; cursor: pointer; }
.tool-pricing .tool-plan details p { margin: 0 0 .75rem; font-size: .875rem; line-height: 1.6; color: inherit; }
.tool-pricing .tool-plan:has(input:checked) { border-color: var(--brand, var(--coral, #2463eb)); }
.tool-pricing [data-plan-summary] { margin: 1.5rem 0 .5rem; font-size: 1.125rem; font-weight: 600; }
.tool-pricing > p:last-child { margin: .5rem 0 0; font-size: .875rem; }
.tool-pricing :focus-visible { outline: 3px solid var(--brand, var(--coral, currentColor)); outline-offset: 3px; }
@media (max-width: 600px) { .tool-pricing { padding: 1rem 0; } }
