.hero{background-image:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 38%,rgba(255,255,255,.1) 63%),var(--hero-bg);background-size:cover;background-position:center right}.hero .hero-copy{width:min(620px,52%)}.price{background-image:linear-gradient(90deg,#eef8fc 0%,rgba(238,248,252,.96) 31%,rgba(238,248,252,.12) 70%),var(--price-bg);background-size:cover;background-position:center right}.price .price-grid{min-height:320px;grid-template-columns:1.2fr .8fr}.price .price-grid>div:first-child{max-width:560px}.price .price-aside{justify-self:end;max-width:290px;border-radius:12px}.problems-grid{grid-template-columns:repeat(4,1fr);gap:14px}.problem-card{min-height:94px;border-radius:10px;padding:18px 20px}.diagnostics-check{background:linear-gradient(90deg,#eef8fd 0,#f8fcff 45%,#edf7fd 100%)}.check-scheme{grid-template-columns:1fr minmax(430px,560px) 1fr;gap:28px}.result-grid{gap:14px}.result-card{min-height:118px;padding:20px}.cases-grid{gap:18px}.case-card{min-height:0;border-radius:11px}.case-card img{height:220px}.advantages-grid{gap:12px}.advantages-grid article{min-height:190px;padding:18px 14px}.about-grid{grid-template-columns:1.55fr .95fr}.about-image{height:auto;min-height:230px}.documents-grid{grid-template-columns:repeat(5,1fr)}.document-card{display:grid;grid-template-columns:84px 1fr;gap:12px;min-height:135px}.document-preview{height:auto}.review-card{padding:20px}.final-cta{padding:58px 0}.final-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.4fr repeat(4,1fr) 1.15fr}@media(max-width:980px){.hero .hero-copy{width:62%}.check-scheme{grid-template-columns:1fr}.final-grid,.about-grid{grid-template-columns:1fr}.documents-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.hero .hero-copy{width:100%}.problems-grid,.result-grid,.cases-grid,.faq-grid{grid-template-columns:1fr}.final-grid{grid-template-columns:1fr}.documents-grid{grid-template-columns:1fr}}
.documents-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.document-card{display:grid;grid-template-columns:72px 1fr;align-items:center;padding:12px}.document-preview{height:108px}.document-card h3{min-height:0;margin:0;font-size:12px}.final-form .wpcf7-form p{display:grid;grid-template-columns:1fr 1fr;gap:10px}.final-form .wpcf7-form>p>label:nth-of-type(3),.final-form .wpcf7-form p>span[data-name=privacy],.final-form .wpcf7-form p>input[type=submit]{grid-column:1/-1;grid-row:auto}.final-form .wpcf7-form input,.final-form .wpcf7-form textarea{min-height:44px;padding:12px}.final-form .wpcf7-form textarea{height:52px}.final-form .wpcf7-form p>input[type=submit]{width:100%;background:var(--accent);color:#fff;border:0;border-radius:8px;font-weight:600}
.header-contacts {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin-left: auto;
    margin-right: auto;
}
.header-contacts a{}
.header-contacts small{}
.section h2,.final-cta h2{margin-bottom:24px}.section-heading h2{}.section p,.problem-card p,.result-card p,.process-step p,.icon-card p,.advantages-grid p,.review-card p{font-size:14px;line-height:1.42}.problem-card p,.result-card p,.process-step p,.icon-card p,.advantages-grid p{font-size:13px}.check-image{background:var(--check-bg) center/cover no-repeat;border:0;box-shadow:0 12px 26px rgba(37,91,133,.12)}.check-scheme li span{position:relative;z-index:2}.check-scheme ul:first-child li span::after{right:-3px}.check-scheme ul:last-child li span::after{left:-3px}.process-cta{display:flex;justify-content:center;margin-top:70px}.site-footer .footer-grid a::before{display:inline-block;width:16px;margin-right:6px;color:var(--blue-700);font-family:"Font Awesome 7 Pro";font-weight:300}.site-footer .footer-grid>div:nth-child(2) a:nth-of-type(1)::before{content:"\f095"}.site-footer .footer-grid>div:nth-child(2) a:nth-of-type(2)::before{content:"\f0e0"}.site-footer .footer-grid>div:nth-child(2) a:nth-of-type(3)::before{content:"\f232";font-family:"Font Awesome 7 Brands"}.site-footer .footer-grid>div:nth-child(2) a:nth-of-type(4)::before{content:"\f2c6";font-family:"Font Awesome 7 Brands"}@media(max-width:720px){.section h2{margin-bottom:18px}.process-cta{justify-content:stretch}.process-cta .button{width:100%}.section p,.problem-card p,.result-card p,.process-step p,.icon-card p,.advantages-grid p,.review-card p{font-size:13px}}

/* The inspection artwork is a section background; this pseudo-element only
   reserves the central visual area so the leaders terminate on the cabinet. */
.diagnostics-check{background-image:linear-gradient(90deg,rgba(238,248,253,.62),rgba(248,252,255,.1) 50%,rgba(237,247,253,.62)),var(--check-bg);background-position:center;background-repeat:no-repeat;background-size:cover}
.check-scheme{position:relative;grid-template-columns:1fr minmax(430px,560px) 1fr;gap:28px}
.check-scheme::before{grid-column:2;grid-row:1;aspect-ratio:1.42;content:""}
.check-scheme ul:first-child{grid-column:1;grid-row:1}
.check-scheme ul:last-child{grid-column:3;grid-row:1}

/* A consistent 14px reading size for the landing sections. */
main .section p,main .section li,main .section dt,main .section dd,main .section .section-intro,main .section .text-link,main .section h3{font-size:14px;line-height:1.42}
main .final-cta p{font-size:14px;line-height:1.42}

@media(max-width:1180px){.check-scheme{grid-template-columns:1fr}.check-scheme::before{display:none}.check-scheme ul:first-child,.check-scheme ul:last-child{grid-column:1;grid-row:auto}}
@media(max-width:720px){main .section p,main .section li,main .section dt,main .section dd,main .section .section-intro,main .section .text-link,main .section h3{font-size:14px}}

/* Extend each leader into the equipment itself, without moving its label. */
@media(min-width:981px){
	.check-scheme ul:first-child li span::before,.check-scheme ul:last-child li span::before{position:absolute;top:0;height:1px;background:#198dde;content:""}
	.check-scheme ul:first-child li span::before{right:calc(-1 * var(--pointer-shift));width:var(--pointer-shift)}
	.check-scheme ul:last-child li span::before{left:calc(-1 * var(--pointer-shift));width:var(--pointer-shift)}
	.check-scheme ul:first-child li span::after{right:calc(-1 * var(--pointer-shift) - 3px)}
	.check-scheme ul:last-child li span::after{left:calc(-1 * var(--pointer-shift) - 3px)}
	.check-scheme ul:first-child li:nth-child(1){--pointer-shift:160px}.check-scheme ul:first-child li:nth-child(2){--pointer-shift:170px}.check-scheme ul:first-child li:nth-child(3){--pointer-shift:220px}.check-scheme ul:first-child li:nth-child(4){--pointer-shift:185px}.check-scheme ul:first-child li:nth-child(5){--pointer-shift:145px}.check-scheme ul:first-child li:nth-child(6){--pointer-shift:200px}
	.check-scheme ul:last-child li:nth-child(1){--pointer-shift:175px}.check-scheme ul:last-child li:nth-child(2){--pointer-shift:160px}.check-scheme ul:last-child li:nth-child(3){--pointer-shift:205px}.check-scheme ul:last-child li:nth-child(4){--pointer-shift:135px}.check-scheme ul:last-child li:nth-child(5){--pointer-shift:120px}.check-scheme ul:last-child li:nth-child(6){--pointer-shift:175px}
}

/* Image-based company logo and readable consent text in white modals/forms. */
.brand-logo{display:block;width:auto;height:52px;max-width:220px;object-fit:contain}.brand--footer .brand-logo{height:58px;max-width:240px}
.cf7-modal .wpcf7 .wpcf7-acceptance label,.cf7-modal .wpcf7 span[data-name=privacy]{color:var(--blue-900)}.cf7-modal .wpcf7 .wpcf7-acceptance a{color:var(--blue-700);text-decoration:underline}
.price-form .wpcf7 .wpcf7-acceptance label,.price-form .wpcf7 span[data-name=privacy]{color:var(--blue-900)}.price-form .wpcf7 .wpcf7-acceptance a{color:var(--blue-700);text-decoration:underline}
.cf7-modal--callback .wpcf7-form p{grid-template-columns:1fr}.cf7-modal--callback .wpcf7-form>p>label,.cf7-modal--callback .wpcf7-form p>input[type=submit]{grid-column:1;grid-row:auto}.cf7-modal--callback .wpcf7-form p>input[type=submit]{width:100%}
.cf7-modal--callback .wpcf7-form>p>label,.cf7-modal--callback .wpcf7-form input:not([type=submit]){width:100%}
#callback-modal .wpcf7-form p{position:relative;display:flex;flex-direction:column;gap:12px}
#callback-modal .wpcf7-form>p>label,#callback-modal .wpcf7-form .wpcf7-form-control-wrap,#callback-modal .wpcf7-form input[type=tel],#callback-modal .wpcf7-form input[type=submit]{display:block;width:100%;max-width:none}
#callback-modal .wpcf7-form .wpcf7-spinner{position:absolute;right:14px;bottom:14px;margin:0}
@media(max-width:560px){.brand-logo{height:42px;max-width:180px}.brand--footer .brand-logo{height:54px;max-width:220px}}

/* Hero CTA uses a compact CF7 phone form without affecting other forms. */
.hero-callback{max-width:520px}.hero-callback .wpcf7-form p{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px;align-items:stretch;margin:0}.hero-callback .wpcf7-form>p>label{display:block;grid-column:1;grid-row:1;color:transparent;font-size:0}.hero-callback .wpcf7 input:not([type=submit]){height:48px;font-size:14px}.hero-callback .wpcf7-form p>input[type=submit]{grid-column:2;grid-row:1;width:auto;height:48px;min-height:48px;padding:12px 23px;border-radius:5px;background:var(--orange);color:#fff;font-size:14px;font-weight:700}.hero-callback .wpcf7-spinner{position:absolute;z-index:2;top:50%;right:11px;margin:0;transform:translateY(-50%)}.hero-callback .wpcf7-response-output{display:block;min-height:0;margin:9px 0 0;color:var(--blue-900);font-size:13px}.hero-callback .wpcf7-not-valid-tip{font-size:12px}
@media(max-width:560px){.hero-callback{max-width:none}.hero-callback .wpcf7-form p{grid-template-columns:1fr}.hero-callback .wpcf7-form>p>label,.hero-callback .wpcf7-form p>input[type=submit]{grid-column:1;grid-row:auto}.hero-callback .wpcf7-form p>input[type=submit]{width:100%}}

/* Only the consent copy in the dark final CTA is white. */
.final-form .wpcf7 span[data-name=privacy],.final-form .wpcf7 .wpcf7-acceptance label{color:#fff}.final-form .wpcf7 .wpcf7-acceptance a{color:#fff;text-decoration:underline}
.wpcf7 span[data-name=privacy].consent-required,.wpcf7 .wpcf7-acceptance.consent-required{padding:6px 8px;border:1px solid #e85b42;border-radius:5px;background:rgba(232,91,66,.12)}.wpcf7 span[data-name=privacy].consent-required label,.wpcf7 .wpcf7-acceptance.consent-required label{color:#b42916}.final-form .wpcf7 span[data-name=privacy].consent-required label,.final-form .wpcf7 .wpcf7-acceptance.consent-required label{color:#fff}.wpcf7 .wpcf7-acceptance.consent-required input{outline:2px solid #e85b42;outline-offset:2px}

/* Compact modal forms: the final CTA deliberately keeps its own three fields. */
#consultation-modal .wpcf7-form p,#diagnostics-modal .wpcf7-form p{grid-template-columns:1fr}
#consultation-modal .wpcf7-form>p>label,#diagnostics-modal .wpcf7-form>p>label,#consultation-modal .wpcf7-form p>span[data-name=privacy],#diagnostics-modal .wpcf7-form p>span[data-name=privacy],#consultation-modal .wpcf7-form p>input[type=submit],#diagnostics-modal .wpcf7-form p>input[type=submit]{grid-column:1;grid-row:auto}
#consultation-modal .wpcf7-form>p>label,#diagnostics-modal .wpcf7-form>p>label,#consultation-modal .wpcf7-form input:not([type=submit]),#diagnostics-modal .wpcf7-form input:not([type=submit]){width:100%}
.price-form .wpcf7-form p{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(220px,1.3fr)}
.price-form .wpcf7-form>p>label:nth-of-type(1){grid-column:1}.price-form .wpcf7-form>p>label:nth-of-type(2){grid-column:2}.price-form .wpcf7-form p>span[data-name=privacy]{grid-column:1/3}.price-form .wpcf7-form p>input[type=submit]{grid-column:3}
@media(max-width:720px){.price-form .wpcf7-form p{grid-template-columns:1fr}.price-form .wpcf7-form>p>label:nth-of-type(1),.price-form .wpcf7-form>p>label:nth-of-type(2),.price-form .wpcf7-form p>span[data-name=privacy],.price-form .wpcf7-form p>input[type=submit]{grid-column:1;grid-row:auto}}

/* Responsive corrections.  The prototype uses several desktop rules,
   therefore compact layouts are defined here with the same priority. */
@media (max-width: 980px) {
	.footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.problems-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.price .price-grid { min-height: 0; }
	.price .price-aside { justify-self: stretch; max-width: none; }
	.advantages-grid article { min-height: 150px; }
}

@media (max-width: 720px) {
	body { overflow-x: hidden; }
	.section { padding: 34px 0; }
	.section h2, .final-cta h2 { margin-bottom: 18px; font-size: 24px; line-height: 1.12; }
	.section-heading { align-items: flex-end; gap: 12px; }
	.section-heading .text-link { padding-bottom: 2px; font-size: 12px; }
	.problems-grid { grid-template-columns: 1fr; }

	/* The two-column desktop price layout otherwise remains active on a phone. */
	.price .price-grid { grid-template-columns: 1fr; min-height: 0; gap: 18px; }
	.price .price-aside { grid-column: auto; justify-self: stretch; width: auto; max-width: none; }

	/* Keep the cabinet as the section background, but reserve a clean visual area
	   below the labels instead of placing labels over the equipment. */
	.diagnostics-check {
		padding-bottom: 300px;
		background-color: #eef8fd;
		background-position: center bottom;
		background-size: auto 460px;
	}
	.diagnostics-check .check-scheme { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
	.diagnostics-check .check-scheme ul,
	.diagnostics-check .check-scheme ul:first-child,
	.diagnostics-check .check-scheme ul:last-child { display: contents; grid-column: auto; grid-row: auto; }
	.diagnostics-check .check-scheme li,
	.diagnostics-check .check-scheme ul:first-child li {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		min-height: 52px;
		padding: 9px 10px;
		margin: 0;
		border: 1px solid #d9eaf4;
		border-radius: 7px;
		background: rgba(255,255,255,.94);
		color: var(--blue-900);
		font-size: 12px;
		font-weight: 600;
		line-height: 1.25;
		text-align: left;
	}
	.diagnostics-check .check-scheme li span { display: none; }

	.process-grid { gap: 12px 10px; }
	.process-step { min-height: 124px; padding: 0 2px; }
	.process-step::after { display: none; }
	.process-step p { font-size: 13px; }

	.icon-grid--eight, .icon-grid--four { gap: 8px; }
	.icon-card { min-height: 118px; padding: 12px 10px; }
	.icon-card > .fa { margin-bottom: 8px; font-size: 24px; }
	.icon-card h3 { font-size: 13px; }
	.icon-grid--four .icon-card { min-height: 108px; padding: 12px; }
	.icon-grid--four .icon-card > div { gap: 8px; }

	.cases-grid { gap: 14px; }
	.case-card { min-height: 0; }
	.case-card img { display: block; height: 205px; min-height: 205px; }
	.case-card h3 { padding: 14px 14px 8px; font-size: 15px; }
	.case-card dl { grid-template-columns: 76px minmax(0, 1fr); padding: 0 14px 15px; font-size: 13px; }

	.advantages-grid { gap: 8px; }
	.advantages-grid article { min-height: 128px; padding: 13px 9px; }
	.advantages-grid .fa { font-size: 24px; }
	.advantages-grid h3 { margin-top: 7px; font-size: 13px; }
	.advantages-grid p { font-size: 12px; }

	.about-grid { gap: 20px; }
	.about-image { min-height: 205px; }
	.stats-grid { gap: 8px; margin-top: 14px; }
	.stats-grid > div { min-height: 84px; padding: 11px; }
	.stats-grid strong { font-size: 24px; }
	.stats-grid span { font-size: 12px; }

	.documents-grid { gap: 9px; }
	.document-card { min-height: 102px; grid-template-columns: 62px 1fr; gap: 10px; }
	.document-preview { height: 76px; }
	.review-card { min-height: 0; padding: 15px; }
	.review-card > p { min-height: 0; }
	.faq-item button { min-height: 48px; padding: 10px 0; font-size: 13px; }
	.faq-answer p { font-size: 13px; }

	.final-cta { padding: 38px 0; }
	.final-grid { gap: 24px; }
	.final-form { padding: 14px; }
	.site-footer { padding-top: 22px; }
	.footer-grid { grid-template-columns: 1fr; gap: 18px; }
	.footer-grid h3 { margin-bottom: 7px; font-size: 14px; }
	.footer-grid p, .footer-grid a { margin-bottom: 7px; font-size: 13px; }
	.footer-map { min-height: 150px; font-size: 13px; }
	.footer-bottom { gap: 8px; margin-top: 18px; font-size: 11px; }
}

@media (max-width: 390px) {
	.container { width: min(calc(100% - 24px), var(--container)); }
	.section h2, .final-cta h2 { font-size: 23px; }
	.diagnostics-check .check-scheme li,
	.diagnostics-check .check-scheme ul:first-child li { min-height: 54px; padding: 8px; font-size: 11px; }
}

/* Final mobile and header adjustments. */
.hero-callback .wpcf7-response-output { border: 0; }
@media (min-width: 981px) { .footer-grid { grid-template-columns: 1.35fr .85fr .9fr 1.05fr; } }

@media (max-width: 1180px) {
	/* Tablet and mobile use the same hamburger entry point.  This also
	   deliberately overrides the legacy prototype rule that hid navigation
	   between 821px and 1180px. */
	.header-inner { position: relative; gap: 12px; }
	.header-cta, .header-messengers { display: none; }
	.header-contacts { margin-right: 0; }
	.menu-toggle { position: relative; z-index: 42; display: block; flex: 0 0 36px; padding: 6px; margin-left: 0; cursor: pointer; }
	.main-nav { position: absolute; z-index: 41; top: 100%; right: 0; left: 0; display: none; max-height: calc(100vh - 64px); max-height: calc(100dvh - 64px); padding: 14px 24px; margin: 0; overflow-y: auto; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; border-top: 1px solid var(--line); background: #fff; box-shadow: 0 7px 12px rgba(6,59,112,.08); }
	.main-nav.is-open { display: block; opacity: 1; transform: none; pointer-events: auto; }
}

@media (max-width: 720px) {
	.hero { background-repeat: no-repeat; background-position: center top}

	.problems-grid, .result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.icon-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.icon-grid--four .icon-card,
	.icon-grid--four .icon-card:nth-child(n + 6) { grid-column: auto; }

	.process-grid { gap: 16px 10px; }
	.process-step { min-height: 112px; padding: 0 2px 0 39px; }
	.process-step > span { top: 0; left: 0; }
	.process-step h3 { padding-top: 4px; font-size: 13px; line-height: 1.22; }
	.process-step p { margin-top: 6px; font-size: 12px; }
	.process-cta { margin-top: 15px; }

	.final-form .wpcf7-form p { grid-template-columns: 1fr; }
	.final-form .wpcf7-form > p > label,
	.final-form .wpcf7-form > p > label:nth-of-type(1),
	.final-form .wpcf7-form > p > label:nth-of-type(2),
	.final-form .wpcf7-form > p > label:nth-of-type(3),
	.final-form .wpcf7-form p > span[data-name="privacy"],
	.final-form .wpcf7-form p > input[type=submit] { grid-column: 1; grid-row: auto; }
}

/* FAQ state is controlled by the native hidden attribute in main.js. */
.faq-answer[hidden] { display: none; }
.faq-answer:not([hidden]) { display: block; grid-template-rows: none; }
.faq-answer:not([hidden]) p { padding: 0 0 14px; overflow: visible; }
.faq-item button .fa { transition: transform .2s ease; }
.faq-item button[aria-expanded="true"] .fa { transform: rotate(45deg); }

/* Readable legal and informational pages. */
.page-content { min-height: 50vh; padding: 54px 0 72px; background: linear-gradient(135deg, #f7fbfe, #fff 56%); }
.page-content__article { max-width: var(--container); padding: clamp(26px, 4vw, 52px); margin: 0 auto; border: 1px solid #deedf7; border-radius: 14px; background: #fff; box-shadow: 0 12px 34px rgba(21, 75, 119, .08); }
.page-content__article h1 { margin-bottom: 24px; color: var(--blue-900); font-size: clamp(28px, 4vw, 42px); line-height: 1.12; letter-spacing: -.7px; }
.entry-content { color: #2d4c68; font-size: 16px; line-height: 1.68; }
.entry-content > p { margin: 0 0 18px; }
.entry-content a { color: var(--blue-700); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--orange); }
.legal-page-content { counter-reset: legal-section; }
.legal-page-content .entry-content > p:first-child { padding: 16px 18px; margin-bottom: 28px; border-left: 4px solid var(--blue-700); border-radius: 0 8px 8px 0; background: #f1f8fd; color: #385a76; }
.legal-page-content .list-box { counter-increment: legal-section; padding: 22px 24px; margin: 18px 0; border: 1px solid #deedf7; border-radius: 10px; background: #fbfdff; box-shadow: 0 3px 12px rgba(21, 75, 119, .04); }
.legal-page-content .list-box__title { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 14px; color: var(--blue-900); font-size: 20px; font-weight: 700; line-height: 1.3; }
.legal-page-content .list-box__title::before { display: grid; flex: 0 0 auto; width: 29px; height: 29px; place-items: center; border-radius: 50%; background: var(--blue-700); color: #fff; content: counter(legal-section); font-size: 13px; line-height: 1; }
.legal-page-content .list-box__content { counter-reset: legal-item; }
.legal-page-content .list-box__content > p { margin: 0 0 13px; }
.legal-page-content .list-box__content-item { position: relative; padding-left: 38px; margin: 0 0 14px; }
.legal-page-content .list-box__content-item::before { position: absolute; top: 2px; left: 0; color: var(--blue-700); content: counter(legal-section) "." counter(legal-item); counter-increment: legal-item; font-size: 13px; font-weight: 700; }
.legal-page-content .list_std__simple { padding: 0; margin: 12px 0 4px; list-style: none; }
.legal-page-content .list_std__simple li { position: relative; padding-left: 20px; margin: 8px 0; }
.legal-page-content .list_std__simple li::before { position: absolute; top: .67em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--blue-700); content: ''; }
@media (max-width: 560px) { .page-content { padding: 28px 0 42px; }.page-content__article { padding: 23px 18px; border-radius: 10px; }.entry-content { font-size: 15px; line-height: 1.62; }.page-content__article h1 { margin-bottom: 20px; }.legal-page-content .list-box { padding: 18px 15px; margin: 14px 0; }.legal-page-content .list-box__title { gap: 9px; font-size: 18px; }.legal-page-content .list-box__title::before { width: 26px; height: 26px; font-size: 12px; }.legal-page-content .list-box__content-item { padding-left: 0; }.legal-page-content .list-box__content-item::before { position: static; display: inline; margin-right: 7px; } }

/* Multilevel primary navigation: one WordPress menu, desktop cascade and mobile accordion. */
#price, #reviews, #about { scroll-margin-top: 88px; }
.main-nav .menu > .menu-item, .main-nav .sub-menu li { position: relative; }
.main-nav .submenu-toggle { display: none; }
.main-nav .menu-item-has-children > a::after { display: inline-block; margin-left: 5px; color: currentColor; content: '▾'; font-size: .82em; transition: transform .18s ease; }
.main-nav .sub-menu .menu-item-has-children > a::after { float: right; margin: 0 0 0 18px; content: '›'; font-size: 18px; line-height: .65; }
.main-nav .sub-menu { position: absolute; z-index: 1100; display: grid; width: max-content; min-width: 218px; max-width: min(380px, calc(100vw - 28px)); padding: 7px; margin: 0; border: 1px solid #dcebf6; border-radius: 8px; background: #fff; box-shadow: 0 12px 28px rgba(21, 75, 119, .17); list-style: none; opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity .16s ease .22s, transform .16s ease .22s, visibility 0s linear .38s; }
.main-nav .menu > .menu-item-has-children > .sub-menu { top: calc(100% + 12px); left: -14px; }
.main-nav .sub-menu .menu-item-has-children > .sub-menu { top: -8px; left: calc(100% - 2px); transform: translateX(-5px); }
.main-nav .sub-menu .menu-item-has-children > .sub-menu.submenu--left { right: calc(100% - 2px); left: auto; transform: translateX(5px); }
.main-nav .menu-item-has-children:hover > .sub-menu, .main-nav .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.main-nav .sub-menu li { z-index: 1; margin: 0; }
.main-nav .sub-menu a { display: block; overflow-wrap: anywhere; padding: 9px 10px; border-radius: 5px; color: #38556f; font-size: 12px; line-height: 1.3; white-space: normal; }
.main-nav .sub-menu a:hover, .main-nav .sub-menu a:focus-visible, .main-nav .sub-menu .current-menu-item > a { outline: 0; background: #edf7fc; color: var(--blue-700); }

@media (max-width: 1180px) {
	#price, #reviews, #about { scroll-margin-top: 78px; }
	.main-nav .menu, .main-nav .sub-menu { display: block; }
	.main-nav .menu-item-has-children { position: relative; padding-right: 42px; }
	.main-nav .menu-item-has-children > a { display: block; }
	.main-nav .menu-item-has-children > a::after { display: none; }
	.main-nav .submenu-toggle { position: absolute; z-index: 2; top: 1px; right: 0; display: grid; width: 34px; height: 34px; place-items: center; padding: 0; border: 0; border-radius: 5px; background: transparent; color: var(--blue-700); cursor: pointer; }
	.main-nav .submenu-toggle:hover, .main-nav .submenu-toggle:focus-visible { outline: 0; background: #edf7fc; }
	.main-nav .submenu-toggle span::before { content: '›'; font-size: 23px; line-height: 1; transition: transform .18s ease; }
	.main-nav .menu-item-has-children.is-submenu-open > .submenu-toggle span::before { transform: rotate(90deg); }
	.main-nav .sub-menu, .main-nav .menu > .menu-item-has-children > .sub-menu, .main-nav .sub-menu .menu-item-has-children > .sub-menu, .main-nav .menu-item-has-children:hover > .sub-menu, .main-nav .menu-item-has-children:focus-within > .sub-menu { position: static; display: none; width: auto; min-width: 0; max-width: none; padding: 4px 0 2px 13px; margin: 4px 0 4px; border: 0; border-left: 2px solid #dcebf6; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
	.main-nav .menu-item-has-children.is-submenu-open > .sub-menu { display: block; }
	.main-nav .sub-menu a { padding: 9px 8px; font-size: 13px; }
	.main-nav .sub-menu .menu-item-has-children { padding-right: 39px; }
}

@media (max-width: 560px) {
	.header-inner { gap: 7px; }
	.header-contacts { min-width: 0; }
	.header-contacts a { font-size: 12px; }
	.menu-toggle { flex-basis: 34px; padding: 5px 2px; }
}

/* Ultra-compact phones (300 px and below): favour readable single-column
   cards and reserve fixed space for the logo, phone and hamburger button. */
@media (max-width: 320px) {
	.container { width: min(calc(100% - 20px), var(--container)); }
	.header-inner { height: 56px; gap: 4px; }
	.brand { flex: 0 1 130px; min-width: 0; }
	.brand-logo { width: auto; height: 34px; max-width: 130px; }
	.header-contacts { flex: 0 1 auto; margin-left: auto; margin-right: 0; }
	.header-contacts a { font-size: 10px; letter-spacing: -.15px; }
	.header-contacts small { display: none; }
	.menu-toggle { flex: 0 0 30px; padding: 3px 0; }
	.menu-toggle span:not(.screen-reader-text) { width: 21px; margin: 4px; }
	.main-nav { top: 100%; padding: 12px 14px; }

	.section { padding: 28px 0; }
	.section h2, .final-cta h2 { font-size: 22px; line-height: 1.14; }
	.hero-benefits { grid-template-columns: 1fr; gap: 10px; }
	.hero-benefits li { font-size: 13px; }

	.problems-grid,
	.result-grid,
	.process-grid,
	.icon-grid--eight,
	.icon-grid--four,
	.advantages-grid,
	.stats-grid { grid-template-columns: 1fr; }
	.problem-card,
	.result-card { min-height: 0; padding: 14px; }
	.result-card { align-items: flex-start; }
	.process-step { min-height: 0; padding: 0 0 0 39px; }
	.process-step > span { top: 0; left: 0; }

	.diagnostics-check { padding-bottom: 235px; background-size: auto 365px; }
	.diagnostics-check .check-scheme { grid-template-columns: 1fr; }
	.diagnostics-check .check-scheme li,
	.diagnostics-check .check-scheme ul:first-child li { min-height: 0; padding: 11px 12px; font-size: 13px; }

	.icon-card,
	.icon-grid--four .icon-card,
	.advantages-grid article { min-height: 0; padding: 14px; }
	.icon-grid--four .icon-card > div { align-items: center; }
	.document-card { grid-template-columns: 52px minmax(0, 1fr); padding: 10px; }
	.document-preview { height: 62px; }
	.case-card img { height: 170px; min-height: 170px; }
	.case-card dl { grid-template-columns: 65px minmax(0, 1fr); font-size: 12px; }
	.final-cta { padding: 30px 0; }
	.final-form { padding: 12px; }
	.footer-bottom { font-size: 10px; }

	/* Keep every accordion level as wide as its parent.  Reserving space for
	   the chevron on the <li> used to shrink the next nested list as well. */
	.main-nav .menu-item-has-children,
	.main-nav .sub-menu .menu-item-has-children { padding-right: 0; }
	.main-nav .menu-item-has-children > a { padding-right: 36px; }
	.main-nav .submenu-toggle { top: 3px; width: 30px; height: 30px; }
	.main-nav .sub-menu,
	.main-nav .menu > .menu-item-has-children > .sub-menu,
	.main-nav .sub-menu .menu-item-has-children > .sub-menu,
	.main-nav .menu-item-has-children:hover > .sub-menu,
	.main-nav .menu-item-has-children:focus-within > .sub-menu { padding-left: 7px; }
	.main-nav .sub-menu a { padding: 9px 7px; overflow-wrap: break-word; word-break: normal; }
}

/* The review source link has its own line and cannot compete with the heading. */
.reviews-link-row { margin-top: 18px; text-align: right; }
.reviews-link-row .text-link { display: inline-block; }

@media (max-width: 560px) {
	.reviews-link-row { margin-top: 14px; text-align: left; }
}

@media (max-width: 299px) {
	.header-contacts { display: none; }
	.menu-toggle { margin-left: auto; }
}
