.diagnostics-page { background: #fcfcfc; }
.diagnostics-page h1, .diagnostics-page h2, .diagnostics-page h3 { letter-spacing: 0; }
.diagnostics-page h2 { line-height: 1; }
.diagnostics-page .button { min-height: 44px; padding-block: 11px; line-height: 20px; }
.diagnostics-page .eyebrow { font-size: 16px; line-height: 1; letter-spacing: .02em; margin-bottom: 32px; }
.diagnostics-page .diagnostics-intro { font-size: 18px; line-height: 25px; color: #6d6d6d; }
.diagnostics-heading > .diagnostics-intro { margin-top: 16px; }
.diagnostics-heading { margin-bottom: 40px; }
.diagnostics-hero { padding-top: 32px; }
.diagnostics-hero__heading { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; min-height: 175px; margin-bottom: 40px; }
.diagnostics-hero h1 { font-size: 48px; line-height: 1.05; }
.diagnostics-hero__heading > div > p { font-size: 18px; line-height: 25px; color: #6d6d6d; }
.diagnostics-hero__heading .button { margin-top: 24px; min-height: 51px; }
.diagnostics-hero__image { width: 100%; height: 380px; object-fit: cover; border-radius: 8px; }
.diagnostics-for { overflow: hidden; }
.diagnostics-audiences { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.diagnostics-audience { position: relative; min-width: 0; }
.diagnostics-audience__shadow { position: absolute; top: -50px; left: -50px; width: calc(100% + 100px); height: calc(100% + 100px); max-width: none; pointer-events: none; }
.diagnostics-audience__body { position: relative; min-height: 224px; height: 100%; padding: 20px; background: #fff; border-radius: 8px; }
.diagnostics-badge { display: inline-block; padding: 4px 12px; color: #fff; background: #3465e3; border-radius: 30px; font-size: 14px; line-height: 20px; margin-bottom: 40px; }
.diagnostics-audience h3 { font-size: 18px; line-height: 20px; margin-bottom: 8px; }
.diagnostics-audience p { font-size: 16px; line-height: 22px; color: #6d6d6d; }
.diagnostics-result { background: #fff; }
.diagnostics-result__layout { display: grid; grid-template-columns: minmax(0, 568fr) minmax(0, 612fr); gap: 80px; align-items: center; }
.diagnostics-result__passport { width: 100%; height: 520px; object-fit: contain; }
.diagnostics-result__copy .diagnostics-heading { margin-bottom: 32px; }
.diagnostics-results { list-style: none; padding: 0; margin: 0 0 32px; display: grid; gap: 32px; }
.diagnostics-results li { display: flex; align-items: flex-start; gap: 20px; }
.diagnostics-result__check { flex: 0 0 40px; height: 40px; border-radius: 50%; background: #eef2ff; color: #3465e3; font-size: 18px; display: grid; place-items: center; }
.diagnostics-results h3 { font-size: 20px; line-height: 26px; margin-bottom: 6px; }
.diagnostics-results p { font-size: 16px; line-height: 23px; color: #6d6d6d; }
.diagnostics-link { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; line-height: 27px; font-weight: 500; color: #3465e3; }
.diagnostics-link:hover { text-decoration: underline; }
.diagnostics-link img { flex: 0 0 auto; }
.diagnostics-table-hint { display: none; }
.diagnostics-table-wrap { overflow-x: auto; border: 1px solid #e5e5e5; border-radius: 12px; }
.diagnostics-table { table-layout: fixed; background: #fff; }
.diagnostics-table tr > :first-child { width: 28.57%; }
.diagnostics-table tr > :not(:first-child) { width: 35.715%; }
.diagnostics-table th, .diagnostics-table td { padding: 7px 24px; font-size: 16px; line-height: 22px; vertical-align: middle; }
.diagnostics-table thead { background: #f4f4f4; }
.diagnostics-table thead tr { height: 58px; }
.diagnostics-table thead th:nth-child(2) { color: #3465e3; }
.diagnostics-table tbody th { font-weight: 500; }
.diagnostics-table tbody td { color: #6d6d6d; }
.diagnostics-table tbody tr { height: 59px; border-top: 1px solid #ececec; }
.diagnostics-table tbody tr:nth-last-child(-n + 2) { height: 81px; }
.diagnostics-table tbody td:nth-child(2) { background: #eef2ff; }
.diagnostics-levels__heading { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: end; margin-bottom: 40px; }
.diagnostics-levels__heading .diagnostics-heading { margin: 0; }
.diagnostics-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.diagnostics-price { position: relative; padding: 32px 20px; border-radius: 8px; background: #fff; min-width: 0; }
.diagnostics-price--featured { background: #2e2d2d; color: #fff; }
.diagnostics-price__popular { position: absolute; left: 20px; top: -16px; padding: 6px 8px; border-radius: 40px; background: #3465e3; color: #fff; font-size: 14px; line-height: 20px; }
.diagnostics-price__head { min-height: 152px; }
.diagnostics-price__number { display: block; color: #3465e3; font-size: 36px; line-height: 44px; margin-bottom: 16px; }
.diagnostics-price h3 { font-size: 22px; line-height: 24px; margin-bottom: 8px; }
.diagnostics-price__head p { font-size: 16px; line-height: 22px; color: #6d6d6d; }
.diagnostics-price__items { list-style: none; padding: 0; margin: 16px 0 24px; min-height: 140px; }
.diagnostics-price:last-child .diagnostics-price__items { min-height: 112px; }
.diagnostics-price__items li { display: flex; align-items: flex-start; gap: 12px; padding: 4px 0; font-size: 14px; line-height: 20px; color: #6d6d6d; }
.diagnostics-price__items img { flex: 0 0 auto; }
.diagnostics-price__button { width: 100%; }
.diagnostics-price__certification { margin-top: 24px; text-align: center; font-size: 14px; line-height: 20px; color: #6d6d6d; }
.diagnostics-price--featured .diagnostics-price__head p, .diagnostics-price--featured .diagnostics-price__items li, .diagnostics-price--featured .diagnostics-price__certification { color: #a9a9a9; }
.diagnostics-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.diagnostics-step__marker { display: flex; align-items: center; margin-bottom: 40px; }
.diagnostics-step__marker > span { display: grid; place-items: center; flex: 0 0 56px; height: 56px; border: 1px solid #3465e3; border-radius: 50%; color: #3465e3; font-size: 18px; line-height: 26px; }
.diagnostics-step__marker::after { content: ''; height: 2px; background: #cad8ff; flex: 1; }
.diagnostics-steps > li:last-child .diagnostics-step__marker > span { background: #3465e3; color: #fff; }
.diagnostics-steps > li:last-child .diagnostics-step__marker::after { display: none; }
.diagnostics-step__copy { padding-right: 32px; }
.diagnostics-step__copy h3 { font-size: 22px; line-height: 32px; margin-bottom: 12px; }
.diagnostics-step__copy p { font-size: 16px; line-height: 23px; color: #6d6d6d; }
.diagnostics-faq { background: #222; color: #fff; }
.diagnostics-faq__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.diagnostics-faq__heading { display: flex; flex-direction: column; justify-content: space-between; }
.diagnostics-faq__items { display: grid; gap: 24px; }
.diagnostics-faq details { border-bottom: 1px solid #545454; padding-bottom: 30px; }
.diagnostics-faq details[open] { min-height: 138px; }
.diagnostics-faq details[open]:nth-child(2) { min-height: 160px; }
.diagnostics-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; cursor: pointer; list-style: none; font-size: 16px; line-height: 22px; font-weight: 500; }
.diagnostics-faq summary::-webkit-details-marker { display: none; }
.diagnostics-faq summary img { flex: 0 0 auto; transform: rotate(45deg); }
.diagnostics-faq details[open] summary img { transform: none; }
.diagnostics-faq details > p { color: #a9a9a9; font-size: 16px; line-height: 22px; margin-top: 8px; padding-right: 40px; }
.diagnostics-cta { background: #f4f4f4; text-align: center; }
.diagnostics-cta .container { max-width: 620px; }
.diagnostics-cta p { margin-top: 20px; font-size: 18px; line-height: 25px; color: #6d6d6d; }
.diagnostics-cta .button { width: 100%; margin-top: 40px; }
@media (max-width: 1100px) {
    .diagnostics-result__layout { gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .diagnostics-result__passport { height: auto; }
    .diagnostics-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
    .diagnostics-steps > li:nth-child(2) .diagnostics-step__marker::after { display: none; }
    .diagnostics-prices { gap: 16px; }
    .diagnostics-price { padding-inline: 16px; }
    .diagnostics-price h3 { font-size: 20px; }
    .diagnostics-price__head { min-height: 174px; }
}
@media (max-width: 900px) {
    .diagnostics-hero__heading, .diagnostics-result__layout, .diagnostics-levels__heading, .diagnostics-faq__layout { grid-template-columns: 1fr; gap: 32px; }
    .diagnostics-hero h1 { font-size: 42px; }
    .diagnostics-hero__image { height: 300px; }
    .diagnostics-audiences, .diagnostics-prices { grid-template-columns: 1fr; gap: 28px; }
    .diagnostics-audience__body { min-height: 0; }
    .diagnostics-result__passport { width: 100%; max-width: 568px; justify-self: center; }
    .diagnostics-result__copy { min-width: 0; }
    .diagnostics-price { padding: 32px 24px; }
    .diagnostics-price__head, .diagnostics-price__items, .diagnostics-price:last-child .diagnostics-price__items { min-height: 0; }
    .diagnostics-price__items { margin-top: 24px; }
    .diagnostics-price__head p { max-width: 520px; }
    .diagnostics-faq__heading .diagnostics-heading { margin-bottom: 24px; }
    .diagnostics-table { min-width: 900px; }
    .diagnostics-table-hint { display: block; color: #6d6d6d; font-size: 12px; margin-bottom: 16px; }
}
@media (max-width: 760px) {
    .diagnostics-page h2 { font-size: 28px; line-height: 1.12; }
    .diagnostics-page .eyebrow { font-size: 12px; line-height: 1.3; margin-bottom: 24px; }
    .diagnostics-page .diagnostics-intro, .diagnostics-hero__heading > div > p { font-size: 16px; line-height: 1.5; }
    .diagnostics-heading { margin-bottom: 32px; }
    .diagnostics-hero { padding-top: 24px; }
    .diagnostics-hero__heading { margin-bottom: 28px; gap: 24px; }
    .diagnostics-hero h1 { font-size: 36px; line-height: 1.08; }
    .diagnostics-hero__heading .button { width: 100%; padding-inline: 16px; font-size: 14px; }
    .diagnostics-hero__image { height: auto; min-height: 160px; object-fit: cover; }
    .diagnostics-badge { margin-bottom: 24px; }
    .diagnostics-audience h3 { line-height: 1.3; }
    .diagnostics-results { gap: 28px; }
    .diagnostics-results li { gap: 14px; }
    .diagnostics-result__check { flex-basis: 32px; height: 32px; font-size: 16px; }
    .diagnostics-results h3 { font-size: 18px; line-height: 24px; }
    .diagnostics-results p { font-size: 15px; line-height: 22px; }
    .diagnostics-link { font-size: 14px; line-height: 22px; }
    .diagnostics-steps { grid-template-columns: 1fr; gap: 32px; }
    .diagnostics-steps > li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; }
    .diagnostics-step__marker { align-self: stretch; display: flex; flex-direction: column; margin: 0; gap: 16px; }
    .diagnostics-step__marker > span { flex-basis: 48px; width: 48px; height: 48px; font-size: 16px; }
    .diagnostics-step__marker::after, .diagnostics-steps > li:nth-child(2) .diagnostics-step__marker::after { display: block; width: 2px; height: auto; }
    .diagnostics-step__copy { padding: 8px 0 0; }
    .diagnostics-step__break { display: none; }
    .diagnostics-step__copy h3 { font-size: 20px; line-height: 26px; }
    .diagnostics-faq details[open], .diagnostics-faq details[open]:nth-child(2) { min-height: 0; }
    .diagnostics-faq details > p { padding-right: 0; font-size: 15px; }
    .diagnostics-cta p { font-size: 16px; line-height: 24px; }
    .diagnostics-cta .button { font-size: 14px; padding-inline: 16px; }
}
