.pricing-intro { padding-block: 80px 56px; }
.pricing-intro h1 { font-size: clamp(38px, 6vw, 58px); }
.pricing-intro h1 .accent { color: var(--secondary); }
.pricing-intro .lead { max-width: 570px; font-size: 16px; }
.pricing-draft { margin: 24px 0 0; color: #777; font-size: 12px; }
.plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; border: 1px solid #dfe4e9; border-radius: 5px; overflow: hidden; background: #e5e8ed; }
.plan { min-width: 0; display: flex; flex-direction: column; padding: 30px 24px; border-top: 3px solid transparent; background: #fff; scroll-margin-top: 24px; }
.plan-featured { border-top-color: var(--secondary); background: #f3f5f8; }
.plan h2 { font-size: 19px; }
.plan-description { min-height: 66px; margin: 14px 0 24px; color: #777; font-size: 13px; line-height: 1.7; }
.plan-price { display: flex; flex-direction: column; gap: 6px; margin: 0 0 30px; }
.plan-price strong { color: var(--accent); font-size: 40px; line-height: 1; font-weight: 500; letter-spacing: -.05em; }
.plan-price span { color: #777; font-size: 12px; }
.plan-quota { margin: auto 0 12px; padding-top: 20px; border-top: 1px solid #e5e8ed; color: var(--accent); font-size: 14px; }
.plan-quota strong { font-weight: 600; }
.plan-overage { min-height: 42px; margin: 0; color: #777; font-size: 12px; line-height: 1.7; }
.pricing-note { margin: 16px 0 0; color: #777; font-size: 12px; line-height: 1.8; }
.pricing-included { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; margin-top: 64px; padding-block: 44px; border-top: 1px solid #e5e5e5; }
.pricing-included p, .pricing-start p { color: #666; font-size: 14px; line-height: 1.8; }
.pricing-included p { max-width: 330px; margin-bottom: 0; }
.pricing-included ul { padding: 0; margin: 0; list-style: none; }
.pricing-included li { padding: 12px 0; border-bottom: 1px solid #e8e8e8; color: #555; font-size: 14px; line-height: 1.6; }
.pricing-included li:first-child { padding-top: 0; }
.pricing-faq { padding-block: 32px 56px; }
.pricing-faq h2 { margin-bottom: 26px; }
.pricing-faq details { border-top: 1px solid #e5e5e5; }
.pricing-faq details:last-child { border-bottom: 1px solid #e5e5e5; }
.pricing-faq summary { cursor: pointer; padding: 21px 0; color: var(--accent); font-size: 14px; line-height: 1.6; }
.pricing-faq summary::marker { color: var(--secondary); }
.pricing-faq summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.pricing-faq details p { max-width: 750px; margin: 0; padding-bottom: 24px; color: #666; font-size: 14px; line-height: 1.85; }
.pricing-start { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 36px 56px; }
.pricing-start p { margin: 12px 0 0; }
.pricing-start .primary { flex-shrink: 0; }
@media (max-width: 960px) {
    .plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .plan:nth-child(3) { border-left: 0; }
    .plan:nth-child(n + 3) { border-top: 1px solid #e5e8ed; }
    .plan-featured:nth-child(3) { box-shadow: inset 0 3px var(--secondary); }
}
@media (max-width: 720px) {
    .pricing-intro { padding-block: 52px 36px; }
    .pricing-included { grid-template-columns: 1fr; gap: 28px; margin-top: 40px; }
    .pricing-start { align-items: start; flex-direction: column; }
}
@media (max-width: 480px) {
    .plans { grid-template-columns: 1fr; }
    .plan { padding: 28px 24px; }
    .plan + .plan { border-left: 0; border-top: 1px solid #e5e8ed; }
    .plan-description { min-height: 0; }
    .plan-overage { min-height: 0; }
    .plan-featured { box-shadow: inset 0 3px var(--secondary); }
}
