/* Service procedures: a readable sequence with nearby supporting images. */
.service-reference .service-overview { padding-top: 36px; }
.service-reference .procedure-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.service-reference .procedure-steps { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; counter-reset: procedure; }
.service-reference .procedure-steps > li { counter-increment: procedure; position: relative; padding: 0 0 28px 56px; min-width: 0; }
.service-reference .procedure-steps > li::before { content: counter(procedure, decimal-leading-zero); position: absolute; top: 0; left: 0; color: var(--blue); font-size: 22px; font-weight: 800; line-height: 1.4; }
.service-reference .procedure-steps h3 { font-size: 21px; line-height: 1.35; margin: 0 0 10px; }
.service-reference .procedure-steps p, .service-reference .procedure-note { font-size: 16px; line-height: 1.7; margin: 0; }
.service-reference .procedure-steps > li + li { padding-top: 22px; border-top: 1px solid var(--line); }
.service-reference .procedure-steps > li + li::before { top: 22px; }
.service-reference .procedure-media { display: grid; gap: 28px; min-width: 0; }
.service-reference .procedure-photo { margin: 0; min-width: 0; }
.service-reference .procedure-photo img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: contain; border-radius: 16px; background: #edf1f5; }
.service-reference .procedure-photo figcaption { padding-top: 12px; color: #4a5b70; font-size: 14px; line-height: 1.6; }
.service-reference .procedure-note { border-left: 3px solid var(--blue); padding: 18px 22px; background: #edf2f7; }
.service-reference .service-overview .section-note { max-width: 76ch; }
.service-reference .price-summary { margin-top: 24px; }
.service-reference .service-overview .text-link { margin-top: 22px; display: inline-block; }
.service-reference .table-shell { max-width: 100%; }
.service-reference #procedure, .service-reference #service-prices { scroll-margin-top: 110px; }
@media (max-width: 900px) {
 .service-reference .procedure-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .service-reference .procedure-media { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
 .service-reference .procedure-note { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
 .service-reference .procedure-media { grid-template-columns: minmax(0, 1fr); }
 .service-reference .procedure-steps > li { padding-left: 44px; }
 .service-reference .procedure-steps h3 { font-size: 20px; }
 .service-reference .procedure-photo img { max-height: 360px; }
 .service-reference .service-overview { padding-top: 24px; }
}
