/* One responsive grid: all outer page sections use the same fluid gutters. */
:root{--page-gutter:max(clamp(20px,4vw,40px),env(safe-area-inset-left),env(safe-area-inset-right));--content-max:1280px;--section-gap:clamp(64px,7.8vw,112px)}
.wrap{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-max);margin-inline:auto}
.section{margin-top:var(--section-gap)}
.header,.section-head,.about,.price-layout,.contact-panel,.faq,.work-section,.case-section{min-width:0}
.header>.site-brand{min-width:0;flex-shrink:1}
.nav a{min-height:44px;display:flex;align-items:center}
.menu-toggle{min-width:44px;min-height:44px}
.header-phone{padding-block:10px}
.hero-call,.avito-link,.review-original{min-height:44px;display:inline-flex;align-items:center}
.about-photo{width:100%;max-width:100%;height:auto;aspect-ratio:1}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.review-avatar.initial{display:grid;place-items:center;background:#8ac768;color:white;font:500 31px/1 var(--body)}
.mobile-contact>a{min-height:44px}
@media(max-width:900px){.nav a{display:block;padding:12px 0}.header{gap:16px}.header>.site-brand{flex:1}.nav{top:calc(100% - 6px)}.hero-copy>p{max-width:510px}}
@media(max-width:600px){
 :root{--page-gutter:max(24px,env(safe-area-inset-left),env(safe-area-inset-right))}
 .header{gap:10px;min-height:88px}.header>.site-brand{font-size:12px;max-width:190px}.header-phone{margin-left:auto;font-size:11px}.header-phone small{font-size:8px}
 .hero-copy{padding-inline:22px}.hero h1{font-size:clamp(30px,9.7vw,44px);line-height:1.16;word-spacing:-.035em}.home-hero h1{font-size:clamp(43px,14vw,58px)}
 .hero-copy>p{font-size:13px}.hero-location{left:22px}.hero-actions{gap:8px}
 h2,.compact h2,.contact h2,.about-copy h2{font-size:clamp(34px,10.7vw,42px)}
 .about{gap:28px}.about-copy p{margin-top:18px;font-size:14px}.about-copy h2{margin-bottom:22px}
 .section-head>p{font-size:13px}.section-head{margin-bottom:26px}
 .contact-panel,.review,.steps li{padding:24px 22px}.lead-form{padding:20px}.contact-copy>p br{display:none}
 .brand-row{column-gap:14px}.brand-logo img{max-width:100%;width:94px}.logo-bosch img,.logo-lg img{width:20px;flex:none}.logo-bosch span,.logo-lg span{font-size:15px}
 .fault-list{column-gap:20px}.fault-list a{min-width:0;font-size:13px}.fault-list a span{overflow-wrap:break-word}
 .mobile-contact{padding-inline:var(--page-gutter)}.footer{padding-bottom:110px}
}
@media(max-width:359px){:root{--page-gutter:20px}.hero-copy{padding-inline:18px}.hero-location{left:18px}.hero-rating{right:12px}.hero-rating span{font-size:8px}.hero-rating strong{font-size:30px}.hero-location{max-width:100px}.lead-form{padding:17px}.contact-panel{padding-inline:19px}.contact-direct>a:first-child{font-size:27px}.brand-logo{gap:4px}.logo-bosch span{font-size:13px}.brand-row{column-gap:10px}}
@media(max-width:379px){.hero-copy{padding-bottom:150px}.hero-location{bottom:90px;max-width:none;right:18px}.hero-rating{left:18px;right:auto}.hero-copy>p{font-size:13px}}

/* Readable type roles across every service page; keep the approved display face. */
:root{--body-size:18px;--body-leading:1.65;--meta-size:14px}
body{font-size:var(--body-size);font-weight:500;line-height:var(--body-leading)}
.hero-copy>p,.about-copy p,.price-intro,.work-section p,.review blockquote,.contact-copy>p{font-size:var(--body-size);line-height:var(--body-leading)}
.about-copy p{max-width:55ch}.hero-copy>p{max-width:510px}
.section-head>p,.steps p,details p,.price-table>div>span,.price-table>p,.review-context,.fault-note{font-size:16px;line-height:1.65}
.section-head>p{max-width:390px}.steps p{color:#444441}
.small,.price-table small,.terms-strip span,.service-title>span,.review-service,.review-person small,.review-original,.form-note,.form-status,.lead-form>label,.contact-direct>span,.footer-bottom,.hero-location{font-size:var(--meta-size);line-height:1.6}
.review-person strong{font-size:16px}.review-person small{color:var(--muted)}
.review figcaption{min-width:0}.review-person{align-items:center}
.hero-rating span{font-size:12px}.avito-rating span{font-size:16px}.avito-rating u{font-size:14px}
.hero-call,.text-link,.about-copy .text-link,.work-section .text-link,.faq .text-link,.price-layout .text-link,.avito-link{font-size:16px}
.hero-actions .button,.lead-form .button{font-size:16px}
.price-table .price-text{font-size:17px}.price-table>div>span{max-width:360px}
.price-table small{max-width:320px}.terms-strip strong{font-size:18px}
.lead-form input:not([type=checkbox]),.lead-form select{font-size:16px}
.form-status{white-space:pre-line}.field-optional{color:var(--muted);font-size:12px;font-weight:400;margin-left:4px}
summary{font-size:18px}.faq-list details p{padding-right:28px}
.steps h3{max-width:none}.step-warranty{font-size:14px}
.service-title>span{max-width:110px}.work-photo span{font-size:13px}
.sentence-break{display:block;content:'';margin-block:4px}

/* A fault opens useful content first; only the explicit button goes to the form. */
.fault-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:0;align-items:start}
.fault-item{border:0;border-top:1px solid var(--line)}
.fault-item:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.fault-item summary{padding:23px 0;font-size:20px;font-weight:600;min-height:78px}
.fault-item summary:hover{color:#a52c19}
.fault-item[open] summary{padding-bottom:16px}
.fault-detail{padding:0 0 28px}
.fault-detail p{padding:0;color:var(--ink);font-size:17px;max-width:58ch}
.fault-detail p+p{margin-top:14px;color:var(--muted)}
.fault-list .fault-action{display:inline-flex;border:0;font-size:15px;min-height:48px;padding:13px 18px;margin-top:22px;gap:28px}
.fault-list .fault-action svg{color:currentColor}
.fault-note{margin-top:24px}

@media(max-width:1100px){
 .price-layout,.about{gap:40px}.review-person strong{font-size:15px}
 .review-person{gap:10px}.review-avito{display:none}
}
@media(max-width:900px){
 .contact-panel{grid-template-columns:1fr;gap:32px}.lead-form{width:100%}
 .contact-copy>p br{display:none}.contact-direct{margin-top:28px}
 .about,.work-section{grid-template-columns:1fr 1fr;gap:32px}
 .about-copy p{font-size:16px}.about-copy .text-link{font-size:15px}
 .price-table strong{font-size:25px}
}
@media(max-width:600px){
 :root{--body-size:16px;--meta-size:13px}
 .header>.site-brand{font-size:13px}.header .site-brand span{font-size:11px}
 .header-phone{font-size:13px}.header-phone small{font-size:10px}
 .hero-copy>p{font-size:16px;line-height:1.65}.hero-copy{padding-bottom:175px}
 .hero-actions .button{font-size:15px}.hero-call{font-size:14px}
 .hero-location{font-size:12px;max-width:none;bottom:105px;right:22px}.hero-rating span{font-size:11px}
 .hero-rating{left:22px;right:auto;bottom:22px;gap:8px;padding:10px}.hero-rating strong{font-size:30px}
 .terms-strip strong{font-size:16px}.terms-strip span{font-size:13px}
 .terms-strip>div:last-child{padding-left:20px}
 .about,.work-section{grid-template-columns:1fr;gap:28px}
 .about-copy p,.section-head>p,.work-section p,.steps p,.contact-copy>p,.price-intro{font-size:16px}
 .section-head>p{max-width:none}.price-layout{gap:30px}
 .price-table>div{gap:18px}.price-table>div>span{font-size:15px;max-width:63%}
 .price-table strong{font-size:23px}.price-table .price-text{font-size:16px}
 .price-table>p{font-size:14px}.price-table small{font-size:13px}
 .service-title>span{font-size:12px;max-width:95px}
 .review blockquote{font-size:16px}.review-person strong{font-size:15px}.review-original{font-size:13px}
 .avito-rating span{font-size:14px}.avito-rating u{font-size:13px}.review-context{font-size:15px}
 .faq-list summary{font-size:16px;line-height:1.5}.faq-list details p{font-size:16px}
 .fault-list{grid-template-columns:1fr;gap:0}
 .fault-item:nth-last-child(2){border-bottom:0}
 .fault-item summary{font-size:18px;min-height:76px;padding:21px 0}
 .fault-detail p{font-size:16px}.fault-note{font-size:14px}
 .lead-form>label{font-size:14px}.lead-form .button{font-size:15px}
 .contact-direct>span{font-size:13px}.form-note,.form-status{font-size:13px}
 .mobile-contact>a{font-size:12px;padding-inline:9px;gap:8px}
 .footer-bottom{font-size:13px}
}
@media(max-width:379px){
 .hero-copy{padding-bottom:175px}.hero-location{bottom:100px;max-width:none}
 .hero-rating{left:18px;right:auto}.hero-rating span{font-size:11px}
 .steps li{column-gap:14px;grid-template-columns:34px 1fr}
 .step-number{font-size:30px}.steps h3{font-size:22px}
}

/* Useful shortcuts and a readable photographic repair story */



.lead-form input[type=hidden]{display:none}
.case-section{display:block;padding-top:0;border:0}
.case-heading{display:block;margin-bottom:44px;max-width:960px}
.case-heading h2{margin-bottom:24px}
.case-problem{font:500 22px/1.6 var(--body);color:var(--ink);max-width:65ch;letter-spacing:-.015em}
.case-story{display:grid;gap:36px;list-style:none;padding:0;margin:0}
.case-stage{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.case-photo{width:280px;aspect-ratio:4/5;margin:0;position:relative}
.case-image-link{display:block;width:100%;height:100%;position:relative;border-radius:0;overflow:hidden;background:transparent;cursor:zoom-in}
.case-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.case-stage-copy{max-width:660px;padding:0}
.case-stage-copy h3,.case-next h3{font:500 36px/1.25 var(--display);letter-spacing:-.015em;text-transform:none;color:var(--ink);margin:0 0 20px}
.case-stage-copy p{font:500 22px/1.6 var(--body);color:var(--ink);margin:0;opacity:1;letter-spacing:-.015em}
.case-gallery{margin-top:28px;border:0}
.case-gallery summary{font:500 18px/1.5 var(--body);color:var(--ink);min-height:64px}
.case-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:12px 0 28px}
.case-gallery-grid figure{margin:0;min-width:0}
.case-gallery-grid .case-image-link{aspect-ratio:4/5;height:auto}
.case-gallery-grid img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}
.case-gallery-grid figcaption{font-size:16px;line-height:1.5;margin-top:12px}
.case-next{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:24px;margin-top:0;border:0}
.case-next h3{margin-bottom:12px}
.case-next p{font:500 22px/1.6 var(--body);color:var(--ink);margin:0}
.case-next .button{flex:none;font-size:15px}
.photo-viewer{padding:0;border:0;border-radius:0;background:var(--ink);color:var(--paper);width:min(92vw,760px);max-height:92dvh;overflow:auto}
.photo-viewer::backdrop{background:rgba(0,0,0,.82)}
.photo-viewer figure{margin:0;padding:0 24px 24px}
.photo-viewer img{display:block;max-width:100%;width:auto;height:70dvh;object-fit:contain;margin:auto}
.photo-viewer figcaption{font-size:15px;line-height:1.5;text-align:center;margin:16px auto 0;max-width:60ch}
.photo-close{display:flex;align-items:center;gap:12px;min-height:52px;margin-left:auto;padding:12px 20px;background:transparent;border:0;color:inherit;font:600 15px var(--body);cursor:pointer}
.photo-close svg{width:22px;height:22px}
.photo-viewer :focus-visible{outline:2px solid var(--coral);outline-offset:-4px}
body.photo-open{overflow:hidden}
@media(max-width:900px){
 .case-stage{grid-template-columns:220px minmax(0,1fr);gap:36px}.case-photo{width:220px}
 .case-stage-copy h3,.case-next h3{font-size:32px}.case-stage-copy p,.case-problem,.case-next p{font-size:20px}
 .case-next{align-items:start;flex-direction:column;gap:22px}
}
@media(max-width:600px){
 
 .case-section{padding-top:0}.case-heading{margin-bottom:36px}.case-heading h2{margin-bottom:22px}
 .case-problem{font-size:18px;line-height:1.6}.case-problem br{display:none}
 .case-story{gap:40px}.case-stage{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:22px;padding:0}.case-photo{width:140px;aspect-ratio:4/5}
 .case-stage-copy{display:contents}.case-stage-copy h3{grid-column:2;grid-row:1;font-size:30px;margin:0;text-wrap:balance}
 .case-stage-copy p{grid-column:1/-1;font-size:18px;line-height:1.6}.case-gallery summary{font-size:16px}
 .case-gallery-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.case-gallery-grid figcaption{font-size:14px}
 .case-next h3{font-size:30px}.case-next p{font-size:18px}.case-next .button{width:100%;justify-content:space-between;font-size:16px;padding-inline:16px}
 .photo-viewer figure{padding:0 12px 20px}.photo-viewer img{height:66dvh}.photo-viewer figcaption{font-size:14px}
}
@media(max-width:359px){
 .case-stage{grid-template-columns:120px minmax(0,1fr);gap:20px}.case-photo{width:120px}.case-stage-copy h3{font-size:28px}
}

/* Clear conditions and one text hierarchy, per the owner's 21 October review. */
.terms-strip strong{font-size:20px;line-height:1.45}
.terms-strip>div:nth-child(2) span{font-size:16px;line-height:1.55;color:var(--ink);margin-top:8px}
.price-intro,.price-table>p,.price-table>div>span,.price-table small,.price-table strong,.price-table .price-text{font-family:var(--body);font-weight:500;color:var(--ink)}
.price-intro{font-size:20px;line-height:1.6}
.price-table>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:24px;align-items:start}
.price-table>div>span{font-size:22px;line-height:1.45;max-width:none}
.price-table small{font-size:16px;line-height:1.6;margin-top:10px;max-width:34ch}
.price-table strong,.price-table .price-text{font-size:26px;line-height:1.3}
.price-table>p{font-size:16px;line-height:1.65}
.steps .step-number,.steps li:last-child .step-number{color:var(--coral)}
.logo-bosch span{color:#ea0016}
.hero-rating .rating-score,.avito-rating .rating-score{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none;line-height:1}
.hero-rating .rating-stars,.avito-rating .rating-stars{display:block;width:88px;height:16px;margin:0;color:#e5a500;flex:none}
.avito-rating .rating-stars{width:104px;height:19px}
@media(max-width:900px){
 .price-table>div>span{font-size:20px}.price-table strong,.price-table .price-text{font-size:23px}
}
@media(max-width:600px){
 .terms-strip strong{font-size:18px}.terms-strip>div:nth-child(2) strong{font-size:20px}
 .terms-strip>div:nth-child(2) span{font-size:15px;margin-top:6px}
 .price-intro{font-size:18px}.price-table>div{gap:18px}
 .price-table>div>span{font-size:18px;max-width:none}
 .price-table small{font-size:14px;margin-top:8px}
 .price-table strong,.price-table .price-text{font-size:20px}
 .price-table>p{font-size:15px}
 .hero-rating .rating-stars{width:72px;height:14px}
 .hero-copy{padding-bottom:195px}.hero-location{bottom:125px}
}

/* Scan from a computer screen; phones retain their direct contact controls. */
.contact-qr{display:none;width:100%;max-width:480px;margin-top:24px;border:0}
.contact-qr-body{display:grid;grid-template-columns:196px minmax(0,1fr);gap:20px;align-items:center;padding-top:14px}
.contact-qr-body a{display:block;width:196px;line-height:0;background:#fff}
.contact-qr-body img{display:block;width:196px;height:196px;object-fit:contain}
.contact-qr-body p{margin:0;padding:0;font:500 16px/1.6 var(--body);color:var(--ink);max-width:22ch}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){.contact-qr{display:block}}

/* Mobile navigation is one place for contact, service routes and page sections. */
.mobile-menu{display:none}
.mobile-menu:not([open]) .mobile-menu-panel,.menu-max:not([open]) .menu-max-help{display:none}

/* The offer stays explicit; details open only at the visitor's request. */
.terms-strip{align-items:center;grid-template-columns:1fr 1.55fr 1fr;gap:24px}
.terms-strip>div{border:0;padding-inline:0}
.terms-strip>.diagnosis-offer{background:var(--coral);padding:20px 24px}
.terms-strip>.diagnosis-offer span{font:500 15px/1.5 var(--body);color:var(--ink);margin-top:6px}
.terms-strip>.diagnosis-offer span+span{margin-top:2px}
.contact-promo-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}
.contact-promo-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:500 16px/1.5 var(--body);text-decoration:underline;text-underline-offset:5px}
.contact-promo-links svg{width:18px;height:18px}
.discount-dialog{color:var(--ink);background:var(--paper);border:0;border-radius:12px;padding:36px;width:calc(100% - 48px);max-width:520px;max-height:calc(100dvh - 48px);margin:auto;overflow:auto;overscroll-behavior:contain;box-shadow:0 16px 72px #0003}
.discount-dialog::backdrop{background:rgb(20 22 23 / .62)}
.discount-close{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink);border-radius:50%}
.discount-close:hover{background:#e8e6df}
.discount-eyebrow{font:500 14px/1.5 var(--body);padding-right:40px;margin-bottom:20px}
.discount-dialog h2{font:500 44px/1.15 var(--display);letter-spacing:-.02em;margin-bottom:24px;text-transform:uppercase}
.discount-dialog #discount-description{font:500 18px/1.65 var(--body);color:var(--ink)}
.discount-note{font:500 14px/1.6 var(--body);color:var(--ink);margin-top:16px}
.discount-actions{display:grid;gap:12px;margin-top:28px}
.discount-actions .button{font:500 16px/1.45 var(--body);min-height:54px;padding:16px 18px;gap:14px;transform:none}
.discount-avito{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px #b8b6ae}
.discount-avito:hover{background:#eeede8}
html.discount-open,html.discount-open body{overflow:hidden}
@media(max-width:900px){
 .terms-strip{grid-template-columns:1fr 1.5fr 1fr;gap:18px}
 .terms-strip>.diagnosis-offer{padding:18px}
}
@media(max-width:600px){
 .terms-strip{grid-template-columns:1fr;gap:18px;padding-block:24px}
 .terms-strip>div{padding:0;border:0}
 .terms-strip>.diagnosis-offer{padding:18px 20px}
 .terms-strip>.diagnosis-offer span{font-size:14px}
 .discount-dialog{padding:28px 24px;width:calc(100% - 32px);max-height:calc(100dvh - 32px)}
 .discount-dialog h2{font-size:36px;margin-bottom:20px}
 .discount-dialog #discount-description{font-size:16px}
 .discount-eyebrow{margin-bottom:18px;font-size:13px}
 .discount-actions{margin-top:22px;gap:10px}
 .discount-actions .button{font-size:15px;padding:14px;min-height:52px;gap:10px}
 .contact-promo-links a{font-size:15px}
}
@media(max-width:359px){
 .discount-dialog{padding:26px 20px}.discount-actions .button{font-size:14px;padding:13px 12px}
}

@media(max-width:1024px){
 :root{--mobile-header-height:76px}
 html{scroll-padding-top:calc(var(--mobile-header-height) + 20px + env(safe-area-inset-top))}
 body{padding-top:calc(var(--mobile-header-height) + env(safe-area-inset-top))}
 .site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:var(--paper);padding-top:env(safe-area-inset-top)}
 .header{min-height:var(--mobile-header-height);gap:20px;z-index:auto}
 .header .site-brand{flex:1;max-width:300px;font:600 15px/1.35 var(--body);letter-spacing:-.02em}
 .header .site-brand span{font-size:12px;font-weight:500;margin-top:4px}
 .header-phone,.header>.nav{display:none}
 .mobile-menu{display:block;border:0;margin-left:auto;flex:none}
 .mobile-menu>.menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:row;gap:10px;width:auto;min-width:44px;height:48px;padding:0 0 0 8px;color:var(--ink);font:500 14px/1.4 var(--body);list-style:none;cursor:pointer}
 .menu-toggle::-webkit-details-marker{display:none}
 .menu-toggle::marker{content:''}
 .mobile-menu .menu-toggle-label{display:inline;width:auto;height:auto;background:none;transform:none}
 .mobile-menu .menu-symbol{position:relative;display:block;width:24px;height:16px;background:none;transform:none}
 .menu-symbol i{position:absolute;left:0;width:24px;height:1.5px;display:block;background:var(--ink);transition:transform .18s ease,top .18s ease}
 .menu-symbol i:first-child{top:4px}.menu-symbol i:last-child{top:12px}
 .mobile-menu[open] .menu-symbol i:first-child{top:8px;transform:rotate(45deg)}
 .mobile-menu[open] .menu-symbol i:last-child{top:8px;transform:rotate(-45deg)}
 .mobile-menu[open]>.menu-toggle{color:var(--ink)}
 .mobile-menu-panel{position:fixed;top:calc(var(--mobile-header-height) + env(safe-area-inset-top));right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) var(--paper);background:var(--paper);border-top:1px solid var(--line)}
 .mobile-menu-inner{width:calc(100% - var(--page-gutter)*2);max-width:680px;margin-inline:auto;padding:26px 0 calc(36px + env(safe-area-inset-bottom));display:grid;gap:32px}
 .mobile-menu h2{font:500 26px/1.25 var(--display);text-transform:none;letter-spacing:-.015em;color:var(--ink);margin:0}
 .menu-hours{font:500 14px/1.5 var(--body);margin-top:8px;color:var(--ink);padding:0}
 .menu-phone{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;margin-top:18px;background:var(--coral);border-radius:7px;font:500 14px/1.4 var(--body)}
 .menu-phone strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em;margin-top:4px}
 .menu-phone svg{width:24px;height:24px}
 .menu-contact-link,.menu-max>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:14px 0;font:500 17px/1.5 var(--body);color:var(--ink)}
 .menu-max{border:0;margin-top:8px}
 .mobile-menu .menu-max>summary{color:var(--ink)}
 .menu-max[open]>summary{padding-bottom:8px}
 .menu-max:not([open])>summary .plus:after{transform:rotate(90deg)}
 .menu-max-help{padding:4px 0 16px;font:500 15px/1.6 var(--body)}
 .menu-max-help p{font:inherit;padding:0;color:var(--ink)}
 .menu-max-help strong{display:block;font-size:18px;font-weight:500;margin-top:8px;user-select:all}
 .copy-phone{border:0;background:none;color:var(--ink);padding:10px 0;min-height:44px;font:500 15px/1.5 var(--body);text-decoration:underline;text-underline-offset:4px}
 .copy-phone[hidden]{display:none}
 .copy-status{display:block;font-size:14px;max-width:32ch}
 .copy-status:empty{display:none}
 .menu-services>a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:12px 0;font:500 20px/1.4 var(--body);letter-spacing:-.02em}
 .menu-services>a:first-of-type{margin-top:12px}
 .menu-services>a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:6px}
 .menu-services>a[aria-current=page] svg{visibility:hidden}
 .menu-sections>div{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;margin-top:14px}
 .menu-sections a{display:flex;align-items:center;min-height:48px;font:500 16px/1.5 var(--body);padding-block:8px}
 .mobile-menu a:focus-visible,.mobile-menu summary:focus-visible,.mobile-menu button:focus-visible{outline:2px solid var(--focus,#ac321f);outline-offset:3px}
 .mobile-menu a:hover,.copy-phone:hover{color:#8d2c1d}
 .menu-phone:hover{color:var(--ink);background:var(--coral-hover)}
 html.menu-open,html.menu-open body{overflow:hidden}
 html.menu-open .mobile-contact{visibility:hidden}
 .breadcrumb{margin-top:8px;margin-bottom:16px;font-size:12px;gap:8px}
 .breadcrumb a{display:inline-flex;align-items:center;min-height:32px}
}
@media(max-width:600px){
 .header .site-brand{max-width:230px;font-size:14px}
 .header .site-brand span{font-size:11px}
 .mobile-menu .menu-toggle-label{display:none}
 .mobile-menu>.menu-toggle{width:44px;padding:0}
 .hero-panel{display:flex;flex-direction:column;min-height:0;border-radius:0;isolation:isolate}
 .hero-img{object-fit:cover;object-position:64% center}
 .hero-copy{padding:28px 22px 0;max-width:none}
 .hero h1,.home-hero h1{font-size:clamp(30px,9.6vw,44px);line-height:1.16;letter-spacing:-.025em;margin-bottom:28px}
 .hero .underline{width:175px;bottom:-12px}
 .hero-copy>p{font-size:16px;line-height:1.65;max-width:34ch}
 .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:24px}
 .hero-actions .button{width:100%;font-size:15px;min-height:52px;padding:15px 16px;gap:14px}
 .hero-call{align-self:flex-start;min-height:44px;font-size:15px}
 .hero-location{position:relative;inset:auto;margin:18px 22px 0;font-size:13px;line-height:1.5;max-width:none}
 .hero-rating{position:relative;inset:auto;align-self:flex-start;margin:18px 22px 24px;padding:10px 12px;gap:12px}
 .hero-rating span{font-size:11px}
 .hero-rating strong{font-size:30px}
 .hero-shade{background:linear-gradient(90deg,rgba(18,20,21,.88),rgba(18,20,21,.54))}
 .home-hero{margin-top:12px}
 .service-photo{height:auto;aspect-ratio:3/2;border-radius:0}
 .service-photo img{width:100%;height:100%;object-fit:cover}
 .service-title{align-items:flex-start;gap:16px}
 .service-title h3{font-size:28px;line-height:1.2}
 .service-title>span{font-size:13px;line-height:1.5;flex:0 0 90px;max-width:90px}
 .mobile-contact>a{font-size:13px;min-height:48px}
 .mobile-contact{padding-block:8px calc(8px + env(safe-area-inset-bottom))}
}
@media(max-width:359px){
 .header .site-brand{font-size:13px}.header{gap:12px}
 .hero-copy{padding:24px 18px 0}
 .hero-location{margin-inline:18px}.hero-rating{margin:16px 18px 22px}
 .hero-copy>p{font-size:16px}
 .hero-actions .button{font-size:14px;padding-inline:13px}
 .menu-phone{padding:14px 16px}.menu-phone strong{font-size:20px}
 .menu-services>a{font-size:18px}
 .menu-sections>div{grid-template-columns:1fr}
 .service-title{display:block}.service-title>span{display:block;max-width:none;text-align:left;margin-top:8px}
}

/* Compact navigation keeps only the glass menu control over mobile content */
.contact-direct .phone-diagnosis{display:inline-block;max-width:100%;margin:14px 0 8px;padding:12px 16px;background:var(--ink);color:var(--paper,#f7f6f2);font:500 15px/1.5 var(--body);border-radius:6px}
.menu-phone small{display:block;margin-top:8px;font:500 13px/1.45 var(--body)}
.contact-qr-body{padding-top:0}
@media(max-width:1024px){
 html.mobile-scrolled .site-header{background:transparent;pointer-events:none;box-shadow:none;border:0;backdrop-filter:none}
 html.mobile-scrolled .header{min-height:56px;height:56px;justify-content:flex-end}
 html.mobile-scrolled .header>.site-brand{display:none}
 html.mobile-scrolled .mobile-menu{pointer-events:auto}
 html.mobile-scrolled .mobile-menu>.menu-toggle{width:44px;height:44px;min-height:44px;padding:0;background:rgba(247,246,242,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);border-radius:10px}
 html.mobile-scrolled .menu-toggle-label{display:none}
 html.mobile-scrolled .menu-symbol,html.mobile-scrolled .menu-symbol i{width:22px}
 html.mobile-scrolled .mobile-menu-panel{top:calc(56px + env(safe-area-inset-top));pointer-events:auto}
 html.mobile-scrolled .mobile-contact{visibility:hidden;pointer-events:none;transform:translateY(110%)}
}

/* Direct contact replaces the callback form */
.contact-panel{align-items:start}
.contact-methods{min-width:0}
.contact-methods .contact-direct{margin-top:0}
.direct-actions{display:grid;gap:12px;margin-top:24px}
.direct-actions .button,.contact-message{width:100%;min-height:54px;justify-content:space-between;font:500 16px/1.45 var(--body)}
.contact-message{background:var(--paper);color:var(--ink)}
.hero-actions{flex-wrap:wrap;column-gap:24px;row-gap:12px}
.hero-call{white-space:nowrap}
.contact-copy>.contact-qr{margin-top:32px}
@media(max-width:600px){.hero-actions .hero-call{min-height:40px}.contact-methods .phone-diagnosis{font-size:14px}.direct-actions .button{font-size:15px}}

/* Reviews retain the site's cards and shared gutters, with native horizontal scrolling. */
.reviews-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.reviews-hint{font:500 14px/1.5 var(--body);color:var(--muted)}
.reviews-navigation{display:flex;align-items:center;gap:10px}
.review-arrow{display:grid;place-items:center;flex:none;width:46px;height:46px;padding:0;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);transition:background .18s ease,color .18s ease}
.review-arrow[hidden]{display:none}
.review-arrow:hover:not([aria-disabled="true"]){background:var(--coral);border-color:var(--coral)}
.review-arrow[aria-disabled="true"]{color:#aaa9a3;border-color:#d9d8d3;cursor:default}
.review-prev svg{transform:rotate(180deg)}
.reviews-section .reviews-track{position:relative;display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);align-items:stretch;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:4px 0 14px}
.reviews-track:focus-visible{outline-offset:3px}
.reviews-track .review{display:flex;flex-direction:column;min-width:0;min-height:400px;margin:0;padding:26px;scroll-snap-align:start;scroll-margin-inline:0}
.reviews-track .review-person{min-height:54px;gap:12px}
.reviews-track .review-person strong{display:block;overflow-wrap:anywhere}
.reviews-track .review-avito{display:none}
.review-avatar-crop img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover}
.review-verification{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;margin-top:20px}
.review-verification .review-stars{width:100px;height:19px;margin:0}
.review-verification>span{font:500 13px/1.5 var(--body);color:var(--muted)}
.reviews-track blockquote{font:500 18px/1.65 var(--body);white-space:pre-line;overflow-wrap:break-word;margin:18px 0 0}
.reviews-track blockquote.review-text-collapsed{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.review-expand{align-self:flex-start;min-height:44px;margin-top:6px;padding:6px 0;border:0;background:transparent;color:var(--ink);font:600 14px/1.5 var(--body);text-decoration:underline;text-underline-offset:4px}
.review-expand:hover{color:#ac321f}
.review-expand[hidden]{display:none}
.review-photo{display:block;width:76px;height:76px;margin-top:16px;flex:none;border-radius:6px;overflow:hidden}
.review-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:1024px){.reviews-section .reviews-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:600px){
 .reviews-section{display:flex;flex-direction:column}
 .reviews-section>.section-head{order:0}
 .reviews-section>.reviews-track{order:1}
 .reviews-section>.reviews-toolbar{order:2}
 .reviews-section .section-head{align-items:flex-start;gap:24px}
 .reviews-toolbar{gap:0;margin:2px 0 0}
 .reviews-navigation{width:100%;justify-content:space-between;gap:0}
  .reviews-hint{display:none}
 .review-arrow{width:44px;height:44px;border:0;border-radius:0;background:transparent}
 .review-arrow svg{width:20px;height:20px}
 .review-arrow:hover:not([aria-disabled="true"]){background:transparent;color:var(--coral)}
 .review-arrow[aria-disabled="true"]{visibility:hidden}
 .reviews-section .reviews-track{grid-auto-columns:100%;gap:16px;scrollbar-width:none;padding-bottom:0}
 .reviews-section .reviews-track::-webkit-scrollbar{display:none}
 .reviews-track .review{padding:22px;min-height:360px}
 .reviews-track .review-person{gap:10px;min-height:48px}
 .reviews-track blockquote{font-size:16px}
 .review-verification{gap:6px 8px}
 .review-verification>span{font-size:12px}
 .review-verification .review-stars{width:88px;height:16px}
}
@media(prefers-reduced-motion:reduce){.review-arrow{transition:none}}

/* Price accents: a readable coral shade for text, the established coral for the CTA. */
.price-section{--price-accent:#ce4d39}
.price-section .price-accent,.price-table strong:not(.price-text){color:var(--price-accent)}
.price-layout .price-cta{margin-top:28px;max-width:100%;gap:22px;font:600 16px/1.5 var(--body);text-align:left}
@media(max-width:600px){.price-layout .price-cta{width:100%;padding:16px 18px;gap:14px;font-size:15px}}

/* Help visitors start a conversation with the relevant repair details. */
.contact-direct .contact-location{display:block;margin-top:6px}
.contact-prompt{max-width:42ch;margin:20px 0 0;font:500 16px/1.65 var(--body)}
.contact-prompt+.direct-actions{margin-top:18px}


/* Balance the eight home brands; LG already includes its wordmark in the SVG. */
@media(min-width:601px){.brands-home .brand-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.brand-logo.logo-lg img{width:76px;height:42px;max-width:100%;flex:none}
@media(max-width:600px){.brand-logo.logo-lg img{width:54px;height:30px}}
