:root {
--paper: #f3f5f6;
--surface: #fbfcfd;
--ink: #171b1f;
--muted: #626b73;
--line: #d5dbe0;
--dark: #20262c;
--dark-soft: #2c333a;
--blue: #2457d6;
--blue-dark: #1c48b8;
--blue-soft: #dbe5ff;
--radius: 14px;
--container: min(1320px, calc(100% - 64px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { color: inherit; }
.container { width: var(--container); margin-inline: auto; }
.section { padding: 66px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 100; background: var(--surface); padding: 12px 16px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.site-header { height: 72px; position: absolute; inset: 0 0 auto; z-index: 20; color: var(--ink); }
.nav-wrap { height: 72px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; } .brand-mark { flex-shrink: 0; display: block; width: 42px; height: 42px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.brand-name { font-size: 19px; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; }
.brand-tagline { font-size: 11px; font-weight: 600; letter-spacing: -.005em; color: var(--muted); }
.desktop-nav { display: flex; gap: 26px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.desktop-nav a { position: relative; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: currentColor; transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.nav-dropdown { position: relative; display: inline-flex; align-items: center; }
.nav-dropdown::before { content: ""; position: absolute; top: 100%; left: -10px; right: -10px; height: 14px; }
.nav-dropdown-toggle { display: inline-flex; align-items: center; gap: 5px; }
.nav-caret { font-size: 9px; transition: transform .2s ease; }
.nav-dropdown:hover .nav-caret { transform: rotate(180deg); }
.nav-dropdown-menu { position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(6px); min-width: 250px; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 18px 44px rgba(20,30,40,.16); opacity: 0; visibility: hidden; transition: opacity .16s ease, transform .16s ease; z-index: 30; display: grid; gap: 2px; }
.nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-dropdown-menu a { padding: 10px 14px; border-radius: 8px; font-size: 14px; font-weight: 600; white-space: nowrap; }
.nav-dropdown-menu a::after { content: none; }
.nav-dropdown-menu a:hover { background: var(--blue-soft); color: var(--blue); }
.nav-contact { justify-self: end; display: flex; align-items: center; gap: 16px; }
.nav-phone { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.35; }
.nav-phone b { font-size: 14px; font-weight: 750; letter-spacing: -.01em; white-space: nowrap; }
.nav-phone span { font-size: 11px; color: var(--muted); }
.nav-callback-button { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 18px; border: 0; border-radius: 9px; background: var(--blue); color: #f8fafb; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer; transition: background .18s ease, transform .18s ease; }
.nav-callback-button:hover { background: var(--blue-dark); transform: translateY(-1px); }
.modal-overlay { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; background: rgba(20,26,32,.55); }
.modal-overlay[hidden] { display: none; }
.modal-box { position: relative; width: min(420px, 100%); padding: 38px; border-radius: var(--radius); background: var(--surface); color: var(--ink); }
.modal-box h2 { margin-bottom: 10px; font-size: 24px; letter-spacing: -.02em; }
.modal-box > p { margin-bottom: 18px; color: var(--muted); line-height: 1.5; }
.modal-close { position: absolute; top: 14px; right: 14px; width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 8px; background: transparent; font-size: 22px; line-height: 1; color: var(--muted); cursor: pointer; }
.modal-close:hover { background: var(--paper); color: var(--ink); }
.modal-form { display: grid; gap: 16px; }
.modal-form .field { display: grid; gap: 8px; }
.modal-form label { font-size: 13px; font-weight: 650; color: var(--muted); }
.modal-form input, .modal-form textarea { border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; background: var(--paper); color: var(--ink); outline: none; font: inherit; font-size: 14px; line-height: 1.45; resize: none; }
.modal-form input:focus, .modal-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(36,87,214,.15); }
.modal-form .button { width: 100%; justify-content: center; }
.form-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 12px; line-height: 1.45; cursor: pointer; font-weight: 500; }
.form-consent input { flex: none; width: 17px; height: 17px; min-width: 0; margin: 1px 0 0; padding: 0; accent-color: var(--blue); cursor: pointer; }
.form-consent a { color: inherit; text-decoration: underline; }
.form-consent a:hover { color: var(--blue); }
.doc-contact-form .form-consent, .contact-form .form-consent { color: #97a2ab; }
.modal-policy { display: block; text-align: center; color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.modal-policy a { color: inherit; text-decoration: underline; }
.modal-policy a:hover { color: var(--blue); } .form-toast { position: fixed; top: 20px; left: 50%; transform: translateX(-50%); z-index: 400;
display: flex; align-items: flex-start; gap: 14px; width: min(560px, calc(100% - 32px));
padding: 18px 20px; border-radius: 14px; background: #12331f; color: #eaf6ee;
box-shadow: 0 18px 50px rgba(20,30,40,.3); animation: kontur-toast-in .32s ease both; }
.form-toast.is-error { background: #4a1414; color: #fbeaea; }
.form-toast-icon { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%;
background: #2fbf71; color: #0d2716; font-size: 19px; font-weight: 800; line-height: 1; }
.form-toast.is-error .form-toast-icon { background: #e5534b; color: #2a0b0b; }
.form-toast-text { display: grid; gap: 4px; min-width: 0; }
.form-toast-text b { font-size: 16px; letter-spacing: -.02em; }
.form-toast-text small { color: rgba(255,255,255,.72); font-size: 13.5px; line-height: 1.45; }
.form-toast-close { flex: none; margin-left: auto; padding: 0 4px; border: 0; background: none;
color: rgba(255,255,255,.55); font-size: 22px; line-height: 1; cursor: pointer; }
.form-toast-close:hover { color: #fff; }
@keyframes kontur-toast-in { from { opacity: 0; transform: translate(-50%, -14px); } to { opacity: 1; transform: translate(-50%, 0); } }
.form-toast.is-leaving { opacity: 0; transform: translate(-50%, -14px); transition: opacity .3s ease, transform .3s ease; }
.menu-button, .mobile-nav { display: none; }
.hero { min-height: 100dvh; position: relative; overflow: hidden; border-radius: 0 0 var(--radius) var(--radius); background: #e5e9ec; }
.hero-photo { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(229,233,236,.96) 0%, rgba(229,233,236,.9) 30%, rgba(229,233,236,.2) 58%, rgba(229,233,236,0) 100%), url(//ru-cert.help/wp-content/themes/kontur/assets/certification-hero.webp) center / cover no-repeat; }
.hero-grid { position: relative; min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr); align-items: center; padding-top: 72px; }
.hero-copy { align-self: center; max-width: 700px; padding: 40px 0; }
.eyebrow { margin: 0 0 26px; font-size: 12px; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; color: var(--blue-dark); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 720px; margin-bottom: 27px; font-size: clamp(52px, 6.2vw, 92px); line-height: .94; letter-spacing: -.065em; font-weight: 600; } h1, h2, h3, .entry-content h2, .entry-content h3 { overflow-wrap: break-word; }
h1 em { display: block; font-style: normal; color: var(--blue); }
.hero-lead { max-width: 540px; margin-bottom: 36px; font-size: clamp(18px, 1.7vw, 22px); line-height: 1.45; color: #3e474f; }
.hero-actions { display: flex; align-items: center; gap: 30px; }
.button { display: inline-flex; justify-content: space-between; align-items: center; min-height: 56px; padding: 0 20px; border: 0; border-radius: 10px; font-weight: 700; cursor: pointer; transition: transform .18s ease, background .18s ease; white-space: nowrap; }
.button span { margin-left: 36px; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.985); }
.button-primary { min-width: 242px; background: var(--blue); color: #f8fafb; }
.button-primary:hover { background: var(--blue-dark); }
.text-link { display: inline-flex; align-items: center; gap: 14px; font-size: 14px; font-weight: 700; }
.text-link span { color: var(--blue); }
.hero-note { position: absolute; right: 0; bottom: 40px; width: 310px; padding: 20px 22px; border-radius: var(--radius); background: rgba(32,38,44,.94); color: #f5f7f8; box-shadow: 0 20px 50px rgba(40,52,62,.16); }
.hero-note span { display: block; margin-bottom: 10px; font-size: 12px; color: #aeb8c0; }
.hero-note p { margin: 0; line-height: 1.45; font-size: 15px; }
.navigator { padding-bottom: 48px; }
.navigator-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 76px; align-items: start; }
.navigator-intro { padding-top: 8px; }
.navigator-intro h2, .section-title h2, .route-heading h2, .industries-copy h2, .faq-title h2, .contact-copy h2 { margin-bottom: 22px; font-size: clamp(38px, 4.3vw, 64px); line-height: 1; letter-spacing: -.05em; font-weight: 600; }
.navigator-intro p, .section-title p, .route-heading p, .industries-copy p, .faq-title p, .contact-copy p { max-width: 580px; color: var(--muted); line-height: 1.65; }
.decision-panel { overflow: hidden; border-radius: var(--radius); background: var(--surface); box-shadow: 0 18px 60px rgba(37,50,62,.08); }
.decision-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.decision-tab { min-height: 68px; border: 0; border-right: 1px solid var(--line); background: transparent; cursor: pointer; font-size: 14px; font-weight: 650; }
.decision-tab:last-child { border-right: 0; }
.decision-tab.is-active { color: #f8fafb; background: var(--blue); }
.decision-result { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px 50px; padding: 42px; align-items: end; }
.result-label { display: block; margin-bottom: 13px; color: var(--blue); font-size: 12px; font-weight: 700; }
.decision-result h3 { margin: 0; font-size: 27px; line-height: 1.15; letter-spacing: -.03em; }
.decision-result p { margin: 0; color: var(--muted); line-height: 1.55; }
.decision-result a { grid-column: 1 / -1; display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 700; }
.decision-result a span { color: var(--blue); }
.section-title { max-width: 720px; margin-bottom: 36px; }
.catalog-heading { max-width: 780px; margin-bottom: 42px; }
.catalog-heading h2 { margin-bottom: 22px; font-size: clamp(40px, 4.8vw, 68px); line-height: .98; letter-spacing: -.055em; font-weight: 600; }
.catalog-heading p { max-width: 680px; margin-bottom: 0; color: var(--muted); line-height: 1.6; }
.catalog-switch { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 18px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.catalog-switch-button { min-height: 70px; display: flex; justify-content: space-between; align-items: center; padding: 0 24px; border: 0; border-right: 1px solid var(--line); background: var(--surface); cursor: pointer; font-weight: 700; text-align: left; }
.catalog-switch-button:last-child { border-right: 0; }
.catalog-switch-button span { color: var(--muted); font-size: 12px; }
.catalog-switch-button.is-active { background: var(--blue); color: #f8fafb; }
.catalog-switch-button.is-active span { color: #dbe5ff; }
.catalog-quick { display: flex; gap: 8px; margin: 0 0 18px; padding: 0 0 12px; overflow-x: auto; scrollbar-width: thin; scroll-snap-type: x proximity; }
.catalog-quick a { flex: 0 0 auto; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: transparent; font-size: 13px; font-weight: 650; }
.catalog-quick a:hover { border-color: var(--blue); color: var(--blue); }
.catalog-quick span { color: var(--muted); font-size: 10px; }
.catalog-feature-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }
.catalog-card { min-height: 268px; display: flex; flex-direction: column; justify-content: space-between; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.catalog-card:nth-child(3) { background: var(--blue-soft); }
.catalog-card-primary { grid-row: span 2; min-height: 552px; border-color: transparent; background: var(--dark); color: #f3f6f7; }
.catalog-card-count { display: block; margin-bottom: 24px; color: var(--blue); font-size: 12px; font-weight: 750; }
.catalog-card-primary .catalog-card-count { color: #8da7ff; }
.catalog-card h3 { max-width: 560px; margin-bottom: 14px; font-size: clamp(25px, 2.4vw, 38px); line-height: 1.04; letter-spacing: -.04em; }
.catalog-card-primary h3 { font-size: clamp(38px, 4.4vw, 64px); }
.catalog-card p { max-width: 500px; margin: 0; color: var(--muted); line-height: 1.5; font-size: 14px; }
.catalog-card-primary p { color: #adb7bf; }
.catalog-card-links { display: grid; gap: 0; margin-top: 28px; border-top: 1px solid var(--line); }
.catalog-card-primary .catalog-card-links { border-color: #46515a; }
.catalog-mini-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 16px; }
.catalog-mini-card { display: flex; flex-direction: column; gap: 10px; padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); transition: border-color .2s ease, transform .2s ease; }
.catalog-mini-card:hover { border-color: var(--blue); transform: translateY(-2px); }
.catalog-mini-card span { color: var(--blue); font-size: 11px; font-weight: 750; }
.catalog-mini-card h4 { margin: 0; font-size: 18px; letter-spacing: -.02em; line-height: 1.2; }
.catalog-mini-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.catalog-card-links a { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 650; }
.catalog-card-primary .catalog-card-links a { border-color: #46515a; }
.catalog-card-links b { color: var(--blue); font-weight: 600; }
.catalog-footer { display: flex; justify-content: space-between; gap: 30px; align-items: center; padding-top: 24px; }
.catalog-footer p { margin: 0; color: var(--muted); font-size: 13px; }
.service-grid { display: grid; grid-template-columns: 1.3fr .7fr; grid-template-rows: 280px 280px; gap: 18px; }
.service-card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 34px; border-radius: var(--radius); }
.service-card h3 { max-width: 550px; margin: 14px 0 16px; font-size: clamp(26px, 3vw, 42px); line-height: 1; letter-spacing: -.04em; }
.service-card p { max-width: 460px; margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.service-code { font-size: 12px; font-weight: 750; color: var(--blue); }
.service-main { grid-row: 1 / 3; padding: 50px; color: #f5f7f8; background: var(--dark); }
.service-main::after { content: ""; position: absolute; z-index: 0; right: -90px; bottom: -125px; width: 390px; aspect-ratio: 1; border: 80px solid #343c44; border-radius: 50%; pointer-events: none; }
.service-main > * { position: relative; z-index: 1; }
.service-main h3 { font-size: clamp(42px, 5vw, 70px); }
.service-main p { color: #b9c2c9; }
.service-main a { display: flex; justify-content: space-between; width: 260px; padding: 18px 0 8px; border-bottom: 1px solid #65707a; font-size: 14px; font-weight: 700; }
.service-main a span { color: #7898ff; }
.service-blue { background: var(--blue-soft); }
.service-line { border: 1px solid var(--line); background: transparent; }
.service-photo { min-height: 280px; background: linear-gradient(90deg, rgba(239,243,246,.97), rgba(239,243,246,.65)), url(//ru-cert.help/wp-content/themes/kontur/assets/certification-hero.webp) 75% 68% / 160% auto no-repeat; }
.route { padding-top: 44px; }
.route-shell { padding: 58px; border-radius: var(--radius); color: #f3f6f7; background: var(--dark); }
.route-heading { display: grid; grid-template-columns: 1fr .9fr; gap: 60px; margin-bottom: 48px; align-items: end; }
.route-heading h2 { margin-bottom: 0; }
.route-heading p { margin-bottom: 3px; color: #aeb8c0; }
.route-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); position: relative; }
.route-steps::before { content: ""; position: absolute; top: 23px; left: 24px; right: 24px; height: 1px; background: #4c5761; }
.route-steps li { position: relative; padding-right: 28px; }
.step-marker { position: relative; z-index: 1; display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 50px; border: 1px solid #5f6a74; border-radius: 50%; background: var(--dark); color: #aeb8c0; font-size: 11px; font-weight: 700; }
.route-steps .is-current .step-marker { border-color: var(--blue); background: var(--blue); color: #f8fafb; }
.route-steps h3 { margin-bottom: 10px; font-size: 20px; }
.route-steps p { max-width: 190px; margin: 0; color: #9da8b1; line-height: 1.45; font-size: 14px; }
.route-cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; margin-top: 56px; padding-top: 34px; border-top: 1px solid #3d474f; }
.route-cta p { max-width: 560px; margin: 0; color: #c3ccd3; font-size: 16px; line-height: 1.5; }
.route-cta .button { flex: none; }
.industries-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: start; }
.industries-copy { position: sticky; top: 110px; }
.industries-copy p { margin-bottom: 30px; }
.industry-list { border-top: 1px solid var(--line); }
.industry-list a { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 30px 4px; border-bottom: 1px solid var(--line); text-align: left; cursor: pointer; transition: padding .2s ease, color .2s ease; }
.industry-list a:hover { padding-left: 16px; color: var(--blue); }
.industry-list span { font-size: clamp(20px, 2.2vw, 30px); letter-spacing: -.03em; }
.industry-list b { color: var(--muted); font-size: 12px; font-weight: 600; }
.evidence { padding-top: 30px; }
.evidence-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.evidence-quote, .evidence-facts { padding: 46px; border-radius: var(--radius); }
.evidence-quote { min-height: 390px; display: flex; flex-direction: column; justify-content: space-between; background: var(--blue); color: #f8fafb; }
.evidence-quote blockquote { max-width: 850px; margin: 0; font-size: clamp(34px, 4.3vw, 62px); line-height: 1.04; letter-spacing: -.05em; font-weight: 500; }
.evidence-quote p { margin: 0; color: #dce5ff; font-size: 13px; }
.evidence-facts { background: var(--surface); }
.evidence-facts div { display: grid; grid-template-columns: 100px 1fr; align-items: center; padding: 16px 0 22px; border-bottom: 1px solid var(--line); }
.evidence-facts div:last-child { border-bottom: 0; padding-bottom: 0; }
.evidence-facts strong { font-size: 46px; letter-spacing: -.05em; font-weight: 600; }
.advantages-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.advantages-grid > div { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.advantages-grid strong { display: block; margin-bottom: 20px; color: var(--blue); font-size: 12px; font-weight: 750; }
.advantages-grid h3 { margin-bottom: 10px; font-size: 20px; letter-spacing: -.02em; }
.advantages-grid p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 14px; }
.price-teaser-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 30px; }
.price-teaser-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.price-teaser-card > span { display: block; margin-bottom: 10px; color: var(--muted); font-size: 14px; }
.price-teaser-card strong { display: block; font-size: 27px; letter-spacing: -.02em; color: var(--ink); }
.price-teaser-card small { display: block; margin-top: 7px; color: var(--blue); font-size: 12.5px; font-weight: 650; }
.price-teaser-cta { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.ai-home-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 56px; align-items: center; }
.ai-home-copy { max-width: 440px; }
.ai-home-copy h2 { margin: 12px 0 18px; font-size: clamp(32px, 3.6vw, 48px); line-height: 1.02; letter-spacing: -.04em; }
.ai-home-copy p { color: var(--muted); line-height: 1.6; }
.ai-home-note { margin-top: 14px; color: var(--blue); font-weight: 650; font-size: 14px; }
.ai-home-box .ask-widget { height: 440px; }
.legit-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.legit-card { padding: 32px 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.legit-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 20px; border-radius: 12px; background: var(--blue-soft); color: var(--blue); font-size: 20px; font-weight: 800; }
.legit-card h3 { margin-bottom: 10px; font-size: 20px; letter-spacing: -.02em; }
.legit-card p { margin: 0; color: var(--muted); line-height: 1.6; font-size: 14.5px; }
.legit-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; margin-top: 20px; padding: 26px 32px; border-radius: var(--radius); background: var(--blue-soft); }
.legit-cta p { max-width: 620px; margin: 0; color: var(--ink); font-size: 16px; line-height: 1.5; }
.legit-cta .button { flex: none; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.testimonial-card { display: flex; flex-direction: column; justify-content: space-between; min-height: 260px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.testimonial-card blockquote { margin: 0 0 26px; font-size: 16px; line-height: 1.55; letter-spacing: -.01em; }
.testimonial-card h3 { margin: 0 0 12px; font-size: 18px; letter-spacing: -.02em; }
.testimonial-card > p { margin: 0 0 26px; color: var(--muted); font-size: 15.5px; line-height: 1.6; }
.testimonial-card div { display: grid; gap: 4px; padding-top: 18px; border-top: 1px solid var(--line); }
.testimonial-card strong { font-size: 14px; }
.testimonial-card span { color: var(--muted); font-size: 13px; }
.evidence-facts span { color: var(--muted); line-height: 1.4; }
.evidence-facts small { display: block; margin-top: 22px; color: #7b858d; line-height: 1.45; }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 110px; }
.accordion { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { list-style: none; position: relative; padding: 28px 50px 28px 0; cursor: pointer; font-size: 20px; font-weight: 650; }
summary::-webkit-details-marker { display: none; }
summary span::before, summary span::after { content: ""; position: absolute; right: 4px; top: 38px; width: 16px; height: 1px; background: var(--ink); transition: transform .2s ease; }
summary span::after { transform: rotate(90deg); }
details[open] summary span::after { transform: rotate(0); }
details p { max-width: 650px; padding: 0 54px 26px 0; margin: 0; color: var(--muted); line-height: 1.65; }
.contact { padding-top: 40px; }
.contact-shell { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; padding: 62px; border-radius: var(--radius); color: #f5f7f8; background: var(--dark); }
.contact-kicker { display: block; margin-bottom: 24px; color: #8da7ff; font-size: 12px; font-weight: 700; }
.contact-copy p { color: #aeb8c0; }
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 18px; }
.field { display: grid; gap: 9px; }
.field-wide { grid-column: 1 / -1; }
label { color: #d3d9de; font-size: 13px; font-weight: 650; }
input, textarea { width: 100%; border: 1px solid #56616b; border-radius: 10px; background: var(--dark-soft); color: #f8fafb; padding: 15px 16px; outline: none; resize: vertical; }
input::placeholder, textarea::placeholder { color: #939ea7; }
input:focus, textarea:focus { border-color: #8da7ff; box-shadow: 0 0 0 3px rgba(36,87,214,.3); }
.field-error { display: none; color: #ffb4ad; font-size: 12px; }
.field.is-error .field-error { display: block; }
.field.is-error input { border-color: #ff8b81; }
.button-light { width: max-content; min-width: 220px; background: #edf1f3; color: var(--ink); }
.button-light:hover { background: #f8fafb; }
.button-accent { min-width: 242px; background: #ff5d1c; color: #f8fafb; box-shadow: 0 12px 26px rgba(255, 93, 28, .28); }
.button-accent:hover { background: #e94d10; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; } .mobile-cta-bar { display: none; }
.form-status { align-self: center; margin: 0; color: #b9c7ff; font-size: 13px; }
footer, .site-footer { padding: 64px 0 30px; border-top: 1px solid var(--line); background: var(--surface); }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; }
.footer-brand { max-width: 340px; }
.footer-brand .brand { margin-bottom: 16px; }
.footer-about { margin: 0 0 18px; color: var(--muted); font-size: 13.5px; line-height: 1.6; }
.footer-contacts { display: grid; gap: 6px; margin-bottom: 18px; font-size: 14px; }
.footer-phone { font-size: 19px; font-weight: 800; letter-spacing: .01em; }
.footer-hours { color: var(--muted); font-size: 12.5px; }
.footer-contacts a[href^="mailto"] { color: var(--muted); }
.footer-address { color: var(--muted); font-size: 13px; line-height: 1.4; }
.footer-messengers { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.footer-msg { display: inline-flex; align-items: center; gap: 6px; padding: 9px 15px; border: 1px solid var(--line); border-radius: 10px; font-size: 13px; font-weight: 650; color: var(--ink); }
.footer-msg::before { content: ''; width: 8px; height: 8px; border-radius: 50%; }
.footer-msg-tg::before { background: #2aabee; }
.footer-msg-wa::before { background: #25d366; }
.footer-msg:hover { border-color: var(--blue); color: var(--blue); }
.footer-callback { min-width: 0; padding: 0 22px; }
.footer-nav { display: grid; gap: 11px; align-content: start; }
.footer-nav h3 { margin: 0 0 6px; font-size: 13px; font-weight: 750; letter-spacing: .02em; text-transform: uppercase; color: var(--ink); }
.footer-nav a { color: var(--muted); font-size: 14px; line-height: 1.3; }
.footer-nav a:hover { color: var(--blue); }
.footer-map { display: grid; gap: 30px; margin-top: 44px; padding-top: 34px; border-top: 1px solid var(--line); }
.footer-map-group h3 { margin: 0 0 16px; font-size: 13px; font-weight: 750; letter-spacing: .02em; text-transform: uppercase; color: var(--ink); }
.footer-map-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 28px; }
.footer-map-links a { display: flex; align-items: baseline; gap: 7px; color: var(--muted); font-size: 13.5px; line-height: 1.35; }
.footer-map-links a:hover { color: var(--blue); }
.footer-map-links i { font-style: normal; font-size: 11px; font-weight: 700; color: #98a2ab; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); }
.footer-bottom p { margin: 0; color: var(--muted); font-size: 12.5px; }
.footer-legal { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-legal a { color: var(--muted); font-size: 12.5px; text-decoration: underline; text-underline-offset: 2px; }
.footer-legal a:hover { color: var(--blue); } .price-principles { padding-top: 40px; }
.price-tables { padding-top: 30px; }
.price-group { margin-bottom: 34px; }
.price-group-head { margin-bottom: 16px; }
.price-group-head h2 { margin: 0 0 6px; font-size: 24px; letter-spacing: -.025em; }
.price-group-head p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.price-table { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.price-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px) 150px 120px; align-items: center; gap: 20px; padding: 15px 22px; border-bottom: 1px solid var(--line); }
.price-row > * { min-width: 0; }
.price-row:last-child { border-bottom: 0; }
.price-row:not(.price-head):hover { background: var(--paper); }
.price-head { background: var(--paper); }
.price-head span { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .01em; }
.price-name { color: var(--ink); font-size: 15px; line-height: 1.4; }
.price-value { color: var(--blue); font-weight: 750; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.price-term { color: var(--ink); font-size: 14px; white-space: nowrap; }
.price-term-empty { color: var(--muted); font-style: italic; }
.price-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.price-toolbar .catalog-search { flex: 1 1 340px; max-width: 460px; }
.price-sort { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.price-sort > span { color: var(--muted); font-size: 12.5px; font-weight: 700; }
.price-sort-btn { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: 13px; font-weight: 650; cursor: pointer; transition: border-color .16s ease, color .16s ease, background .16s ease; }
.price-sort-btn:hover { border-color: var(--blue); color: var(--blue); }
.price-sort-btn.is-active { border-color: var(--blue); background: var(--blue); color: #f8fafb; }
.price-calc { justify-self: end; padding: 9px 16px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--blue); font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer; opacity: 0; transition: opacity .16s ease, background .16s ease, color .16s ease; }
.price-row:hover .price-calc, .price-calc:focus-visible { opacity: 1; }
.price-calc:hover { background: var(--blue); border-color: var(--blue); color: #f8fafb; }
.price-empty { margin: 0 0 26px; color: var(--muted); font-size: 15px; }
.price-group[hidden] { display: none; }
.price-disclaimer { margin: 26px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.55; } .contacts-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: start; }
.contacts-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.contact-card { display: grid; gap: 5px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.contact-card-label { color: var(--blue); font-size: 12px; font-weight: 750; }
.contact-card strong { font-size: 17px; letter-spacing: -.01em; line-height: 1.25; }
.contact-card-sub { color: var(--muted); font-size: 13px; line-height: 1.4; }
a.contact-card:hover { border-color: var(--blue); }
.contacts-messengers { margin-top: 22px; padding: 22px; border-radius: var(--radius); background: var(--blue-soft); }
.contacts-messengers > span { display: block; margin-bottom: 12px; color: var(--ink); font-size: 14px; font-weight: 650; }
.contacts-msg-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.contacts-msg-links .footer-msg { background: var(--surface); }
.contacts-msg-links .button { min-width: 0; padding: 0 20px; }
.contacts-schedule { margin-top: 26px; }
.contacts-schedule h2 { margin: 0 0 14px; font-size: 22px; letter-spacing: -.02em; }
.contacts-schedule ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.contacts-schedule li { display: flex; justify-content: space-between; gap: 16px; padding: 13px 20px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.contacts-schedule li:last-child { border-bottom: 0; }
.contacts-schedule li span { color: var(--muted); }
.contacts-schedule li b { color: var(--ink); }
.contacts-schedule li.is-off b { color: #2fbf71; font-weight: 650; }
.contacts-map { height: 100%; min-height: 460px; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.contacts-map iframe { display: block; width: 100%; height: 100%; min-height: 460px; border: 0; }
.contacts-requisites { padding-top: 10px; }
.requisites-box { max-width: 720px; padding: 30px 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.requisites-box h2 { margin: 0 0 18px; font-size: 22px; letter-spacing: -.02em; }
.requisites-list { display: grid; gap: 0; margin: 0; }
.requisites-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.requisites-list dt { margin: 0; color: var(--muted); font-size: 14px; }
.requisites-list dd { margin: 0; color: var(--ink); font-size: 14px; font-weight: 600; text-align: right; }
.req-todo { color: #c98a12; font-weight: 600; }
.req-note { margin: 16px 0 0; color: var(--muted); font-size: 13px; } .guarantees .legit-grid { margin-bottom: 22px; } .quiz-box { max-width: 780px; margin: 0 auto; padding: 40px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.quiz-progress { display: flex; gap: 8px; margin-bottom: 30px; }
.quiz-dot { flex: 1; height: 5px; border-radius: 3px; background: var(--line); transition: background .2s ease; }
.quiz-dot.is-active { background: var(--blue); }
.quiz-kicker { display: block; margin-bottom: 8px; color: var(--blue); font-size: 12px; font-weight: 750; }
.quiz-step > h2 { margin: 0 0 22px; font-size: 26px; letter-spacing: -.03em; }
.quiz-options { display: grid; gap: 12px; }
.quiz-options-grid { grid-template-columns: 1fr 1fr; }
.quiz-options button[data-field] { display: block; width: 100%; padding: 18px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); font: inherit; font-size: 16px; font-weight: 650; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.quiz-options button[data-field]:hover { border-color: var(--blue); background: var(--blue-soft); transform: translateY(-1px); }
.quiz-back { margin-top: 20px; padding: 8px 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; }
.quiz-back:hover { color: var(--blue); }
.quiz-result { padding: 26px; margin-bottom: 24px; border-radius: var(--radius); background: var(--dark); color: #f3f6f7; }
.quiz-estimate { display: flex; gap: 40px; flex-wrap: wrap; margin: 10px 0 16px; }
.quiz-estimate span { display: block; margin-bottom: 4px; color: #8da7ff; font-size: 12px; font-weight: 700; }
.quiz-estimate strong { font-size: 28px; letter-spacing: -.02em; }
.quiz-summary { margin: 0; color: #aeb8c0; font-size: 14px; line-height: 1.55; }
.quiz-form-lead { margin: 0 0 14px; color: var(--muted); font-size: 14.5px; line-height: 1.5; }
.quiz-form-row { display: flex; gap: 10px; flex-wrap: wrap; }
.quiz-form-row input { flex: 1; min-width: 140px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; font-size: 15px; }
.quiz-form-row input:focus { outline: none; border-color: var(--blue); }
.quiz-form-row .button { flex: none; }
.quiz-form .modal-policy { display: block; margin-top: 12px; }
.inner-page { background: var(--paper); }
.inner-header { position: absolute; color: var(--ink); }
.inner-hero, .document-hero { padding: 108px 0 52px; background: linear-gradient(135deg, #e6eaed, #f2f4f5 60%); border-radius: 0 0 var(--radius) var(--radius); color: #171b1f; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; color: var(--muted); font-size: 12px; }
.breadcrumbs a:hover { color: var(--blue); }
.inner-hero h1, .document-hero h1 { max-width: 1050px; margin-bottom: 24px; font-size: clamp(30px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.035em; } .document-hero h1 { font-size: clamp(28px, 3vw, 42px); line-height: 1.14; letter-spacing: -.03em; margin-bottom: 22px; }
.document-hero h1.is-long { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.18; }
.inner-hero > .container > p, .document-hero .container > p { max-width: 690px; margin-bottom: 32px; color: #4c565e; font-size: 19px; line-height: 1.55; }
.inner-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 26px; } .checker-box, .quiz-box { scroll-margin-top: 24px; }
.inner-stats { display: flex; gap: 10px; }
.inner-stats span { padding: 10px 13px; border: 1px solid #c3cbd1; border-radius: 9px; color: #4d5860; font-size: 12px; font-weight: 700; }
.catalog-browser { padding-top: 54px; }
.catalog-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.catalog-page-card { min-height: 330px; display: flex; flex-direction: column; justify-content: space-between; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.catalog-page-card.is-featured { grid-column: 1 / -1; min-height: 390px; color: #f3f6f7; background: var(--dark); }
.catalog-page-card > div > span { display: block; margin-bottom: 22px; color: var(--blue); font-size: 12px; font-weight: 750; }
.catalog-page-card.is-featured > div > span { color: #8da7ff; }
.catalog-page-card h2 { max-width: 780px; margin-bottom: 15px; font-size: clamp(28px, 3vw, 46px); line-height: 1; letter-spacing: -.045em; }
.catalog-page-card.is-featured h2 { font-size: clamp(40px, 5vw, 68px); }
.catalog-page-card p { max-width: 660px; margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.catalog-page-card.is-featured p { color: #aeb8c0; }
.catalog-page-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 26px; margin-top: 35px; border-top: 1px solid var(--line); }
.catalog-page-card.is-featured .catalog-page-links { border-color: #46515a; }
.catalog-page-links a { display: flex; justify-content: space-between; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 650; }
.catalog-page-card.is-featured .catalog-page-links a { border-color: #46515a; }
.catalog-page-links b { color: var(--blue); }
.compact-cta { padding-top: 30px; }
.compact-cta-shell { display: flex; justify-content: space-between; gap: 50px; align-items: center; padding: 42px 46px; border-radius: var(--radius); background: var(--blue-soft); }
.compact-cta h2 { margin-bottom: 10px; font-size: 34px; letter-spacing: -.04em; }
.compact-cta p { margin: 0; color: var(--muted); }
.category-hero { padding-bottom: 40px; }
.category-hero-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 90px; align-items: end; }
.category-hero-grid > div > p { max-width: 690px; margin-bottom: 0; color: #4c565e; font-size: 19px; line-height: 1.55; }
.category-index { min-height: 230px; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 32px; border-radius: var(--radius); background: var(--dark); color: #f3f6f7; }
.category-index span { color: #8da7ff; font-size: 12px; font-weight: 750; }
.category-index h2 { margin: 0; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.15; letter-spacing: -.03em; }
.category-index p { max-width: 320px; margin: 0; color: #aeb8c0; font-size: 14px; line-height: 1.5; }
.category-index .button { align-self: flex-start; min-width: 0; }
.category-index-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; color: #8da7ff; font-size: 13.5px; font-weight: 650; }
.category-index-link:hover { color: #fff; }
.category-index-pending { display: block; margin-top: -10px; color: #97a2ab !important; font-size: 12px; font-weight: 500 !important; line-height: 1.5; }
.category-directory { padding-top: 74px; }
.directory-toolbar { display: flex; justify-content: space-between; gap: 60px; align-items: end; margin-bottom: 34px; }
.directory-toolbar h2 { margin-bottom: 12px; font-size: 42px; letter-spacing: -.045em; }
.directory-toolbar p { max-width: 600px; margin: 0; color: var(--muted); line-height: 1.55; }
.catalog-search { width: min(390px, 100%); }
.catalog-search input { border-color: var(--line); background: var(--surface); color: var(--ink); }
.catalog-search input::placeholder { color: #77828b; }
#category-document-list[hidden], #category-document-groups[hidden] { display: none; }
.directory-groups { display: grid; gap: 46px; }
.directory-group-title { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.directory-group-title h3 { margin: 0; font-size: 22px; letter-spacing: -.02em; }
.directory-group-title span { color: var(--muted); font-size: 13px; font-weight: 650; white-space: nowrap; }
.document-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .document-slot { min-width: 0; }
.document-row span { min-width: 0; }
.document-row { min-height: 92px; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); transition: border-color .2s ease, transform .2s ease; }
.document-row:hover { border-color: var(--blue); transform: translateY(-2px); }
.document-row span { display: grid; gap: 8px; }
.document-row b { line-height: 1.3; }
.document-row small { color: var(--muted); }
.document-row i { color: var(--blue); font-style: normal; } .document-row.is-pending { width: 100%; margin: 0; border-style: dashed; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.document-row.is-pending b { color: #6e777f; font-weight: 650; }
.document-row.is-pending small { color: #98a1a8; }
.document-row.is-pending i { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: var(--paper); color: var(--blue); font-size: 12px; font-weight: 700; white-space: nowrap; transition: background-color .2s ease; }
.document-row.is-pending:hover { border-color: var(--blue); border-style: solid; }
.document-row.is-pending:hover b { color: var(--ink); }
.document-row.is-pending:hover i { background: var(--blue-soft); }
.document-row.is-pending:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.directory-more { display: block; min-width: 180px; margin: 28px auto 0; padding: 14px 20px; border: 1px solid var(--line); border-radius: 10px; background: transparent; cursor: pointer; font-weight: 700; }
.directory-more[hidden] { display: none; }
.directory-empty { grid-column: 1 / -1; padding: 34px; border-radius: var(--radius); background: var(--surface); color: var(--muted); text-align: center; }
.category-seo { padding-top: 44px; }
.category-seo-grid, .document-content-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; padding-top: 55px; border-top: 1px solid var(--line); }
.document-content-grid { grid-template-columns: .62fr 1.38fr; gap: 56px; padding-top: 40px; }
.document-content-grid > .entry-content { max-width: 840px; }
.category-seo-grid > *, .document-content-grid > * { min-width: 0; }
.content-label h2 { position: sticky; top: 40px; font-size: 42px; line-height: 1; letter-spacing: -.045em; }
.content-sticky { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 14px; height: calc(100vh - 48px); }
.content-sticky h2 { position: static; margin: 0; font-size: 22px; letter-spacing: -.02em; } .ask-widget { flex: 1; min-height: 0; display: grid; grid-template-rows: auto 1fr auto; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.ask-head { display: flex; align-items: center; gap: 12px; }
.ask-avatar { position: relative; flex: none; width: 42px; height: 42px; }
.ask-avatar svg { display: block; width: 100%; height: 100%; border-radius: 50%; }
.ask-avatar::after { content: ''; position: absolute; right: -1px; bottom: -1px; width: 13px; height: 13px; border-radius: 50%; background: #2fbf71; border: 2px solid var(--surface); animation: askPulse 1.6s ease-out infinite; }
@keyframes askPulse { 0% { box-shadow: 0 0 0 0 rgba(47, 191, 113, .55); } 75% { box-shadow: 0 0 0 8px rgba(47, 191, 113, 0); } 100% { box-shadow: 0 0 0 0 rgba(47, 191, 113, 0); } }
.ask-persona { display: grid; gap: 3px; }
.ask-persona b { font-size: 15px; color: var(--ink); line-height: 1.2; }
.ask-persona span { font-size: 13px; color: var(--muted); }
.ask-persona em { font-style: normal; font-weight: 700; color: #2fbf71; }
.ask-messages { display: grid; gap: 10px; align-content: start; min-height: 0; overflow-y: auto; }
.ask-messages[hidden] { display: none; }
.ask-msg { padding: 11px 15px; border-radius: 14px; font-size: 14px; line-height: 1.55; animation: askIn .4s ease both; }
.ask-msg-user { justify-self: end; max-width: 85%; background: var(--blue); color: #f8fafb; border-bottom-right-radius: 4px; }
.ask-msg-bot { justify-self: start; max-width: 92%; background: var(--paper); border: 1px solid var(--line); color: var(--ink); border-bottom-left-radius: 4px; }
@keyframes askIn { from { opacity: 0; transform: translateY(8px); } }
.ask-typing { justify-self: start; display: flex; align-items: center; gap: 5px; width: fit-content; padding: 13px 15px; border-radius: 14px; border-bottom-left-radius: 4px; background: var(--paper); border: 1px solid var(--line); animation: askIn .4s ease both; }
.ask-typing[hidden] { display: none; }
.ask-typing i { width: 7px; height: 7px; border-radius: 50%; background: #99a5af; animation: askDot 1.05s ease-in-out infinite; }
.ask-typing i:nth-child(2) { animation-delay: .17s; }
.ask-typing i:nth-child(3) { animation-delay: .34s; }
@keyframes askDot { 0%, 55%, 100% { transform: none; opacity: .45; } 25% { transform: translateY(-5px); opacity: 1; } }
.ask-expert { justify-self: stretch; display: grid; gap: 3px; padding: 14px 16px; border-radius: 14px; border-bottom-left-radius: 4px; background: var(--blue-soft); animation: askIn .4s ease both; }
.ask-expert b { font-size: 14px; color: var(--ink); }
.ask-expert span { font-size: 12.5px; color: var(--muted); }
.ask-expert-btn { justify-self: start; margin-top: 8px; padding: 10px 16px; border: 0; border-radius: 10px; background: #ff5d1c; color: #fff; font: inherit; font-weight: 700; font-size: 13.5px; cursor: pointer; box-shadow: 0 6px 16px rgba(255, 93, 28, .28); transition: background .16s ease, transform .16s ease; }
.ask-expert-btn:hover { background: #e94d10; transform: translateY(-1px); } .ask-msg-error { justify-self: start; max-width: 92%; background: #fbe4e4; border: 1px solid #f0c2c2; color: #8f2323; border-bottom-left-radius: 4px; }
.ask-form { position: relative; display: flex; align-items: stretch; gap: 8px; flex-wrap: wrap; }
.ask-counter { position: absolute; right: 74px; bottom: 8px; padding: 2px 7px; border-radius: 999px; background: var(--surface); color: var(--muted); font-size: 11px; font-weight: 700; pointer-events: none; }
.ask-counter.is-over { background: #fbe4e4; color: #b02a2a; }
.ask-form textarea.is-over { border-color: #d98080; }
.ask-send:disabled { background: #c9ced3; box-shadow: none; cursor: not-allowed; }
.ask-send:disabled:hover { background: #c9ced3; transform: none; }
.ask-form textarea { flex: 1; min-width: 0; min-height: 58px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font: inherit; font-size: 14px; line-height: 1.45; resize: none; }
.ask-form textarea:focus { outline: none; border-color: var(--blue); }
.ask-send { flex: none; display: grid; place-items: center; width: 58px; border: 0; border-radius: 10px; background: #ff5d1c; color: #fff; cursor: pointer; box-shadow: 0 8px 20px rgba(255, 93, 28, .3); transition: background .16s ease, transform .16s ease; }
.ask-send svg { width: 23px; height: 23px; }
.ask-send:hover { background: #e94d10; transform: translateY(-1px); }
.seo-copy, .document-content-grid > div { max-width: 740px; }
.seo-copy p, .document-content-grid > div p { color: var(--muted); line-height: 1.75; }
.seo-copy h3, .document-content-grid h3 { margin-top: 36px; font-size: 24px; }
.seo-copy ul, .document-content-grid ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 28px; padding-left: 20px; color: var(--muted); line-height: 1.5; } .entry-content { max-width: 740px; color: var(--muted); line-height: 1.75; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }
.entry-content p { margin: 0 0 22px; }
.entry-content strong, .entry-content b { color: var(--ink); font-weight: 700; }
.entry-content h2 { margin: 50px 0 20px; font-size: 30px; line-height: 1.18; letter-spacing: -.025em; font-weight: 650; color: var(--ink); }
.entry-content h3 { margin: 32px 0 14px; font-size: 22px; line-height: 1.2; letter-spacing: -.01em; font-weight: 650; color: var(--ink); }
.entry-content a { color: var(--blue); text-decoration: underline; text-decoration-color: rgba(36,87,214,.35); text-underline-offset: 3px; }
.entry-content a:hover { text-decoration-color: var(--blue); }
.entry-content ul, .entry-content ol { margin: 0 0 22px; padding-left: 22px; display: grid; gap: 10px; }
.entry-content li { line-height: 1.6; }
.entry-content dl { margin: 0 0 22px; }
.entry-content dt { margin: 28px 0 10px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 18px; font-weight: 650; color: var(--ink); }
.entry-content dt:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.entry-content dd { margin: 0; } .entry-content, .document-content-grid > * { min-width: 0; }
.table-scroll { border: 1px solid var(--line); border-radius: 12px; overflow: auto; }
.entry-content .table-scroll { margin: 0 0 28px; max-height: 460px; }
.entry-content table { width: 100%; min-width: 780px; border-collapse: collapse; font-size: 14px; }
.entry-content th, .entry-content td { padding: 14px 18px; text-align: left; border-bottom: 1px solid var(--line); line-height: 1.5; }
.entry-content td:not(:first-child) { min-width: 150px; }
.entry-content thead th { position: sticky; top: 0; z-index: 1; background: var(--surface); color: var(--ink); font-weight: 700; white-space: nowrap; box-shadow: 0 1px 0 var(--line); }
.entry-content tbody tr:last-child th, .entry-content tbody tr:last-child td { border-bottom: 0; }
.entry-content .cta-offer { margin: 8px 0 32px; padding: 28px 30px; border-radius: var(--radius); background: var(--blue-soft); }
.entry-content .cta-offer__title { margin: 0 0 10px; font-size: 19px; line-height: 1.3; color: var(--ink); }
.entry-content .cta-offer__text { margin: 0 0 20px; color: var(--muted); }
.entry-content .fb-item-bg { display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.entry-content .custom-pulse-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 0; border-radius: 10px; background: var(--blue); color: #f8fafb; font-weight: 700; font-size: 14px; cursor: pointer; transition: transform .18s ease, background .18s ease; animation: ctaPulse 2.2s ease-in-out infinite; }
.entry-content .custom-pulse-button:hover { background: var(--blue-dark); transform: translateY(-2px); }
@keyframes ctaPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(36,87,214,.35); } 50% { box-shadow: 0 0 0 9px rgba(36,87,214,0); } }
.document-hero { padding-bottom: 48px; }
.document-hero-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 48px; align-items: center; }
.document-hero-main { min-width: 0; }
.document-hero-art { justify-self: center; width: 100%; max-width: 420px; }
.document-hero-art img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.document-lead { max-width: 620px; margin: 0 0 32px; color: #4c565e; font-size: 18px; line-height: 1.55; } .servisy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.servisy-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: border-color .16s ease, transform .16s ease; }
.servisy-card:hover { border-color: var(--blue); transform: translateY(-3px); }
.servisy-tag { align-self: flex-start; margin-bottom: 16px; padding: 5px 11px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 750; }
.servisy-card h2 { margin: 0 0 10px; font-size: 21px; letter-spacing: -.02em; }
.servisy-card p { margin: 0 0 20px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.servisy-more { margin-top: auto; color: var(--blue); font-size: 14px; font-weight: 700; }
.tool-embed { padding-top: 30px; }
.tool-frame { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); box-shadow: 0 18px 50px rgba(37,29,24,.06); }
.tool-frame iframe { display: block; width: 100%; height: 800px; border: 0; }
.tool-note { margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; } .articles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.article-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); transition: border-color .16s ease, transform .16s ease; }
.article-card:hover { border-color: var(--blue); transform: translateY(-3px); }
.article-card a { display: flex; flex-direction: column; height: 100%; padding: 26px; }
.article-card-tag { align-self: flex-start; margin-bottom: 16px; padding: 5px 11px; border-radius: 999px; background: var(--blue-soft); color: var(--blue); font-size: 11px; font-weight: 750; }
.article-card h2 { margin: 0 0 20px; font-size: 19px; line-height: 1.3; letter-spacing: -.02em; }
.article-card-more { margin-top: auto; color: var(--blue); font-size: 14px; font-weight: 700; }
.hero-checks { display: grid; gap: 12px; margin: 0 0 34px; padding: 0; list-style: none; max-width: 690px; color: #4c565e; font-size: 17px; line-height: 1.45; }
.hero-checks li { display: flex; align-items: flex-start; gap: 12px; }
.hero-checks li::before { content: '✓'; flex: none; display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 12px; font-weight: 700; }
.document-type { display: block; margin-bottom: 24px; color: var(--blue); font-size: 12px; font-weight: 750; }
.document-content { padding-top: 40px; } .doc-facts { padding: 0 0 8px; }
.doc-facts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1px; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); overflow: hidden; }
.doc-fact { padding: 22px 24px; background: var(--surface); }
.doc-fact dt { margin-bottom: 8px; color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .01em; }
.doc-fact dd { margin: 0; font-size: 16px; font-weight: 650; line-height: 1.35; letter-spacing: -.01em; }
.doc-facts-note { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.doc-prep-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.doc-prep-col { padding: 36px 38px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.doc-prep-col h2 { margin: 0 0 10px; font-size: 26px; letter-spacing: -.02em; }
.doc-prep-lead { margin: 0 0 24px; color: var(--muted); font-size: 15px; line-height: 1.55; }
.doc-checklist, .doc-parts { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; font-size: 15.5px; line-height: 1.5; }
.doc-checklist li, .doc-parts li { display: flex; align-items: flex-start; gap: 12px; }
.doc-checklist li::before { content: '✓'; flex: none; display: grid; place-items: center; width: 21px; height: 21px; margin-top: 1px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 11px; font-weight: 700; }
.doc-parts li::before { content: ''; flex: none; width: 7px; height: 7px; margin-top: 8px; border-radius: 2px; background: var(--blue); }
.doc-prep-hint { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; line-height: 1.55; }
.doc-steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.doc-steps-grid li { display: flex; flex-direction: column; padding: 28px 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.doc-step-num { margin-bottom: 18px; color: var(--blue); font-size: 13px; font-weight: 750; letter-spacing: .04em; }
.doc-steps-grid h3 { margin: 0 0 10px; font-size: 18px; letter-spacing: -.02em; }
.doc-steps-grid p { margin: 0 0 20px; color: var(--muted); font-size: 14.5px; line-height: 1.55; }
.doc-step-time { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); font-size: 13px; font-weight: 650; }
.doc-steps-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap; margin-top: 20px; padding: 26px 32px; border-radius: var(--radius); background: var(--blue-soft); }
.doc-steps-cta div { display: grid; gap: 5px; }
.doc-steps-cta strong { font-size: 18px; letter-spacing: -.02em; }
.doc-steps-cta span { color: var(--muted); font-size: 15px; line-height: 1.5; }
.doc-steps-cta .button { flex: none; }
.flow-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); overflow: hidden; }
.flow-list li { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 0 26px; padding: 30px 34px; border-top: 1px solid var(--line); }
.flow-list li:first-child { border-top: 0; }
.flow-num { display: grid; place-items: center; align-self: start; width: 52px; height: 52px; border-radius: 14px; background: var(--blue-soft); color: var(--blue); font-size: 17px; font-weight: 800; letter-spacing: -.02em; }
.flow-body { min-width: 0; }
.flow-body h3 { margin: 0 0 9px; font-size: 20px; letter-spacing: -.02em; overflow-wrap: break-word; }
.flow-body p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.flow-meta { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-top: 16px; }
.flow-result, .flow-time { padding: 6px 13px; border-radius: 999px; font-size: 13px; font-weight: 650; line-height: 1.35; }
.flow-result { background: var(--blue-soft); color: var(--blue); }
.flow-time { border: 1px solid var(--line); color: var(--muted); }
.flow .doc-steps-cta { margin-top: 22px; }
.flow-start .price-disclaimer { margin-top: 22px; }
.doc-faq .faq-grid { gap: 70px; }
.doc-faq summary { font-size: 18px; padding: 24px 50px 24px 0; }
.doc-faq summary span::before, .doc-faq summary span::after { top: 34px; }
.doc-faq details p { padding-bottom: 22px; font-size: 15.5px; }
.doc-related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 22px; margin-bottom: 26px; }
.doc-related .text-link { font-size: 15px; }
.doc-contact-shell { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; padding: 56px; border-radius: var(--radius); color: #f5f7f8; background: var(--dark); }
.doc-contact-copy h2 { margin: 0 0 16px; font-size: 32px; line-height: 1.2; letter-spacing: -.025em; }
.doc-contact-copy p { margin: 0 0 32px; color: #aeb8c0; font-size: 16px; line-height: 1.6; }
.doc-contact-copy .eyebrow { display: block; margin-bottom: 20px; color: #8da7ff; font-size: 12px; font-weight: 700; }
.doc-contact-direct { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; padding-top: 28px; border-top: 1px solid #3c454e; }
.doc-contact-phone { display: grid; gap: 4px; font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.doc-contact-phone small { color: #aeb8c0; font-size: 13px; font-weight: 600; letter-spacing: 0; }
.doc-contact-msg { display: flex; gap: 10px; }
.doc-contact-msg a { padding: 10px 18px; border: 1px solid #56616b; border-radius: 999px; font-size: 14px; font-weight: 650; transition: border-color .16s ease, background .16s ease; }
.doc-contact-msg a:hover { border-color: #8da7ff; background: var(--dark-soft); }
.doc-contact-form { display: grid; gap: 18px; align-content: start; }
.doc-contact-form .button { width: 100%; justify-content: center; }
.doc-contact-form .modal-policy { color: #97a2ab; }
.marketplace-shell { display: grid; grid-template-columns: 1fr .95fr; gap: 70px; align-items: center; }
.marketplace-copy .eyebrow { display: block; margin-bottom: 18px; color: var(--blue); font-size: 12px; font-weight: 750; }
.marketplace-copy h2 { margin: 0 0 16px; font-size: 40px; line-height: 1.1; letter-spacing: -.03em; }
.marketplace-copy > p { margin: 0 0 28px; max-width: 560px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.marketplace-copy .hero-checks { margin-bottom: 30px; font-size: 15.5px; }
.marketplace-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.marketplace-cases article { display: flex; flex-direction: column; padding: 24px 22px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.marketplace-cases h3 { margin: 0 0 10px; font-size: 16px; line-height: 1.25; letter-spacing: -.02em; }
.marketplace-cases p { margin: 0 0 18px; color: var(--muted); font-size: 13.5px; line-height: 1.5; }
.marketplace-cases b { margin-top: auto; color: var(--blue); font-size: 15px; }
.doc-toc { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.doc-toc span { margin-right: 4px; color: var(--muted); font-size: 12px; font-weight: 750; }
.doc-toc a { padding: 8px 15px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: 13.5px; font-weight: 650; transition: border-color .16s ease, color .16s ease; }
.doc-toc a:hover { border-color: var(--blue); color: var(--blue); }
.doc-schemes-table { width: 100%; min-width: 700px; border-collapse: collapse; font-size: 14.5px; background: var(--surface); }
.doc-schemes-table th { padding: 16px 20px; border-bottom: 1px solid var(--line); text-align: left; color: var(--muted); font-size: 12.5px; font-weight: 750; white-space: nowrap; }
.doc-schemes-table td { padding: 16px 20px; border-bottom: 1px solid var(--line); line-height: 1.5; vertical-align: top; }
.doc-schemes-table tr:last-child td { border-bottom: 0; }
.doc-schemes-table td:first-child { color: var(--blue); white-space: nowrap; }
.price-factors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.price-factors-grid article { padding: 30px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.price-factors-grid h3 { margin: 0 0 12px; font-size: 19px; letter-spacing: -.02em; }
.price-factors-grid p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
:focus-visible { outline: 3px solid #7696f5; outline-offset: 4px; }
@media (prefers-color-scheme: dark) {
:root { --paper: #171b1f; --surface: #22282e; --ink: #eef1f3; --muted: #aeb7bf; --line: #3d464e; --dark: #242b31; --dark-soft: #303840; --blue-soft: #24345f; }
.site-header { color: #171b1f; }
.hero-lead { color: #384149; }
.service-photo { background-image: linear-gradient(90deg, rgba(34,40,46,.96), rgba(34,40,46,.55)), url(//ru-cert.help/wp-content/themes/kontur/assets/certification-hero.webp); }
}
@media (max-width: 980px) {
:root { --container: min(100% - 40px, 900px); }
.desktop-nav { display: none; }
.nav-wrap { grid-template-columns: 1fr auto auto; }
.menu-button { display: grid; gap: 5px; width: 38px; height: 38px; place-content: center; border: 1px solid rgba(23,27,31,.25); border-radius: 9px; background: rgba(255,255,255,.45); }
.menu-button span:not(.sr-only) { display: block; width: 17px; height: 1px; background: #171b1f; }
.mobile-nav { position: absolute; top: 68px; left: 20px; right: 20px; padding: 14px; border-radius: var(--radius); background: var(--surface); box-shadow: 0 20px 50px rgba(20,30,40,.14); color: var(--ink); }
.mobile-nav:not([hidden]) { display: grid; }
.mobile-nav a { padding: 14px; border-bottom: 1px solid var(--line); }
.mobile-nav a:last-child { border: 0; color: var(--blue); }
.mobile-nav a.mobile-sub { padding: 11px 14px 11px 30px; font-size: 14px; color: var(--muted); }
.hero-grid { grid-template-columns: 1fr; }
.hero-copy { max-width: 640px; }
.hero-photo { background-image: linear-gradient(90deg, rgba(229,233,236,.97) 0%, rgba(229,233,236,.82) 52%, rgba(229,233,236,.2) 100%), url(//ru-cert.help/wp-content/themes/kontur/assets/certification-hero.webp); }
.hero-note { right: 0; }
.navigator-grid, .industries-grid, .faq-grid, .contact-shell, .ai-home-grid, .marketplace-shell { grid-template-columns: 1fr; gap: 50px; }
.ai-home-copy { max-width: none; }
.advantages-grid, .testimonials-grid, .legit-grid, .price-factors-grid { grid-template-columns: 1fr 1fr; }
.articles-grid, .price-teaser-grid, .servisy-grid { grid-template-columns: 1fr 1fr; }
.tool-frame iframe { height: 720px; }
.legit-cta { flex-direction: column; align-items: flex-start; }
.category-hero-grid, .category-seo-grid, .document-content-grid { grid-template-columns: 1fr; gap: 48px; }
.catalog-page-links { grid-template-columns: 1fr; }
.content-label h2 { position: static; }
.content-sticky { position: static; height: auto; }
.ask-widget { height: 68vh; } .content-label { order: 2; margin-top: 8px; }
.content-sticky > h2 { display: none; } .mobile-cta-bar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; padding: 10px 16px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); background: var(--surface); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(20,30,50,.08); transition: transform .25s ease; }
.mobile-cta-bar.is-hidden { transform: translateY(130%); }
.mobile-cta-button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; min-height: 60px; padding: 10px 20px; border: 0; border-radius: 12px; background: #ff5d1c; color: #fff; cursor: pointer; box-shadow: 0 10px 26px rgba(255, 93, 28, .32); }
.mobile-cta-button:active { background: #e94d10; }
.mobile-cta-label { font-size: 16px; font-weight: 750; letter-spacing: -.01em; }
.mobile-cta-note { font-size: 12px; font-weight: 600; opacity: .85; }
body { padding-bottom: 82px; }
.industries-copy { position: static; }
.route-heading { grid-template-columns: 1fr; gap: 10px; }
.route-steps { grid-template-columns: 1fr 1fr; gap: 48px 24px; }
.route-steps::before { display: none; }
.step-marker { margin-bottom: 18px; }
.evidence-grid { grid-template-columns: 1fr; }
.footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
.footer-map-links { grid-template-columns: 1fr 1fr; }
.footer-brand { grid-column: 1 / -1; max-width: none; }
.contacts-grid { grid-template-columns: 1fr; gap: 26px; }
.contacts-map { min-height: 340px; order: -1; }
.price-row { grid-template-columns: 1fr; gap: 6px; }
.price-head { display: none; } .price-calc { justify-self: start; opacity: 1; margin-top: 6px; }
.price-term { white-space: normal; }
.price-term::before { content: 'Срок: '; color: var(--muted); }
.price-toolbar { flex-direction: column; align-items: stretch; } .price-toolbar .catalog-search { flex: none; max-width: none; }
.doc-facts-grid { grid-template-columns: 1fr 1fr; }
.doc-prep-grid { grid-template-columns: 1fr; }
.doc-steps-grid { grid-template-columns: 1fr 1fr; }
.doc-steps-cta { flex-direction: column; align-items: flex-start; }
.flow-list li { grid-template-columns: 66px minmax(0, 1fr); gap: 0 18px; padding: 26px 24px; }
.flow-num { width: 46px; height: 46px; border-radius: 12px; font-size: 15px; }
.doc-faq .faq-grid { gap: 40px; }
.doc-related-grid { grid-template-columns: 1fr; }
.doc-contact-shell { grid-template-columns: 1fr; gap: 44px; padding: 40px; }
}
@media (max-width: 700px) {
:root { --container: calc(100% - 32px); }
.section { padding: 44px 0; }
.nav-contact { display: none; }
.brand-tagline { display: none; }
.nav-wrap { grid-template-columns: 1fr auto; }
.hero { min-height: 780px; }
.hero-grid { min-height: 780px; align-items: start; padding-top: 72px; }
.hero-copy { align-self: start; padding: 44px 0 170px; }
.hero-photo { background-position: 63% center; background-image: linear-gradient(180deg, rgba(229,233,236,.98) 0%, rgba(229,233,236,.9) 48%, rgba(229,233,236,.2) 100%), url(//ru-cert.help/wp-content/themes/kontur/assets/certification-hero.webp); }
h1 { font-size: clamp(45px, 14vw, 64px); }
.hero-lead { font-size: 17px; max-width: 94%; }
.hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
.hero-note { left: 16px; right: 16px; bottom: 16px; width: auto; }
.decision-tabs { grid-template-columns: 1fr; }
.decision-tab { min-height: 54px; border-right: 0; border-bottom: 1px solid var(--line); }
.decision-result { grid-template-columns: 1fr; padding: 28px; gap: 22px; }
.service-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; }
.catalog-feature-grid { grid-template-columns: 1fr; }
.catalog-card, .catalog-card-primary { grid-row: auto; min-height: 0; }
.catalog-card-primary { min-height: 470px; }
.service-card, .service-main { min-height: 300px; padding: 28px; }
.service-main { grid-row: auto; min-height: 470px; }
.route { padding-top: 20px; }
.route-shell { padding: 32px 22px 26px; }
.route-heading { display: block; margin-bottom: 38px; }
.route-heading h2 { max-width: 11ch; margin-bottom: 16px; font-size: 32px; line-height: 1; }
.route-heading p { max-width: 32ch; margin: 0; font-size: 15px; line-height: 1.55; }
.route-steps { grid-template-columns: 1fr; gap: 0; }
.route-steps li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px; min-height: 112px; padding: 0 0 28px; }
.route-steps li:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 42px; bottom: 0; width: 1px; background: #4c5761; }
.step-marker { width: 42px; height: 42px; margin: 0; font-size: 10px; }
.route-steps li > div { padding-top: 2px; }
.route-steps h3 { margin-bottom: 7px; font-size: 21px; line-height: 1.1; }
.route-steps p { max-width: 24ch; font-size: 14px; line-height: 1.45; }
.industry-list a { grid-template-columns: 1fr; gap: 8px; }
.evidence-quote, .evidence-facts { padding: 30px; }
.evidence-facts div { grid-template-columns: 86px 1fr; }
.contact-shell { padding: 32px 24px; }
.contact-form { grid-template-columns: 1fr; }
.field-wide { grid-column: auto; }
.advantages-grid, .testimonials-grid, .legit-grid, .articles-grid, .price-teaser-grid, .servisy-grid, .price-factors-grid { grid-template-columns: 1fr; }
.doc-facts-grid, .doc-steps-grid { grid-template-columns: 1fr; }
.flow-list li { grid-template-columns: 1fr; gap: 14px; padding: 24px 20px; }
.flow-body h3 { font-size: 18px; }
.footer-map-links { grid-template-columns: 1fr; }
.doc-prep-col { padding: 28px 24px; }
.doc-contact-shell { padding: 32px 24px; }
.doc-contact-copy h2 { font-size: 26px; }
.doc-contact-direct { gap: 20px; }
.marketplace-cases { grid-template-columns: 1fr; }
.marketplace-copy h2 { font-size: 32px; }
.catalog-heading { margin-bottom: 30px; }
.catalog-heading h2 { font-size: 38px; }
.catalog-switch { grid-template-columns: 1fr; }
.catalog-switch-button { min-height: 58px; border-right: 0; border-bottom: 1px solid var(--line); }
.catalog-switch-button:last-child { border-bottom: 0; }
.catalog-card, .catalog-card-primary { padding: 26px 22px; }
.catalog-card-primary { min-height: 440px; }
.catalog-card-primary h3 { font-size: 40px; }
.catalog-footer { align-items: flex-start; flex-direction: column; }
.inner-hero, .document-hero { padding: 104px 0 36px; }
.document-hero-grid { grid-template-columns: 1fr; }
.document-hero-art { display: none; }
.breadcrumbs { margin-bottom: 34px; }
.inner-hero h1 { font-size: 30px; }
.document-hero h1 { font-size: 28px; }
.document-hero h1.is-long { font-size: 26px; }
.catalog-page-grid, .document-list { grid-template-columns: 1fr; }
.document-row { gap: 14px; } .document-row.is-pending { flex-direction: column; align-items: flex-start; gap: 12px; }
.document-row.is-pending span { width: 100%; }
.document-row.is-pending i { padding: 4px 10px; font-size: 11px; }
.catalog-page-card.is-featured { grid-column: auto; }
.catalog-page-card, .catalog-page-card.is-featured { min-height: 0; padding: 26px 22px; }
.catalog-page-card.is-featured h2 { font-size: 40px; }
.compact-cta-shell, .directory-toolbar { align-items: flex-start; flex-direction: column; }
.category-index { min-height: 0; }
.seo-copy ul, .document-content-grid ul { grid-template-columns: 1fr; }
.footer-top { grid-template-columns: 1fr; gap: 30px; }
.footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
.contacts-cards { grid-template-columns: 1fr; }
.price-value { font-size: 16px; }
.quiz-box { padding: 24px 18px; }
.quiz-options-grid { grid-template-columns: 1fr; }
.quiz-estimate { gap: 24px; }
.quiz-form-row .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
} .checker-box { max-width: 940px; margin-inline: auto; padding: 46px 48px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.checker-progress { display: flex; gap: 8px; margin-bottom: 30px; }
.checker-dot { width: 46px; height: 4px; border-radius: 999px; background: var(--line); transition: background .2s ease; }
.checker-dot.is-active { background: var(--blue); }
.checker-kicker { display: block; margin-bottom: 14px; color: var(--blue); font-size: 12px; font-weight: 750; }
.checker-box h2 { margin: 0 0 10px; font-size: 32px; line-height: 1.15; letter-spacing: -.025em; }
.checker-lead { margin: 0 0 28px; color: var(--muted); font-size: 15.5px; line-height: 1.55; }
.checker-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.checker-options-wide { grid-template-columns: 1fr 1fr 1fr; }
.checker-option { padding: 18px 20px; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); text-align: left; font-size: 14.5px; font-weight: 650; line-height: 1.35; cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease; }
.checker-option:hover { border-color: var(--blue); color: var(--blue); }
.checker-option.is-active { border-color: var(--blue); background: var(--blue); color: #f8fafb; }
.checker-back { margin-top: 24px; padding: 0; border: 0; background: none; color: var(--muted); font-size: 14px; font-weight: 650; cursor: pointer; }
.checker-back:hover { color: var(--blue); }
.checker-reg { margin: 0 0 26px; color: var(--blue); font-size: 15px; font-weight: 650; line-height: 1.45; }
.checker-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 28px; }
.checker-facts div { padding: 20px 22px; border-radius: 11px; background: var(--blue-soft); }
.checker-facts span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.checker-facts b { font-size: 19px; letter-spacing: -.02em; }
.checker-notes { display: grid; gap: 18px; margin-bottom: 26px; }
.checker-note { padding-left: 18px; border-left: 2px solid var(--line); }
.checker-note b { display: block; margin-bottom: 7px; font-size: 14px; }
.checker-note p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.6; }
.checker-disclaimer { margin: 0 0 28px; padding: 20px 22px; border-radius: 11px; background: var(--paper); color: var(--muted); font-size: 13.5px; line-height: 1.6; }
.checker-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.checker-actions .checker-back { margin: 0; }
.deadline-date { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.deadline-date label { color: var(--muted); font-size: 15px; font-weight: 650; }
.deadline-input { min-width: 0; flex: 0 1 220px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--ink); font-size: 16px; }
.deadline-input:focus-visible { outline: 2px solid var(--blue); outline-offset: 1px; }
.deadline-date .button { flex: none; }
.deadline-hint { margin: 0; color: var(--muted); font-size: 14px; }
.deadline-table-wrap { margin-bottom: 28px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.deadline-table { width: 100%; min-width: 340px; border-collapse: collapse; font-size: 15px; }
.deadline-table th { padding: 13px 20px; border-bottom: 1px solid var(--line); background: var(--paper); color: var(--muted); font-size: 12.5px; font-weight: 700; text-align: left; }
.deadline-table th:last-child, .deadline-table td:last-child { width: 1%; white-space: nowrap; text-align: right; }
.deadline-table td { padding: 13px 20px; border-bottom: 1px solid var(--line); }
.deadline-table tr:last-child td { border-bottom: 0; }
.deadline-total-row td { background: var(--blue-soft); color: var(--blue); font-weight: 750; }
.deadline-lead { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 330px); grid-template-rows: auto 1fr; grid-template-areas: "copy form" "list form"; gap: 20px 34px; margin: 0 0 28px; padding: 32px 34px; border-radius: var(--radius); background: var(--dark); color: #fff; }
.deadline-lead-copy { grid-area: copy; min-width: 0; }
.deadline-lead-list { grid-area: list; }
.deadline-lead-form { grid-area: form; }
.deadline-lead-tag { display: inline-block; margin-bottom: 15px; padding: 6px 13px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: 12.5px; font-weight: 700; }
.deadline-lead h3 { margin: 0 0 11px; font-size: 24px; letter-spacing: -.02em; line-height: 1.25; overflow-wrap: break-word; }
.deadline-lead-copy p { margin: 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.6; }
.deadline-lead-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.deadline-lead-list li { position: relative; padding-left: 25px; color: rgba(255,255,255,.86); font-size: 14.5px; line-height: 1.5; }
.deadline-lead-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: #8fb4ff; font-weight: 800; }
.deadline-lead-form { display: grid; gap: 13px; align-content: start; min-width: 0; }
.deadline-lead-form .field { display: grid; gap: 7px; }
.deadline-lead-form label { color: rgba(255,255,255,.7); font-size: 13px; font-weight: 650; }
.deadline-lead-form input[type="text"], .deadline-lead-form input[type="tel"] { width: 100%; min-width: 0; padding: 13px 15px; border: 1px solid rgba(255,255,255,.22); border-radius: 11px; background: rgba(255,255,255,.08); color: #fff; font-size: 15px; }
.deadline-lead-form input:focus-visible { outline: 2px solid #8fb4ff; outline-offset: 1px; }
.deadline-lead-form .button { width: 100%; justify-content: center; margin-top: 2px; }
.deadline-lead .form-consent { color: rgba(255,255,255,.58); }
.deadline-lead .form-consent a:hover { color: #8fb4ff; }
.deadline-lead-note { margin: 0; color: rgba(255,255,255,.5); font-size: 12.5px; line-height: 1.5; }
.checker-facts.is-good b { color: #16794a; }
.checker-facts.is-warn b { color: #9a5b00; }
.checker-facts.is-bad b { color: #b02a2a; }
.checker-facts.is-good div { background: #e2f3ea; }
.checker-facts.is-warn div { background: #fdeed6; }
.checker-facts.is-bad div { background: #fbe4e4; }
@media (max-width: 980px) {
.checker-box { padding: 34px 28px; }
.checker-options-wide { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
.checker-box { padding: 26px 20px; }
.checker-box h2 { font-size: 25px; }
.checker-options, .checker-options-wide, .checker-facts { grid-template-columns: 1fr; } .deadline-lead { display: flex; flex-direction: column; gap: 24px; padding: 26px 22px; }
.deadline-lead-copy { order: 1; }
.deadline-lead-form { order: 2; }
.deadline-lead-list { order: 3; }
.deadline-lead h3 { font-size: 21px; }
.deadline-table { min-width: 0; font-size: 14px; }
.deadline-table th, .deadline-table td { padding: 11px 14px; }
.deadline-date { flex-direction: column; align-items: stretch; }
.deadline-input { flex: none; width: 100%; }
.deadline-date .button { width: 100%; justify-content: center; }
.checker-actions .button { width: 100%; justify-content: center; }
}
.servisy-card-accent { border-color: var(--blue); background: var(--blue-soft); }
.servisy-card-accent .servisy-tag { background: var(--blue); color: #f8fafb; } .category-prices { margin: 22px 0 30px; padding: 24px 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.category-prices-label { display: block; margin-bottom: 16px; color: var(--muted); font-size: 12px; font-weight: 750; }
.category-prices-grid { display: flex; flex-wrap: wrap; gap: 12px 34px; }
.category-price { display: grid; gap: 3px; }
.category-price span { color: var(--muted); font-size: 13px; line-height: 1.3; }
.category-price b { color: var(--blue); font-size: 17px; letter-spacing: -.01em; }
.category-price small { color: var(--muted); font-size: 12.5px; }
.category-prices-note { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.5; }
.category-prices-note a { color: var(--blue); font-weight: 650; }
.quiz-result h2 { margin: 0 0 8px; font-size: 30px; line-height: 1.15; letter-spacing: -.025em; }
.quiz-reg { margin: 0 0 24px; color: #8da7ff; font-size: 15px; font-weight: 650; }
.quiz-reg[hidden] { display: none; }
.quiz-why { margin: 0 0 16px; color: #c5ccd3; font-size: 15px; line-height: 1.6; }
.quiz-why[hidden] { display: none; } .quiz-form .form-consent { margin-top: 16px; }
.quiz-form-row { margin-bottom: 4px; } .doc-blank { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); transition: border-color .16s ease, background .16s ease; }
.doc-blank:hover { border-color: var(--blue); background: var(--blue-soft); }
.doc-blank-icon { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 9px; background: var(--blue); color: #f8fafb; font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.doc-blank-text { display: grid; gap: 3px; min-width: 0; }
.doc-blank-text b { font-size: 15px; }
.doc-blank-text small { color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.doc-blank-go { flex: none; margin-left: auto; color: var(--blue); font-size: 18px; font-weight: 700; }  .cat-art { display: block; flex: none; border-radius: 12px; overflow: hidden; background: #f2f3f5; pointer-events: none; }
.cat-art img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); }
.catalog-card, .catalog-page-card { min-width: 0; }
.catalog-feature-grid > *, .catalog-page-grid > *, .catalog-mini-grid > *, [data-catalog-panel] { min-width: 0; }
.cat-art-card { width: 104px; height: 78px; margin-bottom: 20px; }
.cat-art-mini { width: 76px; height: 57px; margin-bottom: 4px; }
.industry-list a { grid-template-columns: 56px 1fr auto; gap: 18px; }
.cat-art-row { width: 56px; height: 42px; border-radius: 10px; }
@media (max-width: 980px) {
.cat-art-card { width: 88px; height: 66px; margin-bottom: 16px; }
}
@media (max-width: 700px) { .catalog-page-card.is-featured h2, .catalog-card-primary h3 { font-size: clamp(28px, 8vw, 40px); }
.catalog-page-card h2 { font-size: clamp(22px, 6.4vw, 28px); } .compact-cta-shell { flex-direction: column; align-items: stretch; }
.compact-cta-shell .button { width: 100%; min-width: 0; white-space: normal; }
.category-hero-grid { grid-template-columns: minmax(0, 1fr); }
.category-index { min-width: 0; }
.category-index .button { width: 100%; min-width: 0; white-space: normal; }
.cat-art-card { width: 68px; height: 51px; margin-bottom: 14px; }
.industry-list a { grid-template-columns: 44px 1fr; gap: 14px; }
.cat-art-row { width: 44px; height: 33px; }
} .document-list-group { grid-column: 1 / -1; margin: 26px 0 6px; font-size: 15px; font-weight: 750; color: var(--muted); }
.document-list-group:first-child { margin-top: 0; }
.directory-more { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 26px; }
.directory-counter { color: var(--muted); font-size: 14px; font-weight: 650; }
.doc-blank-calc .doc-blank-icon { background: #ff5d1c; }