/* Shared finishing layer. Existing URLs, forms and hero layout are retained. */
body.km-refined-site{--km-polish-ink:#19364e;--km-polish-copy:#40596f;--km-polish-blue:#285998;--km-polish-line:#d6e1ed;--km-polish-soft:#eef4fa;--km-polish-radius:20px}
body.km-refined-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #3b73b5!important;outline-offset:4px!important}
body.km-refined-site :is(a,button){-webkit-tap-highlight-color:transparent}
body.km-refined-site main :is(.section,.contact-section,.advice-reading,.mb-section,.kmship-section){min-width:0}
body.km-refined-site main :is(.section,.mb-section,.kmship-section)>h2{font-size:clamp(27px,3vw,40px)!important;line-height:1.2!important;letter-spacing:-.025em!important;text-wrap:balance}
body.km-refined-site main :is(.section-lead,.km-home-section-intro,.km-section-description){max-width:78ch;font-size:16px!important;line-height:1.7!important;color:var(--km-polish-copy)!important}
body.km-refined-site main .km-section-description{margin:12px 0 26px!important}
body.km-refined-site main :is(.section,.mb-section)>.eyebrow{font-size:11px!important;font-weight:750!important;line-height:1.45!important;letter-spacing:.09em!important}
body.km-refined-site :is(.button,.v108-price-button,.kmship-btn){border-radius:12px!important;font-weight:750!important;line-height:1.35!important;text-decoration:none!important;white-space:normal}
body.km-refined-site :is(.button.primary,.contact-form button[type=submit],.v108-price-button){background:#285998!important;border-color:#285998!important;color:#fff!important;box-shadow:0 4px 12px #18365016!important}
body.km-refined-site :is(.button.primary,.contact-form button[type=submit],.v108-price-button):is(:hover,:focus-visible){background:#204778!important;border-color:#204778!important;color:#fff!important}
body.km-refined-site :is(button.button,.contact-form button)[disabled]{opacity:.6!important;cursor:wait!important;transform:none!important}
body.km-refined-site .km-home-section-links .button.ghost{background:#fff!important;color:#285998!important;border-color:#bdcede!important}
body.km-refined-site .km-home-section-links .button.ghost:is(:hover,:focus-visible){background:#eaf2fc!important;color:#193f73!important;border-color:#638ab8!important}
body.km-refined-site main .hero .hero-actions .button.ghost:is(:hover,:focus-visible){background:#234667!important;border-color:#bed4eb!important;color:#fff!important}
body.km-refined-site main .hero :is(.km-hours-workshop,.km-onsite-hours){font-variant-numeric:tabular-nums}
body.km-refined-site .breadcrumbs{font-size:12px;line-height:1.55}
body.km-refined-site .breadcrumbs :is(a,span){overflow-wrap:anywhere}

/* Service families: clear photographs and readable descriptions. */
body.km-refined-site main .section>.service-grid{gap:18px!important}
body.km-refined-site main .section>.service-grid .service-card{background:#fff!important;border:1px solid var(--km-polish-line)!important;box-shadow:0 4px 18px #19364e08!important;border-radius:20px!important}
body.km-refined-site main .section>.service-grid .service-card::after{display:none!important}
body.km-refined-site main .section>.service-grid .service-card h3{font-size:18px!important;line-height:1.35!important;letter-spacing:-.015em!important}
body.km-refined-site main .section>.service-grid .service-card p{font-size:14px!important;line-height:1.65!important;color:#40596f!important}
body.km-refined-site main .section>.service-grid .service-card:is(:hover,:focus-visible){background:#f2f7fd!important;border-color:#7197c2!important;box-shadow:0 8px 22px #19364e12!important;transform:none!important}
body.km-refined-site main .section>.service-grid .service-card .arrow{background:#eaf1fb!important;color:#285998!important;border:0!important;border-radius:50%!important}

/* Prices read as a compact menu; duration stays close to its service title. */
body.km-refined-site main .price-list:not(.km-brand-service-list){margin-top:24px!important;border:1px solid var(--km-polish-line)!important;border-radius:20px!important;box-shadow:0 4px 18px #19364e06!important;background:#fff!important}
body.km-refined-site main .price-list:not(.km-brand-service-list)>a.price-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(120px,180px) 32px!important;align-items:center!important;gap:14px!important;min-height:86px!important;padding:18px 22px!important;background:#fff!important;color:#19364e!important;border-bottom:1px solid #e1e8f0!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
body.km-refined-site main .price-list:not(.km-brand-service-list)>a.price-row:last-child{border-bottom:0!important}
body.km-refined-site main .price-list:not(.km-brand-service-list)>a.price-row:is(:hover,:focus-visible){background:#edf4fc!important;color:#19364e!important;box-shadow:inset 3px 0 #3b73b5!important}
body.km-refined-site main .price-list .service-line-label{min-width:0;gap:14px!important}
body.km-refined-site main .price-list .service-line-icon{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:13px!important;box-shadow:none!important}
body.km-refined-site main .price-list .service-line-icon svg{width:23px!important;height:23px!important;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.km-refined-site main .price-list .service-line-copy{font-size:15px!important;line-height:1.45!important;font-weight:700!important;color:#19364e!important}
body.km-refined-site main .price-list .service-line-copy small{margin-top:5px!important;font-size:13px!important;line-height:1.5!important;font-weight:450!important;color:#496176!important}
body.km-refined-site main .price-list:not(.km-brand-service-list)>.price-row>strong{grid-column:auto!important;grid-row:auto!important;font-size:20px!important;line-height:1.3!important;font-weight:800!important;color:#285998!important;font-variant-numeric:tabular-nums;text-align:right!important}
body.km-refined-site main .price-list:not(.km-brand-service-list)>.price-row>i{position:static!important;grid-column:auto!important;grid-row:auto!important;width:32px!important;height:32px!important;display:grid!important;place-items:center!important;background:#eaf1fb!important;color:#285998!important;border:0!important;border-radius:50%!important;font-style:normal!important;transform:none!important}
body.km-refined-site main .price-list:not(.km-brand-service-list)>a.price-row[hidden],body.km-refined-site main section.price-section[hidden]{display:none!important}
body.km-refined-site main .link-grid:not(.guide-grid){gap:14px!important}
body.km-refined-site main .link-grid:not(.guide-grid)>a{border:1px solid var(--km-polish-line)!important;border-radius:16px!important;background:#fff!important;color:#19364e!important;box-shadow:0 3px 12px #19364e06!important;min-width:0;min-height:108px!important;padding-top:20px!important;padding-bottom:20px!important}
body.km-refined-site main .link-grid:not(.guide-grid)>a>b{font-size:16px!important;line-height:1.4!important;color:#19364e!important}
body.km-refined-site main .link-grid:not(.guide-grid)>a>span:not(.service-line-icon){color:#285998!important;font-weight:750!important}
body.km-refined-site main .link-grid:not(.guide-grid)>a:is(:hover,:focus-visible){background:#edf4fc!important;border-color:#7197c2!important;transform:none!important}
body.km-refined-site main .v108-price-section{border:1px solid var(--km-polish-line)!important;box-shadow:0 6px 24px #19364e08!important;background:#fff!important;border-radius:20px!important}
body.km-refined-site main .v108-price-grid{padding:28px!important;gap:24px!important;border:0!important;box-shadow:none!important}
body.km-refined-site main .v108-price-value{font-size:clamp(34px,4vw,46px)!important;line-height:1.15!important;letter-spacing:-.03em!important}
body.km-refined-site main .v108-price-desc{font-size:16px!important;line-height:1.65!important}
body.km-refined-site main .v108-price-note{font-size:14px!important;line-height:1.65!important;background:#f0f6f8!important;border-color:#d6e5e8!important;color:#365666!important}
body.km-refined-site main .v108-price-aside{background:#193c61!important;border-radius:16px!important;box-shadow:none!important;gap:16px!important}
body.km-refined-site main .v108-price-assurance b{color:#fff!important;font-size:14px!important;line-height:1.45!important}
body.km-refined-site main .v108-price-aside-icon{color:#bdebdc!important;background:#294e6a!important;border:1px solid #497084!important;box-shadow:none!important}

/* Explanations are informative panels, not clickable cards. */
body.km-refined-site main .service-deep-info{border:1px solid var(--km-polish-line)!important;border-radius:20px!important;background:#f3f7fb!important;box-shadow:none!important}
body.km-refined-site main .service-deep-info::before,body.km-refined-site main .service-deep-info::after,body.km-refined-site main .service-deep-info h2::after{display:none!important}
body.km-refined-site main .service-deep-info>h2{padding-right:0!important;margin-bottom:22px!important;font-size:clamp(26px,2.5vw,34px)!important;color:#19364e!important}
body.km-refined-site main .service-deep-info>h3{max-width:75ch;font-size:21px!important;line-height:1.35!important;margin:28px 0 10px!important;color:#19364e!important}
body.km-refined-site main .service-deep-info>p{max-width:86ch;font-size:16px!important;line-height:1.8!important;color:#40596f!important}
body.km-refined-site main .service-deep-info .service-info-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important;padding:0!important;list-style:none!important}
body.km-refined-site main .service-deep-info .service-info-list>li{position:relative!important;margin:0!important;padding:20px!important;border:1px solid #dce5ef!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;color:#40596f!important;font-size:15px!important;line-height:1.75!important}
body.km-refined-site main .service-deep-info .service-info-list>li::before{display:none!important}
body.km-refined-site main .service-deep-info .service-info-list>li:last-child:nth-child(odd){grid-column:1/-1}
body.km-refined-site main .service-deep-info .service-info-list .km-fact-title{display:block;margin:0 0 8px;color:#19364e!important;font-size:16px;line-height:1.4;font-weight:750}
body.km-refined-site main .service-deep-info .service-info-list p{margin:0!important;font-size:15px!important;line-height:1.75!important;color:#40596f!important}
body.km-refined-site main .service-deep-info a{color:#285998!important;text-decoration:underline;text-underline-offset:3px}
body.km-refined-site main .km-info-grid>article.km-info-card{background:#fff!important;border-color:var(--km-polish-line)!important;box-shadow:0 4px 18px #19364e08!important;border-radius:20px!important}
body.km-refined-site main .km-info-grid>article.km-info-card::after{display:none!important}
body.km-refined-site main .km-info-grid>article.km-info-card :is(li,p){font-size:15px!important;line-height:1.75!important;color:#40596f!important}
body.km-refined-site main .km-info-card-header :is(h2,h3){font-size:19px!important;line-height:1.4!important;color:#19364e!important}

/* Advice listings and long reads share the same visual language. */
body.km-refined-site main .km-advice-listing .km-advice-excerpt{font-size:15px!important;line-height:1.7!important;color:#40596f!important;margin:0!important}
body.km-refined-site main .km-advice-listing .advice-related-card>div{gap:16px!important}
body.km-refined-site .advice-pagination{display:flex!important;flex-wrap:wrap;justify-content:center;gap:7px!important;max-width:700px;margin:30px auto 0!important}
body.km-refined-site .advice-pagination a{display:grid;place-items:center;min-width:40px;min-height:42px;padding:7px 10px!important;border:1px solid #ccd9e8!important;border-radius:10px!important;background:#fff!important;color:#285998!important;font-size:14px;font-weight:750;text-decoration:none!important}
body.km-refined-site .advice-pagination a[aria-current=page]{background:#285998!important;border-color:#285998!important;color:#fff!important}
body.km-refined-site .advice-pagination a:not([aria-current]):is(:hover,:focus-visible){background:#eaf2fc!important;border-color:#7197c2!important}
body.km-refined-site .advice-reading-grid{gap:32px!important}
body.km-refined-site .advice-prose{border:1px solid var(--km-polish-line);box-shadow:0 5px 24px #19364e06!important;border-radius:20px!important}
body.km-refined-site .advice-prose :is(p,li){font-size:16px!important;line-height:1.8!important}
body.km-refined-site .advice-prose :is(.advice-chapter,.advice-checklist)>h2{font-size:clamp(22px,2.2vw,28px)!important;line-height:1.35!important;letter-spacing:-.02em!important}
body.km-refined-site .advice-prose .advice-chapter{scroll-margin-top:112px}
body.km-refined-site .advice-prose .advice-summary{border:1px solid #d3e1ed!important;border-left:4px solid #427bb3!important;border-radius:14px!important;background:#edf5fa!important;padding:22px!important}
body.km-refined-site .advice-prose .advice-summary p{color:#294c69!important}
body.km-refined-site .advice-sidebar nav{border:1px solid var(--km-polish-line);border-radius:16px;background:#fff;padding:22px!important}
body.km-refined-site .advice-sidebar nav h2{font-size:16px!important;line-height:1.4!important;margin:0 0 12px!important}
body.km-refined-site .advice-sidebar nav a{display:inline-block;padding:5px 0;line-height:1.55;color:#40596f!important;text-underline-offset:3px}
body.km-refined-site .advice-sidebar nav a:is(:hover,:focus-visible){color:#285998!important;text-decoration:underline!important}
body.km-refined-site .advice-prose .advice-help{border-radius:16px!important;background:#193c61!important}
body.km-refined-site .advice-prose .advice-help :is(h2,p){color:#fff!important}

/* Real workshop photographs: captions remain readable without overlays. */
body.km-refined-site main .gallery.work-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;grid-auto-flow:row!important}
body.km-refined-site main .work-gallery figure.km-gallery-card{display:flex;flex-direction:column;grid-column:auto!important;height:auto!important;min-width:0;background:#fff!important;border:1px solid var(--km-polish-line)!important;border-radius:20px!important;box-shadow:0 4px 18px #19364e08!important;transform:none!important}
body.km-refined-site main .work-gallery figure.km-gallery-card::before,body.km-refined-site main .work-gallery figure.km-gallery-card::after{display:none!important}
body.km-refined-site main .work-gallery .km-gallery-image{display:block;overflow:hidden;aspect-ratio:4/3;background:#e8eef5}
body.km-refined-site main .work-gallery .km-gallery-image img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;filter:none!important}
body.km-refined-site main .work-gallery figure.km-gallery-card figcaption{position:static!important;display:flex;flex:1;flex-direction:column;gap:16px;padding:22px!important;color:#19364e!important;background:#fff!important;text-shadow:none!important;font-size:17px!important;line-height:1.45!important;font-weight:750!important}
body.km-refined-site main .work-gallery .km-gallery-service{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #e1e8f0;min-height:42px;font-size:14px;font-weight:750;color:#285998!important;text-decoration:none!important}
body.km-refined-site main .work-gallery figure.km-gallery-card:focus-within,body.km-refined-site main .work-gallery figure.km-gallery-card:hover{border-color:#7197c2!important;box-shadow:0 8px 22px #19364e12!important}
body.km-refined-site main .work-gallery .km-gallery-service:hover{text-decoration:underline!important;text-underline-offset:3px}

/* Shared secondary sections and controls. */
body.km-refined-site main .promise-grid>article{background:#fff!important;border:1px solid var(--km-polish-line)!important;border-radius:18px!important;box-shadow:none!important}
body.km-refined-site main .promise-grid>article>span{color:#285998!important;background:#eaf1fb!important;box-shadow:none!important;border-radius:12px!important}
body.km-refined-site main .promise-grid h3{font-size:18px!important;line-height:1.4!important;color:#19364e!important}
body.km-refined-site main .promise-grid p{font-size:15px!important;line-height:1.75!important;color:#40596f!important}
body.km-refined-site main .brand-grid>a{background:#fff!important;border:1px solid var(--km-polish-line)!important;box-shadow:none!important;border-radius:18px!important}
body.km-refined-site main .brand-grid>a:is(:hover,:focus-visible){background:#edf4fc!important;border-color:#7197c2!important;transform:none!important}
body.km-refined-site main .brand-grid>a>b{color:#19364e!important}
body.km-refined-site main .brand-grid>a>span:not(.manufacturer-logo){color:#40596f!important}
body.km-refined-site main .brand-grid .manufacturer-arrow{background:#eaf1fb!important;color:#285998!important;border-radius:50%!important}
body.km-refined-site main .faq-section{border-radius:20px!important;box-shadow:none!important;border-color:var(--km-polish-line)!important}
body.km-refined-site main .faq-section .faq-list details{border:1px solid #d6e1ed!important;background:#fff!important;border-radius:14px!important;box-shadow:none!important}
body.km-refined-site main .faq-section .faq-list details[open]{border-color:#8caecc!important;background:#f7fbff!important}
body.km-refined-site main .faq-section .faq-list summary{color:#19364e!important;line-height:1.5!important}
body.km-refined-site main .faq-section .faq-list summary:hover{background:#edf4fc!important}
body.km-refined-site main .faq-section .faq-list p{font-size:15px!important;line-height:1.75!important;color:#40596f!important}
body.km-refined-site main :is(.repair-finder select,.price-search input,.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form textarea){border:1px solid #bacbdc!important;background:#fff!important;color:#19364e!important;border-radius:12px!important;box-shadow:none!important;font-size:16px!important}
body.km-refined-site main :is(.repair-finder select,.price-search input){min-height:48px}
body.km-refined-site main .contact-form{border:1px solid var(--km-polish-line)!important;box-shadow:0 6px 24px #19364e09!important;border-radius:20px!important}
body.km-refined-site main .contact-links>a{border-color:var(--km-polish-line)!important;box-shadow:none!important}
body.km-refined-site main .contact-links>a:is(:hover,:focus-visible){background:#edf4fc!important;border-color:#7197c2!important}
body.km-refined-site main .contact-links :is(b,.km-contact-copy b){color:#19364e!important}
body.km-refined-site main .contact-links .km-contact-copy>span{color:#40596f!important;overflow-wrap:anywhere}

@media(min-width:981px) and (max-width:1199px){
 body.km-refined-site main .section>.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:980px){
 body.km-refined-site main .section>.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.km-refined-site main .gallery.work-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
 body.km-refined-site main .v108-price-grid{padding:24px!important}
}
@media(max-width:760px){
 body.km-refined-site main .service-deep-info .service-info-list{grid-template-columns:1fr!important}
 body.km-refined-site main .service-deep-info .service-info-list>li{padding:18px!important}
 body.km-refined-site main :is(.section,.mb-section,.kmship-section)>h2{font-size:28px!important;line-height:1.24!important}
 body.km-refined-site main .price-list:not(.km-brand-service-list)>a.price-row{grid-template-columns:minmax(0,1fr) 32px!important;gap:10px 12px!important;padding:18px!important;min-height:0!important}
 body.km-refined-site main .price-list:not(.km-brand-service-list)>.price-row>.service-line-label{grid-column:1/-1!important;grid-row:1!important}
 body.km-refined-site main .price-list:not(.km-brand-service-list)>.price-row>strong{grid-column:1!important;grid-row:2!important;text-align:left!important;padding-left:58px!important;font-size:20px!important}
 body.km-refined-site main .price-list:not(.km-brand-service-list)>.price-row>i{grid-column:2!important;grid-row:2!important}
 body.km-refined-site main .price-list:not(.km-brand-service-list)>.price-row:not(.has-service-icon)>strong{padding-left:0!important}
 body.km-refined-site main .link-grid:not(.guide-grid){grid-template-columns:1fr!important}
 body.km-refined-site .advice-prose .advice-summary{padding:18px!important}
 body.km-refined-site .advice-sidebar nav{padding:18px!important}
 body.km-refined-site .advice-reading-grid{gap:20px!important}
 body.km-refined-site main .v108-price-grid{padding:20px!important;gap:18px!important}
 body.km-refined-site main .v108-price-section .v108-price-button{width:100%!important;min-width:0!important}
}
@media(max-width:560px){
 body.km-refined-site main .section>.service-grid{grid-template-columns:1fr!important}
 body.km-refined-site main .section>.service-grid .service-card h3{font-size:21px!important}
 body.km-refined-site main .section>.service-grid .service-card p{font-size:15px!important}
 body.km-refined-site main .gallery.work-gallery{grid-template-columns:1fr!important;gap:20px!important}
 body.km-refined-site main .work-gallery figure.km-gallery-card figcaption{padding:20px!important}
 body.km-refined-site main .v108-price-assurance b{font-size:13px!important}
 body.km-refined-site .advice-pagination{gap:6px!important}
}
@media(prefers-reduced-motion:reduce){
 body.km-refined-site *,body.km-refined-site *::before,body.km-refined-site *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
