.inner-main{padding:32px 0 60px;background:#fff}.breadcrumbs{font-size:15px;color:#656575;margin-bottom:30px}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}.breadcrumbs li+li:before{content:'/';margin-right:8px;color:#999}.inner-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px}.prose{min-width:0;overflow-wrap:anywhere}.prose h1{font-size:clamp(28px,3vw,42px);margin-bottom:28px}.prose h2{margin:32px 0 18px}.prose h3{font-size:23px;color:#333;margin:26px 0 16px}.prose p{margin-bottom:20px}.prose ul,.prose ol{padding-left:26px;margin-bottom:24px}.prose li{margin:0 0 8px}.prose img{max-width:100%;height:auto}.prose [width]{max-width:100%}.prose .table-box{overflow-x:auto;max-width:100%;margin-block:20px}.prose table{margin-block:20px}.prose table td:last-child{white-space:nowrap;width:auto}.prose .ar{text-align:right}.prose .diagnostics{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;margin:24px 0}.prose .diagnostics-img img{width:100%;margin-bottom:16px}.section-nav{padding:24px;background:#f6f7f7;border-radius:12px;font-size:16px}.section-nav h2{font-size:22px;margin-bottom:18px}.section-nav ul{padding:0;list-style:none;margin:0}.section-nav li{margin:0}.section-nav a{display:block;padding:10px 0;text-decoration:none;border-bottom:1px solid #e0ddeb}.section-nav a:hover,.section-nav a.is-active,.section-nav [aria-current=page]{font-weight:bold;color:#3c2b99}.section-nav ul ul{padding-left:16px;font-size:15px}.sidebar-cta{padding:24px;border:1px solid #e0ddeb;border-radius:12px;margin-top:24px;font-size:17px}.sidebar-cta .btn{width:100%}.inline-cta{padding:28px;background:#f3f1fa;border-radius:12px;margin-top:36px}.inline-cta h2{margin-top:0}.article-lead{font-size:21px;color:#555}.article-source{font-size:15px;padding-top:20px;border-top:1px solid #ddd}.article{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid #ddd}.article img{width:100%;height:110px;object-fit:cover}.article p{margin:0}.city_list{display:flex;flex-wrap:wrap;gap:20px;list-style:none;padding:0!important}.city_list .current{font-weight:bold;color:#3c2b99}.ya-maps{width:100%;min-height:200px;overflow:hidden;background:#f6f7f7}.ya-maps iframe{width:100%}.partners-block{padding:18px 0 0;font-size:14px;border-top:1px solid #59606c}.partners-block a{color:#fff;margin-left:12px}.btn:disabled{opacity:.65;cursor:default;transform:none}.nav ul{gap:18px}.nav_second ul{gap:16px 22px}.nav_second a{display:inline-block}.top:has(.menu-toggle[aria-expanded="true"]) .nav_second{max-height:calc(100dvh - 170px);overflow:auto}.prose .contacts{display:block}.prose .contact_info{margin-top:24px}.prose .clear{clear:both}.prose .mobile-only{display:none}.gallery{display:flex;flex-wrap:wrap;gap:16px}.gallery img{max-width:180px}.prose .price{min-width:0}.article_page{min-width:0}
@media(max-width:1100px){.inner-grid{grid-template-columns:minmax(0,1fr) 240px;gap:30px}.nav ul{gap:12px}.timework{display:none}}
@media(max-width:800px){.inner-grid{grid-template-columns:1fr}.inner-grid aside{order:2}.section-nav>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.prose .diagnostics{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:600px){.inner-main{padding-top:24px}.breadcrumbs{font-size:14px}.section-nav>ul{grid-template-columns:1fr}.prose .diagnostics{display:block}.prose .diagnostics-img{max-width:300px;margin:auto}.article{grid-template-columns:1fr;gap:14px}.article_img{max-width:260px}.article img{height:auto}.inline-cta{padding:22px}.prose .table-box:has(tr > :nth-child(3)) table{min-width:580px}.partners-block a{display:inline-block;margin:6px 12px 0 0}}

.service-description{font-size:16px;line-height:1.45;color:#555;font-weight:300;margin:12px auto 0}.home-contacts .contacts{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.home-contacts .contact_info h2{margin-top:0}.home-contacts .map{min-height:420px;background:#eeecf7}.home-contacts .mobile-only{display:none}@media(max-width:750px){.home-contacts .contacts{grid-template-columns:1fr}.home-contacts .map{min-height:300px}.service-description{font-size:16px}}

/* Shared typography and price table rhythm across content pages. */
.prose b,.prose strong {font-weight:700;color:inherit}
.prose .table-box table {margin-block:0}
.prose table td:last-child,.prose table th:not([colspan]):last-child,
.product-descript table td:last-child,.product-descript table th:not([colspan]):last-child {text-align:right}
/* Remove the legacy inline spacing exception in the home about block. */
.prose > h2[style*="margin-top:0"] {margin-top:32px!important}

/* Fit the home hero to the visible viewport below the header. */
:root {--site-header-height:100px}
.hero-first-screen {
  --hero-padding:clamp(20px,4svh,48px);
  display:flex;
  align-items:center;
  min-height:calc(100svh - var(--site-header-height));
  padding-block:var(--hero-padding);
}
.hero-first-screen > .wrap {width:100%}
.hero-first-screen .banner {min-height:0}
.hero-first-screen .banner_img img {
  max-height:min(450px,calc(100svh - var(--site-header-height) - 2 * var(--hero-padding)));
  width:auto;
  object-fit:contain;
}
@media(max-width:750px) {:root{--site-header-height:80px}}
@media(max-width:600px) {
  .hero-first-screen {--hero-padding:clamp(16px,3svh,28px)}
  .hero-first-screen .banner {gap:18px}
  .hero-first-screen h1 {font-size:clamp(28px,7vw,32px);margin-bottom:16px}
  .hero-first-screen .banner p {margin-bottom:16px}
  .hero-first-screen .banner p:last-child {margin-bottom:0}
  .hero-first-screen .banner_img {flex:0 0 auto;line-height:0}
  .hero-first-screen .banner_img img {max-height:clamp(100px,calc(100svh - 520px),230px)}
}
@media(max-width:600px) and (max-height:560px) {
  .hero-first-screen .banner_img {display:none}
}

/* Sticky navigation stops before the consultation block at the column bottom. */
@media(min-width:801px) {
  .inner-grid > aside {display:flex;flex-direction:column;align-self:stretch;min-width:0}
  .sidebar-menu-area {flex:1 0 auto}
  .sidebar-menu-area > .section-nav {position:sticky;top:calc(var(--site-header-height) + 16px)}
  .inner-grid > aside > .sidebar-cta {flex-shrink:0}
}

@media(min-width:1101px) {.header .nav ul{gap:48px}}
@media(min-width:951px) and (max-width:1100px) {.header .nav ul{gap:32px}}

.nav .services-toggle {display:inline-flex;align-items:center;gap:6px}
.services-chevron {display:block;flex-shrink:0;transition:transform .18s ease}
.services-toggle[aria-expanded="true"] .services-chevron {transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce) {.services-chevron{transition:none}}

/* Services dropdown anchored to its trigger. */
.services-item {position:relative}
.header .nav #services-nav {
  position:absolute;top:calc(100% + 14px);left:-16px;
  width:320px;max-width:calc(100vw - 40px);
  margin:0;padding:8px;background:#fff;
  border:1px solid #e5e1ef;border-radius:12px;
  box-shadow:0 12px 32px #21184b26;z-index:25;
}
.header .nav #services-nav ul {display:flex;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:0;font-size:16px}
.header .nav #services-nav li {margin:0;padding:0}
.header .nav #services-nav a {display:flex;align-items:center;min-height:44px;padding:11px 14px;border:0;border-radius:7px;color:#302279;text-decoration:none;line-height:1.35}
.header .nav #services-nav a:hover,.header .nav #services-nav a[aria-current="page"] {background:#f0edf9;color:#3c2b99}
.header .nav #services-nav a:focus-visible {outline-offset:-3px}
@media(max-width:950px) {
  .header .nav {max-height:calc(100dvh - var(--site-header-height) - 16px);overflow-y:auto;border-radius:0 0 12px 12px}
  .header .nav > ul {flex-direction:column;align-items:stretch;gap:4px}
  .header .nav > ul > li > a,.header .nav > ul > li > .services-toggle {display:flex;align-items:center;justify-content:space-between;min-height:44px;width:100%;padding:10px 12px;border:0;border-radius:7px;text-align:left}
  .header .nav > ul > li > a:hover,.header .nav > ul > li > .services-toggle:hover {background:#eeecf7}
  .top:has(.menu-toggle[aria-expanded="true"]) .header .nav #services-nav {position:static;width:100%;max-width:none;max-height:none;overflow:visible;margin:4px 0 8px;padding:4px;background:#eeecf7;border:0;border-radius:8px;box-shadow:none}
}

@media(min-width:601px) and (max-width:750px) {.header .logo{flex:0 1 240px}}
@media(max-width:600px) {.header .logo{flex:0 1 clamp(185px,48vw,220px)}}
@media(max-width:360px) {
  .header{gap:8px}
  .header .logo{flex:0 1 176px}
  .header .menu-toggle{width:44px;min-width:44px;padding:10px;gap:0;justify-content:center}
  .header .menu-toggle .menu-label{display:none}
  .header .menu-toggle .ui-icon{width:22px;height:22px}
}
@media(min-width:361px) and (max-width:600px) {.header .menu-toggle{gap:6px;padding-inline:10px}}

/* On phones, keep content near the header instead of filling a tall screen. */
@media(max-width:600px) {
  .hero-first-screen {min-height:0;display:block;padding-block:28px 32px}
  .hero-first-screen .banner {gap:20px}
  .hero-first-screen .banner_img img {max-height:clamp(140px,23svh,200px)}
}

@media(max-width:950px) {
  .header .menu-toggle{width:44px;min-width:44px;padding:10px;gap:0;justify-content:center}
  .header .menu-toggle .menu-label{display:none}
  .header .menu-toggle .ui-icon{width:22px;height:22px}
}

.reviews-section{background:#f6f7f7}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:28px}
.reviews-heading h2{margin-bottom:12px}
.reviews-heading p{margin:0;font-size:17px;color:#555}
.reviews-rating{display:flex;flex-direction:column;flex-shrink:0;gap:2px;color:#3c2b99;text-decoration:none}
.reviews-rating>b{font-size:30px;line-height:1.2}.reviews-rating>b>span{font-size:18px;font-weight:normal}
.reviews-rating>span{font-size:15px}.reviews-rating small{font-size:13px;color:#666}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.review-card{margin:0;padding:24px;background:#fff;border:1px solid #e5e1ef;border-radius:12px;display:flex;flex-direction:column;min-width:0}
.review-card figcaption{display:flex;flex-direction:column;gap:4px;font-size:17px}.review-card time{font-size:14px;color:#666}
.review-stars{display:flex;gap:3px;color:#ad6d00;margin:16px 0}
.review-card blockquote{margin:0 0 20px;flex:1}.review-card blockquote p{font-size:18px;margin:0;line-height:1.45}
.review-card>a{font-size:14px;line-height:1.45}.reviews-all{margin:24px 0 0;font-size:17px}
@media(max-width:800px){.reviews-grid{grid-template-columns:1fr;gap:16px}.review-card{padding:22px}.reviews-heading{gap:20px}.reviews-rating>b{font-size:26px}}
@media(max-width:500px){.reviews-heading{flex-direction:column;gap:18px}.reviews-rating{padding:14px 18px;border:1px solid #e5e1ef;border-radius:10px;background:#fff}.review-card blockquote p{font-size:17px}}

.hero-first-screen .hero-action{margin-bottom:12px}
.hero-first-screen .hero-help{max-width:440px;font-size:15px;line-height:1.45;color:#555;font-weight:normal;margin:0}
.section-intro{font-size:18px;color:#555;max-width:760px;margin:0 0 28px}
.process-section{border-top:1px solid #eeecf2}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;list-style:none;margin:0}
.process-grid>li{padding:22px;background:#f6f7f7;border-radius:12px;min-width:0}
.process-number{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#eeecf7;color:#3c2b99;border-radius:10px;font-size:17px;font-weight:bold;margin-bottom:18px}
.process-grid h3{font-size:20px;line-height:1.25;color:#333;margin:0 0 12px}
.process-grid p{font-size:16px;line-height:1.5;margin:0;color:#444}
.process-action{margin:28px 0 0}
.equipment-section{background:#f6f7f7}
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.equipment-grid figure{margin:0;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e5e1ef}
.equipment-grid img{display:block;width:100%;height:240px;object-fit:cover}
.equipment-grid figcaption{padding:18px;font-size:17px;font-weight:bold}
.callbackus_img img{border-radius:14px}
.faq-list{display:grid;gap:12px;max-width:920px}
.faq-item{border:1px solid #e5e1ef;border-radius:10px;background:#fff;overflow:hidden}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;min-height:56px;padding:17px 20px;font-size:18px;font-weight:bold;line-height:1.35;color:#333}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary svg{flex-shrink:0;color:#3c2b99;transition:transform .18s ease}
.faq-item[open] summary{color:#3c2b99;background:#f6f4fb}
.faq-item[open] summary svg{transform:rotate(180deg)}
.faq-answer{padding:16px 20px 20px}.faq-answer p,.prose .faq-answer p{margin:0;font-size:17px;line-height:1.5}
.service-faq{margin-top:36px}.service-faq>h2{margin-top:0}
.mobile-contact-bar{display:none}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:750px){
 body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .mobile-contact-bar{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:18;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#fff;border:1px solid #e5e1ef;border-radius:14px;box-shadow:0 5px 26px #21184b29}
 .mobile-contact-bar .btn{gap:8px;font-size:16px;min-height:46px;padding:11px 12px}.mobile-contact-bar .ui-icon{width:19px;height:19px}
 body:has(dialog[open]) .mobile-contact-bar,body:has(.menu-toggle[aria-expanded="true"]) .mobile-contact-bar{display:none}
 .equipment-grid{gap:16px}.equipment-grid img{height:200px}
}
@media(max-width:600px){
 .hero-first-screen .hero-help{margin-inline:auto;font-size:14px}
 .hero-first-screen .hero-action .btn{max-width:100%;font-size:17px;padding-inline:20px}
 .process-grid{grid-template-columns:1fr;gap:14px}.process-grid>li{padding:20px}
 .process-number{margin-bottom:12px}.process-grid h3{font-size:20px}
 .equipment-grid{grid-template-columns:1fr}.equipment-grid img{height:240px}
 .section-intro{font-size:17px;margin-bottom:22px}.faq-item summary{font-size:17px;padding:16px}
 .faq-answer{padding:14px 16px 18px}.faq-answer p,.prose .faq-answer p{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.faq-item summary svg{transition:none}}

.service-notice{padding:16px 18px;border-left:3px solid #3c2b99;border-radius:8px;background:#f6f4fb;margin:0 0 24px;font-size:17px;line-height:1.5}.service-notice b{color:#3c2b99}
@media(max-width:360px) and (max-height:650px){.hero-first-screen .banner_img{display:none}}

.faq-section .faq-list {margin-inline:auto}
.faq-section #faq-title {max-width:920px;margin-inline:auto;text-align:center}

.about-section{background:#f6f7f7}
.about-inner{max-width:920px;margin-inline:auto}
.about-section #about-title{text-align:center;margin-bottom:28px}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:32px;align-items:start}
.about-copy>p:last-child{margin-bottom:0}
.about-photo{margin:0;border:1px solid #e5e1ef;background:#fff;border-radius:12px;overflow:hidden}
.about-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.about-photo figcaption{font-size:14px;color:#555;padding:12px 14px}
.about-section + .home-contacts{background:#fff;border-top:1px solid #e8e8ee}
@media(max-width:750px){.about-layout{grid-template-columns:1fr;gap:24px}.about-photo{width:100%;max-width:360px;margin-inline:auto}}

/* Compact sticky header; keep the original space in the document to prevent jumps. */
html {scroll-padding-top:calc(var(--site-header-height,100px) + 16px)}
.hero-first-screen {min-height:calc(100svh - var(--site-header-expanded-height,var(--site-header-height)))}
.hero-first-screen .banner_img img {max-height:min(450px,calc(100svh - var(--site-header-expanded-height,var(--site-header-height)) - 2 * var(--hero-padding)))}
.top .header {transition:min-height .2s ease}
.top .logo {transition:flex-basis .2s ease}
.top.is-compact .header {min-height:68px}
.top.is-compact .logo {flex-basis:200px}
.top.is-compact {box-shadow:0 4px 18px #21184b14}
.top.is-measuring .header,.top.is-measuring .logo {transition:none!important}
@media(max-width:750px) {
  .top.is-compact .header {min-height:64px}
  .top.is-compact .header .logo {flex-basis:176px}
}
@media(max-width:600px) {
  .hero-first-screen {min-height:0}
  .hero-first-screen .banner_img img {max-height:clamp(140px,23svh,200px)}
}
@media(prefers-reduced-motion:reduce) {
  .top .header,.top .logo {transition:none}
}

/* Legal documents and accessible links beside the form consent. */
.legal-content{max-width:920px;margin-inline:auto}
.legal-version{font-size:15px;color:#656575;margin-bottom:24px}
.privacy-note{font-size:14px;line-height:1.5;color:#555;margin:2px 0 8px}
.consent a,.privacy-note a{color:#3c2b99;text-decoration:underline;text-underline-offset:3px}
.consent a:focus-visible,.privacy-note a:focus-visible{outline-offset:2px}
.footer-legal{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:24px;padding-top:18px;border-top:1px solid #ffffff26;font-size:14px}
.footer-legal a{color:#fff}
