.local-breadcrumbs .breadcrumbs__list {
    display: block;
}

.local-breadcrumbs .breadcrumbs__item {
    font-size: 14px;
}

.local-breadcrumbs .breadcrumbs__item::after {
    content: none;
}

.local-breadcrumbs .breadcrumbs__item + .breadcrumbs__item::before {
    content: " / ";
    margin: 0 4px;
    color: #999;
}

.sp-page {
    background: linear-gradient(180deg, #f6f6f6 0%, #ffffff 300px);
}

.sp-page main {
    padding: 26px 0 70px;
}

.sp-section {
    margin: 42px 0;
}

.sp-shell {
    padding: 36px 40px;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 30px;
    box-shadow: 0 20px 45px rgba(17, 17, 17, 0.08);
}

.sp-hero .sp-shell {
    background: linear-gradient(135deg, #ffffff 0%, #f7f1eb 100%);
}

.sp-hero__grid,
.sp-grid {
    display: grid;
    gap: 24px;
}

.sp-hero__grid,
.sp-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sp-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sp-title h1,
.sp-title h2 {
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.sp-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: #f0ece5;
    color: #6b4f32;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.sp-lead,
.sp-shell p,
.sp-note,
.sp-card__body p,
.sp-contact-item p,
.sp-cta-box p {
    font-size: 18px;
    line-height: 1.7;
}

.sp-hero__actions,
.sp-card__actions,
.sp-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
}

.sp-hero__media,
.sp-card__image,
.sp-map,
.sp-cert {
    border-radius: 26px;
    overflow: hidden;
}

.sp-hero__media,
.sp-card__image {
    background: #ececec;
}

.sp-hero__media img,
.sp-card__image img,
.sp-cert img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.sp-hero__media {
    min-height: 100%;
}

.sp-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 40px rgba(17, 17, 17, 0.08);
}

.sp-card__image {
    aspect-ratio: 16 / 11;
}

.sp-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
}

.sp-card__body h3 {
    margin: 0 0 14px;
    font-size: 24px;
    line-height: 1.25;
}

.sp-card__body p {
    margin: 0 0 18px;
}

.sp-card__meta {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 16px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #f2f2f2;
    color: #545454;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sp-note {
    padding: 24px 28px;
    border-left: 6px solid #a91d17;
    background: #f4f4f4;
    border-radius: 24px;
}

.sp-note--soft {
    border-left-color: #1f1f1f;
    background: #faf7f2;
}

.sp-list {
    margin: 0;
    padding-left: 22px;
}

.sp-list li {
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1.65;
}

.sp-anchor {
    scroll-margin-top: 160px;
}

.sp-cta-box {
    padding: 34px 40px;
    color: #fff;
    background: linear-gradient(135deg, #232323 0%, #0f0f0f 100%);
    border-radius: 30px;
}

.sp-cta-box .section-title,
.sp-cta-box p,
.sp-cta-box .checkbox-text,
.sp-cta-box .checkbox-text a {
    color: #fff;
}

.sp-cta-box .section-title {
    margin-bottom: 16px;
}

.sp-contact-list {
    display: grid;
    gap: 18px;
}

.sp-contact-item {
    padding: 24px 26px;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 24px;
    box-shadow: 0 18px 40px rgba(17, 17, 17, 0.06);
}

.sp-contact-item__label {
    margin-bottom: 8px;
    color: #7a7a7a;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.sp-contact-item a {
    color: #a91d17;
    font-weight: 700;
}

.sp-map iframe {
    width: 100%;
    min-height: 420px;
    border: 0;
    display: block;
}

.sp-cert {
    display: block;
    box-shadow: 0 18px 40px rgba(17, 17, 17, 0.08);
}

.sp-footer-box {
    margin-top: 18px;
    padding: 18px 20px;
    background: #f3f3f3;
    border-radius: 20px;
}

.sp-footer-address {
    margin-top: 15px;
}

.sp-footer-box strong {
    display: block;
    margin-bottom: 12px;
}

.sp-payment-list {
    margin: 0;
    padding-left: 18px;
}

.sp-payment-list li {
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 1.55;
}

.sp-footer-note {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.55;
    color: #666;
}

.sp-404 {
    padding: 34px 0 70px;
}

.sp-404 .sp-shell {
    text-align: center;
    background: linear-gradient(135deg, #ffffff 0%, #f4ece5 100%);
}

.sp-404__code {
    margin-bottom: 12px;
    color: #a91d17;
    font-size: 64px;
    font-weight: 700;
    line-height: 1;
}

.sp-404__text {
    max-width: 780px;
    margin: 18px auto 0;
    font-size: 20px;
    line-height: 1.7;
}

.sp-quicklinks {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.sp-quicklinks a {
    color: #a91d17;
    font-weight: 700;
}

@media (max-width: 1023px) {
    .sp-hero__grid,
    .sp-grid--2,
    .sp-grid--3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-hero__grid > :first-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .sp-page main {
        padding: 22px 0 48px;
    }

    .sp-section {
        margin: 26px 0;
    }

    .sp-shell,
    .sp-cta-box,
    .sp-card__body,
    .sp-contact-item {
        padding: 22px 20px;
    }

    .sp-hero__grid,
    .sp-grid--2,
    .sp-grid--3 {
        grid-template-columns: 1fr;
    }

    .sp-lead,
    .sp-shell p,
    .sp-note,
    .sp-card__body p,
    .sp-contact-item p,
    .sp-cta-box p,
    .sp-list li {
        font-size: 16px;
    }

    .sp-card__body h3 {
        font-size: 22px;
    }

    .sp-map iframe {
        min-height: 300px;
    }

    .sp-404__code {
        font-size: 48px;
    }

    .sp-404__text {
        font-size: 18px;
    }
}
