/* ============================================================
   Services 2026 — cityexpert-isk.ru
   Единая айдентика сайта: Inter, синий #366AF3, светлые фоны,
   rem-система как в redesign.css (1rem = 1px макета)
   ============================================================ */

:root {
    --svc-ink: #2A2A30;
    --svc-ink-soft: #676C7B;
    --svc-muted: #8C94A8;
    --svc-bg: #ffffff;
    --svc-bg-alt: #F4F6FB;
    --svc-blue: #366AF3;
    --svc-blue-hover: #3C77FF;
    --svc-blue-light: #ECF0F8;
    --svc-green: #10C44C;
    --svc-line: #ECF0F8;
    --svc-line-2: #DCE2EB;
    --svc-radius: 10rem;
    --svc-shadow: 0 10rem 30rem rgba(42, 42, 48, .08);
}

.svc26 {
    font-family: 'Inter', sans-serif;
    color: var(--svc-ink);
    line-height: 1.55;
    font-size: 16rem;
}
.svc26 *, .svc26 *:before, .svc26 *:after { box-sizing: border-box; }
.svc26 h1, .svc26 h2 { font-family: 'Inter', sans-serif; margin: 0; color: var(--svc-ink); }
.svc26 h2 { font-size: 30rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; }

/* --- появление при скролле --- */
.svc26-reveal { opacity: 0; transform: translateY(16rem); transition: opacity .5s ease, transform .5s ease; }
.svc26-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .svc26-reveal { opacity: 1; transform: none; transition: none; }
}

/* --- кнопки (как .btn-blue сайта) --- */
.svc26-btn {
    display: inline-flex; justify-content: center; align-items: center;
    padding: 14rem 28rem; border: 0; border-radius: var(--svc-radius);
    font: 600 16rem/1.2 'Inter', sans-serif; cursor: pointer;
    text-decoration: none; text-align: center; transition: background .18s ease, box-shadow .18s ease;
}
.svc26-btn:hover { text-decoration: none; }
.svc26-btn--accent { background: var(--svc-blue); color: #fff !important; }
.svc26-btn--accent:hover { background: var(--svc-blue-hover); color: #fff; box-shadow: 0 8rem 20rem rgba(54, 106, 243, .3); }
.svc26-btn--block { display: flex; width: 100%; }
.svc26-btn--tg { background: #2aabee; color: #fff !important; }
.svc26-btn--wa { background: #25d366; color: #fff !important; }
.svc26-btn--tg:hover, .svc26-btn--wa:hover { color: #fff; filter: brightness(1.06); }

/* --- секции --- */
.svc26-section { padding: 64rem 0; background: var(--svc-bg); }
.svc26-section--alt { background: var(--svc-bg-alt); }
.svc26-section--dark { background: var(--svc-bg-alt); }
.svc26-section--dark h2, .svc26-section--dark .svc26-quote__info h2 { color: var(--svc-ink); }
.svc26-section__head { display: flex; align-items: baseline; gap: 16rem; margin-bottom: 36rem; }
.svc26-section__num {
    font: 700 13rem/1 'Inter', sans-serif; color: var(--svc-blue); letter-spacing: .1em;
    padding: 6rem 10rem; border-radius: 8rem; background: var(--svc-blue-light);
}

/* --- 1. первый экран --- */
.svc26-hero { background: var(--svc-bg-alt); padding: 56rem 0; border-bottom: 1px solid var(--svc-line); }
.svc26-hero__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280rem, 1fr); gap: 48rem; align-items: center; }
.svc26-hero__kicker { font: 600 13rem/1 'Inter', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--svc-blue); margin-bottom: 16rem; }
.svc26-hero__title { font-size: 40rem; font-weight: 700; letter-spacing: -.02em; line-height: 1.15; color: var(--svc-ink); margin-bottom: 18rem; }
.svc26-hero__lead { font-size: 17rem; color: var(--svc-ink-soft); max-width: 640rem; margin-bottom: 28rem; }
.svc26-hero__actions { display: flex; align-items: center; gap: 28rem; flex-wrap: wrap; }
.svc26-hero__phone { text-decoration: none; }
.svc26-hero__phone-num { display: block; font: 700 22rem/1.2 'Inter', sans-serif; color: var(--svc-ink); }
.svc26-hero__phone-note { display: block; font-size: 12rem; color: var(--svc-muted); margin-top: 2rem; }
.svc26-hero__phone:hover .svc26-hero__phone-num { color: var(--svc-blue); }
.svc26-hero__badges { display: grid; grid-template-columns: 1fr 1fr; gap: 12rem; }
.svc26-badge {
    display: flex; align-items: flex-start; gap: 12rem; padding: 16rem 16rem 16rem 14rem;
    background: #fff; border: 1px solid var(--svc-line);
    border-radius: 12rem; box-shadow: 0 4rem 16rem rgba(42, 42, 48, .05);
    min-height: 88rem;
}
.svc26-badge__icon {
    flex: 0 0 40rem; width: 40rem; height: 40rem; border-radius: 10rem;
    background: var(--svc-blue-light); color: var(--svc-blue);
    display: flex; align-items: center; justify-content: center;
}
.svc26-badge__icon svg { width: 22rem; height: 22rem; display: block; }
.svc26-badge__text { display: flex; flex-direction: column; gap: 3rem; padding-top: 2rem; min-width: 0; }
.svc26-badge__text strong { font: 700 14rem/1.25 'Inter', sans-serif; color: var(--svc-ink); }
.svc26-badge__text span { font: 400 12.5rem/1.35 'Inter', sans-serif; color: var(--svc-ink-soft); }

/* --- 2. для кого --- */
.svc26-audience { display: grid; grid-template-columns: repeat(auto-fit, minmax(240rem, 1fr)); gap: 20rem; }
.svc26-audience__card {
    padding: 26rem; border: 1px solid var(--svc-line); border-radius: var(--svc-radius);
    background: #fff; transition: transform .2s ease, box-shadow .2s ease;
}
.svc26-audience__card:hover { transform: translateY(-4rem); box-shadow: var(--svc-shadow); }
.svc26-audience__title { font-weight: 700; font-size: 17rem; margin-bottom: 8rem; color: var(--svc-ink); }
.svc26-audience__text { color: var(--svc-ink-soft); font-size: 14.5rem; }

/* --- 3. цены --- */
.svc26-prices { background: #fff; border: 1px solid var(--svc-line); border-radius: var(--svc-radius); overflow: hidden; box-shadow: var(--svc-shadow); }
.svc26-prices__table { width: 100%; border-collapse: collapse; }
.svc26-prices__table th {
    text-align: left; font: 600 13rem/1.2 'Inter', sans-serif; letter-spacing: .06em; text-transform: uppercase;
    color: var(--svc-muted); padding: 16rem 24rem; border-bottom: 2px solid var(--svc-blue); background: var(--svc-bg-alt);
}
.svc26-prices__table td { padding: 16rem 24rem; border-bottom: 1px solid var(--svc-line); font-size: 15.5rem; vertical-align: top; color: var(--svc-ink); }
.svc26-prices__table tbody tr:last-child td { border-bottom: 0; }
.svc26-prices__table tbody tr:hover { background: var(--svc-bg-alt); }
.svc26-prices__price { font-weight: 700; white-space: nowrap; }
.svc26-prices__note { padding: 16rem 24rem; background: var(--svc-bg-alt); border-top: 1px solid var(--svc-line); color: var(--svc-muted); font-size: 13.5rem; }

/* --- 4. объекты: слайдер как на главной, стрелки над фото --- */
.svc26 #svc26-projects .many-projects .projects-button-next,
.svc26 #svc26-projects .many-projects .projects-button-prev {
    top: 200rem;
}
.svc26 #svc26-projects .many-projects .item-content-button {
    max-width: 220rem;
}

/* --- 4. объекты (старые карточки, если понадобятся) --- */
.svc26-projects { display: grid; grid-template-columns: repeat(auto-fit, minmax(280rem, 1fr)); gap: 20rem; }
.svc26-projects__card {
    border: 1px solid var(--svc-line); border-radius: var(--svc-radius); overflow: hidden; background: #fff;
    transition: transform .2s ease, box-shadow .2s ease;
}
.svc26-projects__card:hover { transform: translateY(-4rem); box-shadow: var(--svc-shadow); }
.svc26-projects__media { height: 180rem; background-size: cover; background-position: center; }
.svc26-projects__media--stub { display: flex; align-items: center; justify-content: center; background: linear-gradient(150deg, #366AF3, #3C77FF); font-size: 40rem; }
.svc26-projects__body { padding: 20rem 22rem 24rem; }
.svc26-projects__title { font-weight: 700; font-size: 16rem; margin-bottom: 6rem; color: var(--svc-ink); }
.svc26-projects__text { color: var(--svc-ink-soft); font-size: 14rem; }
.svc26-projects__more { margin-top: 28rem; }
.svc26-projects__more a { font-weight: 600; color: var(--svc-blue); text-decoration: none; }
.svc26-projects__more a:hover { color: var(--svc-blue-hover); text-decoration: underline; }

/* --- 5/11. форма расчёта --- */
.svc26-quote { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320rem, 1fr); gap: 48rem; align-items: start; }
.svc26-quote__info h2 { color: var(--svc-ink); margin-bottom: 16rem; }
.svc26-quote__info p { color: var(--svc-ink-soft); font-size: 16rem; }
.svc26-quote__points { margin: 22rem 0 0; padding: 0; list-style: none; }
.svc26-quote__points li { position: relative; padding: 6rem 0 6rem 28rem; color: var(--svc-ink-soft); font-size: 15rem; }
.svc26-quote__points li:before { content: "\2713"; position: absolute; left: 0; top: 6rem; color: var(--svc-green); font-weight: 700; }
.svc26-quote__form {
    background: #fff; border: 1px solid var(--svc-line); border-radius: var(--svc-radius); padding: 28rem;
    display: grid; gap: 14rem; box-shadow: var(--svc-shadow);
}
.svc26-input {
    width: 100%; padding: 14rem 16rem; border: 1px solid var(--svc-line-2); border-radius: var(--svc-radius);
    font: 400 15rem/1.4 'Inter', sans-serif; color: var(--svc-ink); background: #fff;
    transition: border-color .15s ease;
}
.svc26-input:focus { outline: none; border-color: var(--svc-blue); }
textarea.svc26-input { resize: vertical; min-height: 72rem; }
.svc26-file { display: block; border: 1.5px dashed var(--svc-line-2); border-radius: var(--svc-radius); padding: 16rem; text-align: center; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.svc26-file:hover, .svc26-file.is-drag { border-color: var(--svc-blue); background: var(--svc-blue-light); }
.svc26-file input[type=file] { display: none; }
.svc26-file__label { font-size: 14.5rem; font-weight: 600; color: var(--svc-ink-soft); }
.svc26-file__label small { font-weight: 400; color: var(--svc-muted); }
.svc26-file__list { display: block; font-size: 13rem; color: var(--svc-ink); margin-top: 6rem; word-break: break-all; }
.svc26-quote__privacy { font-size: 12rem; color: var(--svc-muted); text-align: center; }
.svc26-quote__privacy a { color: var(--svc-ink-soft); text-decoration: underline; }
.svc26-contacts { margin-top: 26rem; display: grid; gap: 10rem; }
.svc26-contacts__row { display: flex; gap: 14rem; font-size: 15rem; color: var(--svc-ink); }
.svc26-contacts__row span { flex: 0 0 90rem; color: var(--svc-muted); font-size: 13rem; padding-top: 2rem; }
.svc26-contacts__row a { color: var(--svc-blue); font-weight: 600; text-decoration: none; }
.svc26-contacts__row a:hover { color: var(--svc-blue-hover); text-decoration: underline; }

/* --- 6. схема работы --- */
.svc26-process { display: grid; grid-template-columns: repeat(auto-fit, minmax(180rem, 1fr)); gap: 18rem; }
.svc26-process__step { padding: 22rem; border: 1px solid var(--svc-line); border-radius: var(--svc-radius); background: #fff; position: relative; }
.svc26-process__n {
    width: 34rem; height: 34rem; border-radius: var(--svc-radius); background: var(--svc-blue); color: #fff;
    display: flex; align-items: center; justify-content: center; font: 700 15rem/1 'Inter', sans-serif; margin-bottom: 14rem;
}
.svc26-process__title { font-weight: 700; font-size: 15.5rem; margin-bottom: 6rem; color: var(--svc-ink); }
.svc26-process__text { color: var(--svc-ink-soft); font-size: 13.5rem; }

/* --- 7. входит / не входит --- */
.svc26-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 20rem; }
.svc26-scope__col { border-radius: var(--svc-radius); padding: 28rem; background: #fff; border: 1px solid var(--svc-line); }
.svc26-scope__col--in { border-top: 4rem solid var(--svc-green); }
.svc26-scope__col--out { border-top: 4rem solid var(--svc-muted); }
.svc26-scope__title { font-weight: 700; font-size: 17rem; margin-bottom: 14rem; color: var(--svc-ink); }
.svc26-scope__col ul { margin: 0; padding: 0; list-style: none; }
.svc26-scope__col li { position: relative; padding: 7rem 0 7rem 28rem; font-size: 15rem; color: var(--svc-ink-soft); }
.svc26-scope__col--in li:before { content: "\2713"; position: absolute; left: 0; color: var(--svc-green); font-weight: 700; }
.svc26-scope__col--out li:before { content: "+"; position: absolute; left: 2rem; color: var(--svc-muted); font-weight: 700; }

/* --- 8. документы --- */
.svc26-docs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240rem, 1fr)); gap: 20rem; }
.svc26-docs__card { border: 1px solid var(--svc-line); border-radius: var(--svc-radius); padding: 26rem; background: #fff; text-align: left; text-decoration: none; color: inherit; display: block; transition: transform .18s ease, box-shadow .18s ease; }
.svc26-docs__card:hover { transform: translateY(-3rem); box-shadow: var(--svc-shadow); text-decoration: none; color: inherit; }
.svc26-docs__card--file { padding: 12rem 12rem 20rem; }
.svc26-docs__preview { height: 220rem; border-radius: 8rem; overflow: hidden; background: var(--svc-bg-alt); margin-bottom: 14rem; display: flex; align-items: center; justify-content: center; }
.svc26-docs__preview img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.svc26-docs__hidden { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.svc26-docs__icon {
    width: 40rem; height: 40rem; border-radius: 10rem; margin-bottom: 12rem;
    background: var(--svc-blue-light); color: var(--svc-blue);
    display: flex; align-items: center; justify-content: center;
}
.svc26-docs__icon svg { width: 22rem; height: 22rem; display: block; }
.svc26-docs__title { font-weight: 600; font-size: 15rem; margin-bottom: 10rem; min-height: 42rem; color: var(--svc-ink); }
.svc26-docs__link { font-weight: 600; font-size: 14rem; color: var(--svc-blue); text-decoration: none; }
.svc26-docs__link:hover { color: var(--svc-blue-hover); text-decoration: underline; }
.svc26-docs__link--muted { color: var(--svc-muted); font-weight: 400; }
.svc26-docs__card--req { padding: 26rem; }
.svc26-docs__req { font-size: 14rem; line-height: 1.55; color: var(--svc-muted); }
.svc26-docs__req p { margin: 0 0 6rem; }
.svc26-docs__req p:last-child { margin-bottom: 0; }

/* --- 9. faq --- */
.svc26-faq { max-width: 860rem; }
.svc26-faq__item { border: 1px solid var(--svc-line); border-radius: var(--svc-radius); background: #fff; margin-bottom: 12rem; overflow: hidden; }
.svc26-faq__q {
    display: flex; justify-content: space-between; align-items: center; gap: 16rem; width: 100%;
    padding: 18rem 22rem; background: none; border: 0; cursor: pointer; text-align: left;
    font: 600 16rem/1.35 'Inter', sans-serif; color: var(--svc-ink);
}
.svc26-faq__q:hover { color: var(--svc-blue); }
.svc26-faq__chevron { flex: 0 0 12rem; width: 12rem; height: 12rem; border-right: 2px solid var(--svc-blue); border-bottom: 2px solid var(--svc-blue); transform: rotate(45deg); transition: transform .25s ease; margin-top: -4rem; }
.svc26-faq__item.is-open .svc26-faq__chevron { transform: rotate(225deg); margin-top: 4rem; }
.svc26-faq__a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.svc26-faq__a-inner { padding: 0 22rem 20rem; color: var(--svc-ink-soft); font-size: 15rem; }

/* --- 10. руководитель --- */
.svc26-lead {
    display: flex; gap: 28rem; align-items: center; padding: 32rem;
    border: 1px solid var(--svc-line); border-radius: var(--svc-radius); background: var(--svc-bg-alt);
}
.svc26-lead__avatar {
    flex: 0 0 96rem; width: 96rem; height: 96rem; border-radius: 50%; overflow: hidden;
    background: var(--svc-blue); color: #fff; display: flex; align-items: center; justify-content: center;
    font: 700 28rem/1 'Inter', sans-serif;
}
.svc26-lead__avatar img { width: 100%; height: 100%; object-fit: cover; }
.svc26-lead__name { font-weight: 700; font-size: 18rem; margin-bottom: 6rem; color: var(--svc-ink); }
.svc26-lead__note { color: var(--svc-ink-soft); font-size: 15rem; margin-bottom: 16rem; }
.svc26-lead__actions { display: flex; gap: 12rem; flex-wrap: wrap; }
.svc26-lead__actions .svc26-btn { padding: 11rem 20rem; font-size: 14rem; }

/* --- 12. смежные услуги --- */
.svc26-related { display: grid; grid-template-columns: repeat(auto-fit, minmax(240rem, 1fr)); gap: 16rem; }
.svc26-related__card {
    display: flex; justify-content: space-between; align-items: center; gap: 12rem;
    padding: 22rem 24rem; border: 1px solid var(--svc-line); border-radius: var(--svc-radius); background: #fff;
    text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.svc26-related__card:hover { transform: translateY(-3rem); box-shadow: var(--svc-shadow); border-color: var(--svc-blue); text-decoration: none; }
.svc26-related__title { font-weight: 600; font-size: 15.5rem; color: var(--svc-ink); }
.svc26-related__arrow { color: var(--svc-blue); font-size: 20rem; font-weight: 700; }

/* --- мобильная закреплённая панель --- */
.svc26-sticky {
    display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
    padding: 10rem 12rem calc(10rem + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .97); backdrop-filter: blur(8px);
    border-top: 1px solid var(--svc-line-2);
    gap: 10rem;
}
.svc26-sticky__call, .svc26-sticky__cta {
    flex: 1; text-align: center; padding: 13rem 10rem; border-radius: var(--svc-radius);
    font: 600 14.5rem/1.2 'Inter', sans-serif; text-decoration: none;
}
.svc26-sticky__call { background: var(--svc-blue-light); color: var(--svc-blue) !important; }
.svc26-sticky__cta { background: var(--svc-blue); color: #fff !important; }

/* --- скрыть магазинную механику на страницах услуг --- */
.services-2026-page .header-basket,
.services-2026-page .header-bonus,
.services-2026-page .cart-module { display: none !important; }

/* ============ адаптив ============ */
@media (max-width: 991px) {
    .svc26-hero { padding: 40rem 0; }
    .svc26-hero__grid { grid-template-columns: 1fr; gap: 30rem; }
    .svc26-hero__title { font-size: 32rem; }
    .svc26-quote { grid-template-columns: 1fr; gap: 30rem; }
    .svc26-scope { grid-template-columns: 1fr; }
    .svc26 h2 { font-size: 25rem; }
    .svc26-section { padding: 48rem 0; }
}
@media (max-width: 767px) {
    .svc26-hero__badges { grid-template-columns: 1fr; }
    .svc26-hero__title { font-size: 27rem; }
    .svc26-lead { flex-direction: column; text-align: center; align-items: center; }
    .svc26-lead__actions { justify-content: center; }
    .svc26-sticky { display: flex; }
    .svc26 { padding-bottom: 64rem; }

    /* таблица цен -> карточки */
    .svc26-prices__table thead { display: none; }
    .svc26-prices__table, .svc26-prices__table tbody, .svc26-prices__table tr, .svc26-prices__table td { display: block; width: 100%; }
    .svc26-prices__table tr { border-bottom: 1px solid var(--svc-line); padding: 14rem 18rem; }
    .svc26-prices__table tr:last-child { border-bottom: 0; }
    .svc26-prices__table td { padding: 3rem 0; border: 0; font-size: 15rem; }
    .svc26-prices__table td[data-label="Ед."]:before { content: "Ед.: "; color: var(--svc-muted); font-size: 13rem; }
    .svc26-prices__table td[data-label="Цена"] { font-size: 16.5rem; }
}
