.inner-page { --inner-accent: #c99a43; background: #f8fbfd; }
.inner-page .inner-site-header, .inner-page .inner-site-header.scrolled { position: fixed; top: 0; border-bottom: 1px solid #e5edf4; background: rgba(255,255,255,.98); }
.inner-page main { min-height: 58vh; }
.inner-breadcrumb { margin-bottom: 32px; display: flex; align-items: center; gap: 9px; color: #6f879d; font-size: 14px; line-height: 1.5; }
.inner-breadcrumb a:hover { color: var(--navy); }
.inner-breadcrumb b { max-width: 470px; overflow: hidden; color: var(--navy); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.inner-eyebrow { margin: 0 0 13px !important; color: var(--inner-accent) !important; font-size: 12px !important; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.inner-hero { position: relative; overflow: hidden; padding: 58px 0 64px; background: radial-gradient(circle at 82% 25%, rgba(211,166,78,.16), transparent 24%), linear-gradient(115deg,#fafdff,#edf6fb); }
.inner-hero::after { content: ""; position: absolute; right: -100px; bottom: -280px; width: 500px; height: 500px; border: 1px solid rgba(24,80,126,.10); border-radius: 50%; }
.inner-hero h1 { max-width: 760px; margin: 0; color: var(--navy); font-family: "STZhongsong","Songti SC",SimSun,serif; font-size: 45px; line-height: 1.18; }
.inner-hero h1 + p { max-width: 680px; margin: 18px 0 0; color: #60798f; font-size: 15px; line-height: 1.8; }

.catalog-section { padding: 52px 0 82px; }
.catalog-toolbar { position: sticky; z-index: 5; top: 73px; margin-bottom: 24px; padding: 13px; border: 1px solid #e2ebf2; border-radius: 14px; display: flex; align-items: center; gap: 16px; background: rgba(255,255,255,.96); box-shadow: 0 12px 32px rgba(12,53,87,.06); backdrop-filter: blur(12px); }
.catalog-toolbar > label { flex: 0 0 245px; height: 43px; padding: 0 13px; border: 1px solid #dce7ef; border-radius: 9px; display: flex; align-items: center; gap: 8px; background: #f8fbfd; }
.catalog-toolbar > label .ui-icon { color: #67819a; }
.catalog-toolbar input { min-width: 0; width: 100%; border: 0; outline: 0; color: var(--navy); background: transparent; font-size: 14px; }
.catalog-tabs { min-width: 0; display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.catalog-tabs::-webkit-scrollbar { display: none; }
.catalog-tabs a { padding: 9px 13px; border-radius: 8px; color: #667f96; font-size: 13px; font-weight: 600; white-space: nowrap; }
.catalog-tabs a.active, .catalog-tabs a:hover { color: #fff; background: var(--navy); }
.catalog-summary { margin: 0 1px 19px; display: flex; justify-content: space-between; color: #70869a; font-size: 13px; }
.catalog-summary span { color: #9a7b40; }
.inner-card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 21px; }
.inner-service-card { min-width: 0; overflow: hidden; border: 1px solid #e1eaf1; border-radius: 14px; display: block; background: #fff; box-shadow: 0 14px 38px rgba(12,52,85,.05); transition: transform .25s ease, box-shadow .25s ease; }
.inner-service-card:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(12,52,85,.10); }
.inner-card-image { position: relative; height: 220px; overflow: hidden; display: block; }
.inner-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.inner-service-card:hover .inner-card-image img { transform: scale(1.035); }
.inner-card-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,rgba(5,29,49,.38)); }
.inner-card-image span { position: absolute; z-index: 1; left: 14px; bottom: 13px; padding: 5px 9px; border-radius: 6px; display: inline-flex; align-items: center; gap: 5px; color: #fff; background: rgba(7,43,88,.82); font-size: 12px; backdrop-filter: blur(5px); }
.inner-card-copy { min-height: 247px; padding: 21px 21px 19px; display: flex; flex-direction: column; }
.inner-card-copy small { color: #98712e; font-size: 12px; letter-spacing: .05em; }
.inner-card-copy h2 { margin: 8px 0 8px; color: var(--navy); font-family: "STZhongsong","Songti SC",SimSun,serif; font-size: 21px; line-height: 1.3; }
.inner-card-copy p { margin: 0; color: #667e94; font-size: 14px; line-height: 1.75; }
.inner-card-copy > .inner-card-footer { margin-top: auto; padding-top: 16px; border-top: 1px solid #edf2f6; display: flex; flex-direction: column; align-items: stretch; gap: 11px; }
.inner-card-copy strong { color: var(--navy); font-size: 14px; }
.inner-card-title { display: block; }
.inner-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.inner-detail-link, .inner-consult-button { min-height: 38px; padding: 0 10px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.inner-detail-link { border: 1px solid #d8e3ec; color: var(--navy); background: #fff; }
.inner-detail-link:hover { color: #fff; border-color: var(--navy); background: var(--navy); }
.inner-consult-button { border: 1px solid var(--navy); color: #fff; background: var(--navy); cursor: pointer; }
.inner-consult-button:hover, .inner-consult-button:focus { background: #164b7b; }
.inner-detail-link .ui-icon, .inner-consult-button .ui-icon { font-size: 15px; }
.catalog-empty { display: none; padding: 70px 20px; text-align: center; color: #8295a8; }
.catalog-empty.show { display: block; }

.detail-shell { padding: 58px 0 72px; background: linear-gradient(180deg,#f7fbfe,#fff); }
.detail-grid { display: grid; grid-template-columns: 1.28fr .72fr; gap: 45px; align-items: start; }
.detail-visual { position: sticky; top: 86px; height: 580px; overflow: hidden; border-radius: 20px 20px 90px 20px; background: #dce8f1; box-shadow: 0 28px 65px rgba(10,47,79,.13); }
.detail-visual > img { width: 100%; height: 100%; object-fit: cover; }
.detail-watermark { position: absolute; left: 22px; bottom: 20px; padding: 8px 12px; border-radius: 8px; display: flex; align-items: center; gap: 8px; color: var(--navy); background: rgba(255,255,255,.92); font-size: 12px; }
.detail-watermark img { width: 29px; height: 29px; object-fit: contain; }
.detail-summary { padding: 3px 5px 0; }
.detail-summary .inner-eyebrow { margin-bottom: 9px !important; }
.detail-summary h1 { margin: 0; color: var(--navy); font-family: "STZhongsong","Songti SC",SimSun,serif; font-size: 36px; line-height: 1.18; }
.detail-lead { margin: 15px 0 19px; color: #60798f; font-size: 15px; line-height: 1.75; }
.detail-price { padding: 17px 19px; border: 1px solid #eadab8; border-radius: 12px; background: #fffaf1; }
.detail-price small, .detail-price span { display: block; color: #826a43; font-size: 13px; }
.detail-price strong { display: block; margin: 3px 0 4px; color: var(--navy); font-size: 21px; }
.detail-summary dl { margin: 18px 0; border-top: 1px solid #e4edf3; }
.detail-summary dl > div { padding: 11px 2px; border-bottom: 1px solid #e4edf3; display: grid; grid-template-columns: 105px 1fr; gap: 10px; }
.detail-summary dt { color: #70869a; font-size: 13px; font-weight: 400; }
.detail-summary dd { margin: 0; color: var(--navy); font-size: 14px; font-weight: 600; line-height: 1.6; }
.detail-primary, .detail-secondary { min-height: 47px; border-radius: 9px; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 700; }
.detail-primary { color: #fff !important; background: var(--navy); box-shadow: 0 13px 28px rgba(7,43,88,.15); }
.detail-secondary { margin-top: 9px; border: 1px solid #dce6ee; color: var(--navy); background: #fff; }
.detail-content-section { padding: 78px 0 88px; background: #fff; }
.detail-content-grid { display: grid; grid-template-columns: 1fr 330px; gap: 70px; align-items: start; }
.detail-article > h2 { margin: 0 0 17px; color: var(--navy); font-family: "STZhongsong","Songti SC",SimSun,serif; font-size: 29px; }
.detail-article > p:not(.inner-eyebrow) { margin: 0 0 14px; color: #60788e; font-size: 15px; line-height: 1.9; }
.detail-points { margin: 34px 0 52px; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.detail-points > div { min-height: 180px; padding: 22px 19px; border-radius: 12px; background: #f5f9fc; }
.detail-points b { color: #b8872f; font-family: Georgia,serif; font-size: 12px; }
.detail-points h3 { margin: 24px 0 8px; color: var(--navy); font-size: 15px; }
.detail-points p { margin: 0; color: #6c8194; font-size: 14px; line-height: 1.75; }
.detail-steps { margin: 0; padding: 0; list-style: none; }
.detail-steps li { padding: 18px 0; border-bottom: 1px solid #e5edf3; display: flex; gap: 18px; }
.detail-steps span { flex: 0 0 35px; color: #c79843; font-family: Georgia,serif; }
.detail-steps h3 { margin: 0 0 5px; color: var(--navy); font-size: 15px; }
.detail-steps p { margin: 0; color: #6d8194; font-size: 14px; line-height: 1.7; }
.detail-notice { position: sticky; top: 92px; padding: 31px 27px; border-top: 3px solid #d2a552; border-radius: 12px; background: #0a3463; color: #fff; box-shadow: 0 20px 45px rgba(7,43,88,.13); }
.detail-notice > .ui-icon { font-size: 28px; }
.detail-notice small { margin-top: 19px; display: block; color: #e3c37e; font-size: 12px; letter-spacing: .12em; }
.detail-notice h2 { margin: 7px 0 13px; font-family: Georgia,"Songti SC",serif; font-size: 23px; }
.detail-notice p, .detail-notice li { color: rgba(255,255,255,.8); font-size: 14px; line-height: 1.75; }
.detail-notice ul { margin: 20px 0 0; padding: 17px 0 0 18px; border-top: 1px solid rgba(255,255,255,.13); }

.consult-section { padding: 58px 0 88px; }
.consult-grid { display: grid; grid-template-columns: 1fr 390px; gap: 32px; align-items: start; }
.consult-panel, .consult-aside { border: 1px solid #e1eaf1; border-radius: 16px; background: #fff; box-shadow: 0 18px 48px rgba(8,47,80,.06); }
.consult-panel { padding: 34px 38px; }
.consult-panel-head { padding-bottom: 24px; border-bottom: 1px solid #e8eff4; display: flex; align-items: center; gap: 16px; }
.consult-panel-head > span { width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--navy); font-size: 20px; }
.consult-panel-head small { color: #8c7042; font-size: 12px; }
.consult-panel-head h2 { margin: 3px 0; color: var(--navy); font-family: Georgia,"Songti SC",serif; font-size: 22px; }
.consult-panel-head p { margin: 0; color: #6f8498; font-size: 13px; }
.consult-login-note { margin: 24px 0; padding: 15px 17px; border-radius: 10px; display: flex; gap: 12px; color: #715823; background: #fff8e9; }
.consult-login-note > .ui-icon { margin-top: 2px; font-size: 20px; }
.consult-login-note h3 { margin: 0 0 3px; font-size: 14px; }
.consult-login-note p { margin: 0; color: #826b3e; font-size: 13px; }
.consult-form label { display: block; color: var(--navy); font-size: 13px; font-weight: 600; }
.consult-form label > span { margin-bottom: 7px; display: block; }
.consult-form textarea, .consult-form input { width: 100%; border: 1px solid #dfe8ef; border-radius: 9px; outline: 0; color: var(--navy); background: #f9fbfd; font-size: 14px; }
.consult-form textarea { padding: 13px; resize: vertical; }
.consult-form input { height: 43px; padding: 0 12px; }
.consult-form textarea:focus, .consult-form input:focus { border-color: #caa04d; background: #fff; }
.consult-form-row { margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.consult-form button { width: 100%; min-height: 49px; margin-top: 21px; border-radius: 9px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #fff; background: var(--navy); font-size: 14px; font-weight: 700; }
.consult-register { margin: 14px 0 0; color: #71869a; font-size: 12px; text-align: center; }
.consult-register a { color: #a47b35; font-weight: 700; }
.consult-aside { overflow: hidden; padding-bottom: 25px; }
.consult-aside > img { width: 100%; height: 225px; object-fit: cover; }
.consult-aside > div { margin: -28px 20px 24px; padding: 15px 17px; position: relative; border-radius: 9px; background: #fff; box-shadow: 0 13px 28px rgba(7,43,88,.11); }
.consult-aside > div small { color: #6f8498; font-size: 12px; }
.consult-aside > div strong { margin-top: 3px; display: block; color: var(--navy); font-size: 18px; }
.consult-aside h2, .consult-aside ol, .consult-aside > p { margin-left: 25px; margin-right: 25px; }
.consult-aside h2 { color: var(--navy); font-family: Georgia,"Songti SC",serif; font-size: 21px; }
.consult-aside ol { padding: 0; list-style: none; }
.consult-aside li { padding: 10px 0; border-bottom: 1px solid #e7eef3; display: flex; align-items: center; gap: 11px; color: #627b90; font-size: 13px; }
.consult-aside li b { width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #9a722e; background: #f8edd7; }
.consult-aside > p { color: #82652f; font-size: 12px; line-height: 1.7; }

.info-section { padding: 58px 0 90px; }
.info-layout { display: grid; grid-template-columns: 250px 1fr; gap: 55px; align-items: start; }
.info-nav { position: sticky; top: 88px; padding: 23px; border: 1px solid #e1eaf1; border-radius: 13px; display: flex; flex-direction: column; background: #fff; }
.info-nav > span { margin-bottom: 13px; color: #8f713e; font-size: 12px; letter-spacing: .1em; }
.info-nav a { padding: 11px 10px; border-bottom: 1px solid #edf2f5; color: #627b90; font-size: 14px; }
.info-nav a.active { padding-left: 14px; color: var(--navy); background: #f4f8fb; font-weight: 700; }
.info-content { padding: 4px 0; }
.info-content > section, .info-lead { padding: 34px 0; border-bottom: 1px solid #dfe8ef; display: grid; grid-template-columns: 55px 1fr; gap: 18px; }
.info-lead { padding-top: 0; }
.info-content section > span, .info-lead > span { color: #c49949; font-family: Georgia,serif; font-size: 13px; }
.info-content h2 { margin: 0 0 12px; color: var(--navy); font-family: Georgia,"Songti SC",serif; font-size: 25px; }
.info-content p { max-width: 790px; margin: 0; color: #5f788e; font-size: 15px; line-height: 1.9; white-space: pre-line; }
.info-note { margin-top: 30px; padding: 18px 20px; border-radius: 10px; display: flex; gap: 12px; color: #8c713e; background: #fff7e8; }
.info-note .ui-icon { flex: 0 0 auto; margin-top: 2px; font-size: 21px; }
.info-note p { color: #765b2a; font-size: 13px; }

html[lang="ru"] .inner-hero h1, html[lang="ru"] .inner-card-copy h2, html[lang="ru"] .detail-summary h1, html[lang="ru"] .detail-article > h2, html[lang="ru"] .info-content h2 { font-family: Georgia,"Times New Roman",serif; letter-spacing: -.015em; }
html[lang="ru"] .inner-card-copy h2 { font-size: 19px; }
html[lang="ru"] .detail-summary h1 { font-size: 33px; line-height: 1.16; }

@media (min-width: 768px) {
    .inner-page > main { padding-top: 64px; }
}

@media (max-width: 1020px) {
    .inner-card-grid { grid-template-columns: repeat(2,1fr); }
    .detail-grid { grid-template-columns: 1.05fr .95fr; gap: 28px; }
    .detail-visual { height: 490px; }
    .detail-content-grid { grid-template-columns: 1fr 285px; gap: 35px; }
    .consult-grid { grid-template-columns: 1fr 330px; }
}

@media (max-width: 767px) {
    .inner-page .inner-site-header, .inner-page .inner-site-header.scrolled { position: absolute; border-bottom: 1px solid rgba(216,228,238,.9); background: rgba(255,255,255,.96); box-shadow: 0 5px 18px rgba(7,43,88,.045); backdrop-filter: blur(12px); }
    .inner-hero { padding: 105px 0 42px; }
    .inner-breadcrumb { margin-bottom: 22px; font-size: 13px; }
    .inner-hero h1 { font-size: 30px; }
    html[lang="ru"] .inner-hero h1 { max-width: 330px; font-size: 28px; line-height: 1.1; }
    .inner-hero h1 + p { margin-top: 12px; font-size: 14px; line-height: 1.75; }
    .catalog-section { padding: 25px 0 55px; }
    .catalog-toolbar { position: relative; top: 0; padding: 10px; display: block; }
    .catalog-toolbar > label { width: 100%; height: 41px; }
    .catalog-tabs { margin-top: 9px; flex-wrap: wrap; overflow-x: visible; }
    .catalog-tabs a { flex: 1 1 auto; padding: 8px 10px; font-size: 12px; text-align: center; white-space: normal; }
    .inner-card-grid { grid-template-columns: 1fr; gap: 13px; }
    .inner-service-card { display: grid; grid-template-columns: 118px 1fr; border-radius: 11px; }
    .inner-card-image { height: 100%; min-height: 180px; }
    .inner-card-image span { left: 7px; bottom: 7px; padding: 4px 6px; font-size: 12px; }
    .inner-card-copy { min-height: 190px; padding: 14px 13px; }
    .inner-card-copy h2, html[lang="ru"] .inner-card-copy h2 { margin: 5px 0; font-size: 15px; line-height: 1.2; }
    .inner-card-copy p { display: -webkit-box; overflow: hidden; font-size: 13px; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
    .inner-card-copy > .inner-card-footer { padding-top: 10px; gap: 8px; }
    .inner-card-copy strong { max-width: 120px; font-size: 12px; }
    .inner-card-actions { grid-template-columns: 1fr; gap: 6px; }
    .inner-detail-link, .inner-consult-button { min-height: 34px; padding: 0 7px; font-size: 12px; }

    .detail-shell { padding: 100px 0 45px; }
    .detail-grid { display: flex; flex-direction: column; gap: 24px; }
    .detail-visual { position: relative; top: 0; width: 100%; height: 290px; border-radius: 14px 14px 55px 14px; }
    .detail-summary { padding: 0; }
    .detail-summary h1, html[lang="ru"] .detail-summary h1 { font-size: 29px; }
    .detail-lead { margin: 13px 0 18px; font-size: 14px; }
    .detail-content-section { padding: 48px 0 60px; }
    .detail-content-grid { display: flex; flex-direction: column; gap: 35px; }
    .detail-article > h2 { font-size: 24px; }
    .detail-article > p:not(.inner-eyebrow) { font-size: 14px; }
    .detail-points { margin: 25px 0 38px; grid-template-columns: 1fr; gap: 8px; }
    .detail-points > div { min-height: auto; padding: 17px; }
    .detail-points h3 { margin-top: 9px; }
    .detail-notice { position: relative; top: 0; }

    .consult-section { padding: 28px 0 60px; }
    .consult-grid { display: flex; flex-direction: column; gap: 17px; }
    .consult-panel { padding: 22px 17px; }
    .consult-panel-head h2 { font-size: 18px; }
    .consult-form-row { grid-template-columns: 1fr; }
    .consult-aside { width: 100%; }

    .info-section { padding: 27px 0 60px; }
    .info-layout { display: block; }
    .info-nav { position: relative; top: 0; margin-bottom: 30px; padding: 8px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: visible; }
    .info-nav > span { display: none; }
    .info-nav a { min-width: 0; padding: 9px 6px; border: 0; font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; text-align: center; white-space: normal; }
    .info-content > section, .info-lead { padding: 25px 0; grid-template-columns: 35px 1fr; gap: 10px; }
    .info-content h2 { font-size: 21px; }
    .info-content p { font-size: 14px; line-height: 1.85; }
}

@media (max-width: 390px) {
    .inner-service-card { grid-template-columns: 108px 1fr; }
    .inner-card-copy h2, html[lang="ru"] .inner-card-copy h2 { font-size: 14px; }
    .detail-summary h1, html[lang="ru"] .detail-summary h1 { font-size: 27px; }
}
