.breadcrumbs { padding-block: 24px; font-size: 13px; color: var(--muted); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li + li::before { content: "/"; margin-inline-end: 10px; }
.page-hero { padding-block: 50px 78px; }
.page-hero h1 { max-width: 950px; font-size: clamp(38px, 5.5vw, 68px); }
.page-summary { max-width: 760px; color: var(--muted); font-size: 20px; }
.service-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 70px; }
.page-index { align-self: start; position: sticky; top: 28px; }
.page-index nav { display: grid; gap: 12px; }
.page-index a { font-size: 14px; text-decoration: none; color: var(--muted); }
.content-section { padding-bottom: 48px; margin-bottom: 40px; border-bottom: 1px solid var(--border); }
.content-section h2 { font-size: clamp(27px, 3vw, 36px); }
.content-section p, .content-section li { color: var(--muted); }
.content-section li { margin-bottom: 12px; }
.content-section ul, .content-section ol { padding-inline-start: 24px; }
.faq-item { padding-block: 20px; border-bottom: 1px solid var(--border); }
.faq-item summary { cursor: pointer; font-weight: 500; }
.faq-item p { margin: 16px 0 0; }
.service-card { display: flex; flex-direction: column; }
.service-card .text-link { margin-top: auto; padding-top: 24px; }
.contact-box { padding: 30px; background: var(--surface); border-radius: var(--radius); }
.related-services { display: flex; flex-wrap: wrap; gap: 14px 24px; }
@media (max-width: 850px) {
    .service-layout { grid-template-columns: 1fr; gap: 36px; }
    .page-index { position: static; }
    .page-index nav { display: flex; flex-wrap: wrap; gap: 14px 24px; }
    .page-hero { padding-block: 28px 50px; }
}
