:root{--blue:#30478c;--sky:#5c93c7;--ink:#242b37;--line:#dce5f0}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font:16px/1.6 Arial,sans-serif;background:#fff}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
img{display:block;max-width:100%}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.top{background:var(--sky);color:white;padding:7px 0;font-size:13px}
.header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}
.logo{display:flex;align-items:center;font-weight:900;line-height:1.1;letter-spacing:.04em}
.logo img{width:170px}
.logo img+span{display:none}
.logo small{display:block;color:var(--sky)}
nav{display:flex;flex-wrap:wrap;gap:10px 21px;font-size:13px;text-transform:uppercase;font-weight:700}
.phone{font-weight:700;white-space:nowrap}
.hero{background:linear-gradient(110deg,#eef4fb 0 48%,var(--blue) 48%);color:var(--blue)}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:330px;gap:32px;padding:44px 0}
.hero h2{font-size:clamp(28px,4vw,48px);max-width:590px;margin:12px 0 24px;line-height:1.1}
.hero img{width:100%;max-height:340px;object-fit:contain}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700}
.button{display:inline-block;padding:11px 22px;border-radius:5px;background:var(--blue);color:white;font-weight:700}
.title,.consult{text-align:center;padding:38px 20px;background:#f4f6f9}
h1,h2,h3{line-height:1.18;color:var(--blue)}
h1{font-size:clamp(28px,5vw,48px);margin:0}
h2{font-size:clamp(24px,3vw,34px);margin:0 0 20px}
.section{padding:42px 0;border-bottom:1px solid var(--line)}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.intro img{width:100%;max-height:300px;object-fit:cover;border-radius:6px}
.grid{display:grid;gap:18px}
.cards{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr))}
.posts,.reviews{grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr))}
.card,blockquote{margin:0;padding:16px;border:1px solid var(--line);border-radius:6px}
.card img{width:100%;aspect-ratio:2/1;object-fit:cover;border-radius:4px}
.card h3{margin:12px 0 8px}
.card p{font-size:14px;margin:0 0 12px}
.brands{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}
.brands a{padding:12px;text-align:center;border:1px solid var(--sky);border-radius:6px;font-weight:700}
cite{display:block;margin-top:8px;color:var(--blue)}
details{padding:10px 15px;margin-bottom:7px;background:#f4f6fa;border-left:2px solid var(--blue)}
summary{cursor:pointer;color:var(--blue);font-weight:700}
.consult{background:var(--blue);color:white}
.consult h2{color:inherit}
.consult .button{border:1px solid currentColor}
footer{background:#282b31;color:#fff;padding:35px 0}
footer a{color:#fff}
@media(max-width:820px){.header{flex-wrap:wrap;padding:16px 0}.header nav{order:3;width:100%}.hero{background:#eef4fb}.hero-inner,.intro{grid-template-columns:1fr}.hero-inner{min-height:0}.hero img{max-height:235px}}

.inner-page{max-width:920px;padding-top:26px;padding-bottom:54px;overflow-wrap:anywhere}
.back-home{display:inline-block;margin-bottom:20px;font-weight:700}
.inner-cover{width:100%;max-height:400px;object-fit:contain;border-radius:6px;background:#f4f6f9;margin:0 0 24px}
.inner-page h2,.inner-page h3{margin-top:1.4em;margin-bottom:.6em}
.inner-page a:not(.back-home){text-decoration:underline}
.inner-page table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.inner-page th,.inner-page td{padding:9px 12px;border:1px solid var(--line)}
.inner-page th{background:#f4f6f9;text-align:left}

.service-layout{display:grid;grid-template-columns:minmax(210px,250px) minmax(0,1fr);gap:28px;align-items:start}
.service-sidebar nav{display:block;text-transform:none;font-weight:400}
.service-nav-group{border:1px solid var(--line);border-radius:6px;margin-bottom:14px;padding:12px 15px}
.service-nav-group h2{font-size:16px;margin:0 0 8px}
.service-nav-group ul{list-style:none;margin:0;padding:0}
.service-nav-group a{display:block;padding:4px 0}
.service-layout .card h2{font-size:20px;margin:12px 0 0}
@media(max-width:720px){.service-layout{grid-template-columns:minmax(0,1fr)}.service-sidebar{order:1}}

.services-page .header{min-height:54px}
.services-page .top{padding:4px 0}
.services-page .service-crumbs{padding:10px 0;font-size:12px}
.services-page .section:has(.service-layout){padding-top:24px;border:0}
.services-page .service-layout{grid-template-columns:minmax(0,31%) minmax(0,1fr);gap:20px}
.services-page .service-sidebar nav{border:1px solid #ddd;background:#fafafa;padding:32px 0}
.services-page .service-nav-group{padding:0;border:0;border-radius:0;margin:0 0 12px}
.services-page .service-nav-group:last-child{margin-bottom:0}
.services-page .service-nav-group h2{background:#f2f2f2;border-block:1px solid #ddd;margin:0;padding:6px 11px;color:#404040;text-transform:uppercase;font-size:13px}
.services-page .service-nav-group ul{padding:0 8px}
.services-page .service-nav-group a{border-bottom:1px solid #ddd;padding:3px 0;color:#292929;text-transform:uppercase;font-size:10px;line-height:1.3}
.services-page .service-results h1{font-size:23px;font-weight:600;color:#212529;margin:0 0 16px}
.services-page .service-results .posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding:0 4px}
.services-page .service-results .card{padding:0;border:0;text-align:center}
.services-page .service-results img{aspect-ratio:3/2;border-radius:11px}
.services-page .service-results h2{font-size:15px;color:#212529;margin:5px 0 0}
.services-page .service-consult{margin-top:32px;padding:34px 18px 30px;background:#29468c;font-size:12px}
.services-page .service-consult h2{font-size:13px;margin-bottom:12px}
.services-page .service-phone{display:block;color:#fff;font-size:18px;font-weight:800;line-height:1.2;margin:28px 0 14px}
.services-page .service-phone small{display:block;font-size:11px}
.services-page .service-consult .button{background:transparent;text-transform:uppercase;padding:11px 8px;width:100%}
@media(max-width:620px){.services-page .service-layout{grid-template-columns:1fr}.services-page .service-results .posts{gap:16px}}

.site-footer{padding:0;background:#323232;font-size:14px}
.site-footer h2{color:inherit;font-size:17px}
.footer-brands{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;justify-items:center;gap:18px;min-height:140px;color:#29468c}
.site-footer{background:linear-gradient(white 140px,#323232 140px)}
.footer-brands img{width:150px;height:100px;object-fit:contain}
.footer-consult,.footer-legal{background:#29468c;text-align:center}
.footer-consult{padding:clamp(48px,9vw,130px) 0 50px;position:relative;isolation:isolate}
.footer-consult::before{content:"⚙";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font:330px/1 Arial,sans-serif;color:#ffffff33;z-index:-1}
.footer-consult h2{font-size:28px}
.footer-consult p{max-width:820px;margin:18px auto;line-height:1.8}
.footer-consult .button{border:3px solid white;border-radius:10px;background:transparent;min-width:235px;text-transform:uppercase}
.footer-contacts,.footer-columns{display:grid;gap:28px}
.footer-contacts{grid-template-columns:repeat(3,1fr);padding:56px 0}
.footer-contacts>div{display:flex;align-items:center;gap:16px}
.footer-contacts span{font-size:38px;line-height:1}
.footer-contacts h2{margin:0 0 6px}
.footer-divider{border-top:1px solid #ffffff38}
.footer-columns{grid-template-columns:repeat(4,minmax(0,1fr));padding:64px 0 clamp(48px,9vw,130px)}
.footer-columns img{width:235px}
.footer-columns ul{list-style:none;padding:0;margin:20px 0 24px}
.footer-columns li{margin:6px 0}
.footer-maintenance li{display:inline-block;margin:2px 9px 2px 0}
.footer-phone{font-size:23px;font-weight:700}
.footer-legal{padding:26px 0;font-size:12px}
@media(max-width:760px){.footer-columns,.footer-contacts{grid-template-columns:repeat(2,minmax(0,1fr));padding:32px 0}.footer-brands{grid-template-columns:repeat(3,minmax(0,1fr));min-height:0;background:white}.footer-brands img{height:70px}.footer-consult::before{font-size:220px}}
@media(max-width:420px){.footer-columns,.footer-contacts{grid-template-columns:1fr}}

.site-header{background:#fff;box-shadow:0 4px 8px #0005;position:relative;z-index:2}
.header-top{background:#5b9ecf;color:white;box-shadow:inset 0 2px 5px #0004}
.header-top a{color:inherit}
.header-top-inner,.header-main,.header-tagline,.header-email,.header-call,.header-social{display:flex;align-items:center}
.header-top-inner{min-height:37px;gap:20px;font-size:14px;font-weight:600}
.header-tagline,.header-email,.header-call{gap:8px}
.header-top svg{width:21px;height:21px;flex:none}
.header-search{display:flex;border-left:1px solid #fff8;padding-left:22px}
.header-social{margin-left:auto;gap:18px}
.header-email{margin-left:36px;white-space:nowrap}
.header-main{min-height:67px;justify-content:space-between;gap:24px}
.header-logo{flex:none}
.header-logo img{width:180px;height:auto}
.header-main nav{margin-left:auto;align-items:center;gap:18px;font-size:16px}
.header-main nav a,.header-main summary{color:#444}
.header-main details{position:relative;margin:0;padding:0;border:0;background:none}
.header-main summary{list-style:none;white-space:nowrap}
.header-main summary::-webkit-details-marker{display:none}
.header-main summary::after{content:"";display:inline-block;margin-left:10px;border:5px solid transparent;border-top-color:currentColor;transform:translateY(3px)}
.header-dropdown{position:absolute;top:100%;left:0;background:white;min-width:220px;box-shadow:0 4px 12px #0003;padding:8px 0;text-transform:none;font-size:14px}
.header-dropdown a{display:block;padding:8px 12px}

@media (hover: hover) and (pointer: fine) {
  .header-main nav details:hover::details-content {
    content-visibility: visible;
  }

  .header-main nav details:hover > .header-dropdown {
    display: block;
    z-index: 1;
  }
}

.header-call{border-inline:1px solid #d4e0eb;padding:0 18px;color:#303030;font-size:14px;font-weight:700;white-space:nowrap;line-height:1.25}
.header-call svg{width:34px;height:34px;color:#29468c}
.header-call small{display:block;color:#777}
@media(max-width:1100px){.header-main nav{font-size:13px;gap:12px}.header-main{gap:12px}.header-logo img{width:155px}.header-call{padding:0 8px}}
@media(max-width:850px){.header-main{flex-wrap:wrap;padding:12px 0}.header-main nav{order:3;margin:0;width:100%}.header-email{margin-left:0}.header-social{gap:8px}}
@media(max-width:620px){.header-tagline{font-size:11px}.header-social{display:none}.header-email{margin-left:auto}.header-search{padding-left:8px}.header-top-inner{gap:8px}}

.shop-menu > .header-dropdown{min-width:280px;text-transform:uppercase}
.shop-parts > summary{padding:8px 12px}
.shop-parts > summary::after{border-top-color:transparent;border-left-color:currentColor;transform:none;vertical-align:middle}
.shop-parts > .shop-parts-menu{left:100%;top:0;min-width:240px;text-transform:uppercase}
@media(max-width:1250px) and (min-width:851px){.shop-menu > .header-dropdown{left:auto;right:0}.shop-parts > .shop-parts-menu{left:auto;right:100%}}
@media(max-width:850px){.shop-parts > .shop-parts-menu{position:static;min-width:0;box-shadow:none;padding-left:12px}.shop-menu > .header-dropdown{min-width:min(280px,80vw);left:auto;right:0}}

.services-menu > .header-dropdown{min-width:350px}
@media(max-width:850px){.services-menu > .header-dropdown{min-width:min(350px,80vw)}}

.home-page{--blue:#29468c}
.home-page .hero{position:relative;background:#29468c url('/images/serviscfo-baner-1.jpg') no-repeat left 52vw center / auto 100%;overflow:hidden}
.home-page .hero-shape{position:absolute;inset:0;width:100%;height:100%}
.home-page .hero-inner{position:relative;display:flex;min-height:clamp(340px,30vw,490px);padding:48px 0}
.home-page .hero-inner>div{width:min(465px,40%)}
.home-page .hero .eyebrow{color:#252525;letter-spacing:.28em;font-size:16px}
.home-page .hero h2{font-size:clamp(25px,2.35vw,38px);line-height:1;margin-bottom:35px}
.home-page main .button{padding:17px 32px;border-radius:11px;font-size:16px}
.home-page .hero .button{min-width:185px;text-align:center}
.home-band{padding:32px 0}
.home-band>.wrap{display:flex;align-items:center;justify-content:flex-end;gap:40px}
.home-band h1,.home-band h2{font-size:clamp(26px,2.5vw,40px);line-height:1.05;margin:0}
.home-band p{margin:12px 0 0}
.home-band .button{border:2px solid currentColor;background:transparent;color:inherit;text-transform:uppercase;text-align:center;flex-shrink:0}
.home-title{background:#f5f5f5;color:var(--blue);text-align:right}
.home-title p,.home-spares p{letter-spacing:.32em;font-size:13px;font-weight:700}
.home-title p{color:#579cd2}
.home-spares{background:#599dd0;color:white;text-align:right}
.home-spares h2,.home-call h2{color:inherit}
.home-call{background:#1d5d9d;color:white;padding:64px 0}
.home-call>.wrap{justify-content:space-between}
.home-call .home-call-phone{margin-left:auto;color:white;font-size:20px;font-weight:700;white-space:nowrap}
.home-call-phone small,.intro-phone small{display:block;font-size:12px}
.home-page .intro{grid-template-columns:repeat(2,minmax(0,1fr));padding:32px 0 24px;border:0}
.home-page .intro h2,.home-heading,.home-page #articles>h2{font-size:25px;color:#23282d;font-weight:600}
.home-page .intro h2{text-transform:uppercase}
.home-page .intro h2::after,.home-heading::after{content:"";display:block;width:56px;height:4px;background:#1d5d9d;margin-top:30px}
.home-heading{text-align:center}
.home-heading::after{margin:30px auto 0}
.home-page .intro img{aspect-ratio:3/2;max-height:none;filter:saturate(.8);border-radius:0}
.intro-phone{display:inline-block;font-size:23px;font-weight:800;border-left:1px solid #dce5f0;padding-left:18px;line-height:1.25}
.intro-phone small{color:#666}
.home-page main .section{border:0}
.home-repair .grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-services .grid,#articles .posts{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.home-repair .card,.home-services .card{border:0;padding:0;text-align:center}
.home-repair .card img{object-fit:contain}
.home-repair .card h3{font-size:17px;line-height:1.5}
.home-services .card img{aspect-ratio:3/2;border-radius:13px}
.home-services .card h2{font-size:19px;color:#222;margin:8px 0 0}
.home-action{text-align:center;margin:36px 0 42px;text-transform:uppercase}
.home-page #brands h2,.home-page #brands .eyebrow{text-align:center;margin:0}
.home-page #brands .eyebrow{color:#579cd2}
.home-page #brands .brands{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 10px;margin:44px 0 0}
.home-page .brands a{display:grid;place-items:center;min-height:116px;border:2px solid #599dd0;border-radius:19px}
.home-page .brands img{height:96px;width:100%;object-fit:contain}
.home-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;text-align:center;padding:64px 0 24px}
.home-features span{display:inline-grid;place-items:center;width:78px;height:78px;transform:rotate(45deg);border:2px solid #1d5d9d;border-radius:6px;color:#1d5d9d}
.home-features b{transform:rotate(-45deg);font-size:38px}
.home-features p{max-width:125px;margin:25px auto 0}
.home-page #reviews{background:#e1effc;padding:clamp(55px,7vw,112px) 0}
.review-strip{position:relative;width:min(1180px,calc(100% - 68px));margin:auto}
.home-page .reviews{grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);grid-template-columns:none;gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.home-page .reviews blockquote{background:white;padding:32px 24px;scroll-snap-align:start;text-align:center}
.home-page .reviews cite{font-style:normal;color:#222;margin-top:16px}
.review-strip button{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#223044;font-size:32px;cursor:pointer;padding:0 7px}
.review-prev{right:100%}.review-next{left:100%}
.home-page #faq{padding-top:80px}
.faq-lead{text-align:center;max-width:760px;margin:0 auto 40px}
.faq-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:center;gap:20px}
.home-mission img{width:100%}
.home-mission p{text-align:right}
.home-page #faq details[open]{padding:0;background:white;border:0}
.home-page #faq details[open] summary{background:#29468c;color:white;padding:10px 16px}
.home-page #articles .card{padding:0 0 28px;border:0;box-shadow:0 1px 10px #0002;overflow:hidden}
.home-page #articles .card h3,.home-page #articles .card p,.home-page #articles .card>a:last-child{margin:20px 24px}
.home-page #articles .card>a:last-child{display:inline-block;text-transform:uppercase;font-size:12px;font-weight:700}
.article-cover{display:block;position:relative;aspect-ratio:3/4;background:linear-gradient(#f3f3f3,#a7a7a7)}
.home-page #articles .article-cover img{aspect-ratio:3/2;border-radius:0}
.article-cover span{position:absolute;top:16px;right:12px;background:#65717c;color:white;border-radius:16px;padding:4px 10px;font-size:10px;text-transform:uppercase}
@media(max-width:960px){
 .home-page #brands .brands{grid-template-columns:repeat(4,minmax(0,1fr))}
 .home-repair .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-services .grid,#articles .posts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-band>.wrap{gap:20px;flex-wrap:wrap;justify-content:center;text-align:center}
}
@media(max-width:650px){
 .home-page .hero-shape{display:none}
 .home-page .hero{background-position:center;background-size:cover}
 .home-page .hero-inner>div{width:100%;padding:24px;border-radius:12px;background:#fffffff5}
 .home-page .intro,.faq-layout{grid-template-columns:1fr}
 .home-repair .grid,.home-page #brands .brands,.home-features{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-page .reviews{grid-auto-columns:100%}
 .home-call .home-call-phone{margin-left:0}
}

.repair-category .repair-description{margin-top:42px}
.repair-category .service-results .card a:hover img,
.repair-category .service-results .card a:focus-visible img{outline:4px solid #2469b4}
.repair-category .service-results .card a:hover h2,
.repair-category .service-results .card a:focus-visible h2{color:#2469b4}

.menu-document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:22px;align-items:start}
.menu-document-grid img{width:100%;border:1px solid var(--line);border-radius:5px}
.menu-restored .posts h2{font-size:17px;margin:0}
.menu-restored .brands img{width:100%;height:80px;object-fit:contain}
