/* Swift site: components added in the 2026 rebuild (on top of style.css) */

/* self-hosted fonts (SIL OFL), latin subset, variable weight */
@font-face{font-family:"Roboto Condensed";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/roboto-condensed-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Roboto Flex";font-style:normal;font-weight:100 1000;font-display:swap;src:url(fonts/roboto-flex-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/inter-latin-400-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190,U+2192}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/manrope-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190,U+2192}

/* ---------- utilities ---------- */
.sw-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--black);color:#fff;padding:12px 16px}
.sw-skip:focus{left:8px;top:8px}
.sw-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sw-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.sw-link{color:#b8301c;font-weight:500;text-decoration:none;font-family:var(--font-cond);font-size:18px}
.sw-link:hover{text-decoration:underline}
.sw-small{font-size:13px;line-height:150%;color:var(--dark-blue-secondary);opacity:.75;margin-top:16px}
.sw-center{text-align:center;margin-top:32px}
.sw-empty{font-size:18px;color:var(--dark-blue-secondary);padding:24px 0}
.sw-h3{font-family:var(--font-cond);font-size:28px;line-height:132%;font-weight:500;letter-spacing:-1px;color:var(--black);margin:0 0 16px}
.sw-pt0{padding-top:0!important}
.sw-ico{flex:0 0 auto;vertical-align:middle}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.sw-note{font-size:14px;color:var(--dark-blue-secondary);opacity:.8}
.sep{opacity:.4;margin:0 10px}

/* buttons reset where markup became <button> */
button.red-btn-border,button.foot-linkbtn,.sw-chip,.sw-close{font:inherit;cursor:pointer;background:none}
/* the area button in the header keeps the design's condensed medium face (it is a <button> here, a <div> in the design) */
button.red-btn-outline-sm{cursor:pointer;background:none;font-family:var(--font-cond);font-size:16px;font-weight:var(--medium);line-height:132%}
button.foot-linkbtn{border:0;padding:10px 0 10px 15px;color:#fff;font-size:16px;font-weight:500;text-align:left}
button.foot-linkbtn:hover{color:var(--blue)}
.black-btn,.red-btn-border{text-decoration:none}

/* ---------- header ---------- */
.top-header .header-right{display:flex;align-items:center;gap:20px}
.cn-list a:first-child{opacity:1;pointer-events:auto}
.cn-list.is-ready a:first-child{opacity:0;pointer-events:none}
.cn-list.is-ready a.is-active{opacity:1;pointer-events:auto}
.cur-soc-flex a{display:inline-flex;align-items:center}

/* ---------- section heads ---------- */
.header-section-left > h2 span{color:var(--red)}
.sw-head-sub > span{max-width:820px}

/* ---------- design arrow after link texts (takes the link's color) ---------- */
.sw-arr{display:inline-block;width:.72em;height:.72em;margin-left:.45em;vertical-align:baseline;flex:0 0 auto;background-color:currentColor;-webkit-mask:url(../image/arrow-up.svg) center/contain no-repeat;mask:url(../image/arrow-up.svg) center/contain no-repeat}
.foot-block li a .sw-arr,.foot-con-line a .sw-arr{align-self:center}
.sw-territory-card .red-btn-border img{margin-left:4px}

/* ---------- hero ---------- */
.sw-hero .ts-h1 h1 span{color:var(--red)}
.sw-hero-photo{background-image:none!important;overflow:hidden}
.sw-hero-photo .sw-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center;z-index:0}
.sw-hero-photo::before{z-index:1}
.sw-hero-photo .pls-slider{z-index:2}
.sw-captions{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0;padding:20px 0 0;list-style:none}
.sw-captions li{display:flex;align-items:center;gap:10px;font-family:var(--font-cond);font-size:18px;font-weight:500;color:var(--black)}
.sw-captions .sw-ico{color:var(--red);width:22px;height:22px;flex:0 0 auto}
/* "Online Booking" list under the hero buttons: 2x2 grid, optional heading (admin field) */
.sw-nb{white-space:nowrap}
.sw-cap-head{font-family:var(--font-cond);font-size:20px;font-weight:500;letter-spacing:-.5px;color:var(--black);padding-top:4px}
.sw-captions-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding-top:20px}
.sw-cap-head + .sw-captions-grid{padding-top:14px}
.sw-captions-grid li{font-size:16px;line-height:132%;align-items:flex-start;gap:12px}
.sw-captions-grid .sw-ico{margin-top:1px}
/* white card on the hero photo: heading above the list */
.header-right .local-time,.header-right .local-time .mm-black-local{font-weight:400}  /* top line next to the location button (desktop): regular weight */
.ts-plashka-head{font-family:var(--font-cond);font-size:20px;font-weight:500;letter-spacing:-.5px;color:var(--black);padding:4px 0 6px}
/* service card titles are links inside the h3: keep the design's weight */
.item-service-price h3 a{font-weight:inherit;letter-spacing:inherit}
/* price line: one line when the card is wide enough, otherwise the second price drops to its own line */
.sw-services .item-service-price{flex:1 1 0;min-width:0;container-type:inline-size}
.sw-fee .sw-fee-a,.sw-fee .sw-fee-b{display:block;opacity:1;white-space:nowrap}
@media (min-width:980px){.sw-services .service-header{min-height:114px;box-sizing:border-box}} /* the card with two prices has one more line: keep the lists aligned across a row */
@container (min-width: 230px){
  .sw-fee .sw-fee-a,.sw-fee .sw-fee-b{display:inline}
  .sw-fee .sw-fee-a + .sw-fee-b::before{content:" \00b7  "}
}
.sw-hero-zip .flex{display:flex;align-items:center}
.sw-browse{display:inline-block;color:var(--dark-blue-secondary);font-size:15px;text-decoration:underline}
.sw-hero-local .header-local-top{margin-bottom:28px}

.ts-plashka ul li{align-items:center}
.ts-plashka ul li > img{flex:0 0 auto}

/* ---------- ZIP form ---------- */
.sw-zip-form{display:flex;flex-direction:column;gap:8px;width:100%}
.sw-zip-label{font-size:14px;font-weight:500;color:var(--black)}
.sw-zip-row{display:flex;gap:10px}
.sw-zip-row input{flex:1 1 auto;min-width:0;height:48px;border:1px solid #d5dbe1;border-radius:30px;padding:0 20px;font:inherit;font-size:16px;color:var(--black);background:#fff}
.sw-zip-row button{flex:0 0 auto;height:48px;border:0;border-radius:30px;padding:0 26px;background:var(--black);color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}
.sw-zip-row button:hover{background:var(--red)}
.sw-zip-form.is-busy button{opacity:.6;pointer-events:none}
.sw-zip-row input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.sw-zip-form.is-invalid .sw-zip-row input{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.sw-zip-msg{min-height:0;font-size:14px;color:var(--red)}
.sw-zip-msg a{color:var(--red);font-weight:500}

/* ---------- services ---------- */
.sw-services .item-service-price h3{margin:0}
.sw-services .item-service-price h3 a{color:inherit;text-decoration:none}
.sw-services .item-service-price h3 a:hover{color:var(--red)}
.sw-services .item-service-price{display:flex;flex-direction:column;gap:4px}
.sw-types{font-size:14px;color:#4a5d6e}
.sw-fee{font-size:14px;font-weight:600;color:#b8301c}
.sw-services .service-content{display:block}
.sw-services .service-content ul{margin:0;padding:0;list-style:none}
.sw-services .item-service-ico{flex:0 0 auto}
.sw-notes{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.sw-notes li{font-size:16px;line-height:150%;color:var(--dark-blue-secondary);padding-left:18px;position:relative}
.sw-notes li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--red)}
.sw-notes a{color:#b8301c;font-weight:500;text-decoration:underline}
/* phones: one compact row per appliance, as in the original mobile version (icon, name, fee, arrow; the whole row is the link) */
@media only screen and (max-width:480px){
  .sw-services .service-item{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--light-grey)}
  .sw-services .service-item:last-child{border-bottom:0}
  .sw-services .service-header{flex:1 1 auto;min-width:0;border-bottom:0;padding:20px 0 20px 24px}
  .sw-services .service-content,.sw-services .sw-types{display:none}
  .sw-services .sw-fee{font-size:16px;font-weight:400;color:var(--black);opacity:.5}
  .sw-services .service-footer{flex:0 0 auto;padding:0 14px 0 8px}
  .sw-services .service-footer > a{position:static;padding:0;border:0}
  .sw-services .service-footer > a::after{content:"";position:absolute;inset:0}
  .sw-services .service-footer > a > span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .sw-services .service-item:active{opacity:.4;transition:opacity .4s}
}

/* ---------- process / why ---------- */
ol.process-step{list-style:none;margin:0;padding:0}
h3.benefits-title{margin:0 0 8px}
.benefits-desc{font-size:16px;line-height:140%}
.sw-team{align-items:center;gap:32px}
.sw-team .ben-f-text{font-size:20px;line-height:150%}
.sw-team-right{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:24px}
.sw-team-faces{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.sw-team-faces li{display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-cond);font-size:16px;font-weight:500;color:var(--black)}
.sw-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.sw-avatar-initials{display:flex;align-items:center;justify-content:center;background:var(--light-grey);border:1px solid var(--blue);color:var(--black);font-family:var(--font-cond);font-size:24px;font-weight:500}
.sw-team-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;height:40px;min-width:180px;padding:0 20px;border-radius:30px;border:1px solid var(--red);background:none;color:var(--red);font:500 16px/1.15 var(--font-flex);cursor:pointer;white-space:nowrap;transition:all .3s}
.sw-team-btn:hover{background:#F13B2377}
.sw-team-right .separate{flex:0 0 1px}
.sw-owner{margin-top:8px}
blockquote.ben-f-text{margin:0;quotes:none}
.sw-about-btn{padding:0}
.sw-about-btn > a{width:auto;min-width:180px;white-space:nowrap;text-decoration:none}
.sw-owner .benf-img > img{object-fit:cover;object-position:50% 14%}
/* ---------- Legal pages (Terms and Conditions, Privacy Policy): the owner's documents, <article class="legal"> ---------- */
.sw-legal{padding:0 0 24px}
.legal{--ink:#0C273C;--ink-2:#3d5466;--line:#dfe5ea;--soft:#f5f7f9;--accent:#F13B23;padding:0 0 48px;color:var(--ink);font:400 17px/1.6 "Roboto Flex",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.legal *{box-sizing:border-box}
.legal h2,.legal h3{font-family:"Roboto Condensed","Roboto Flex",system-ui,sans-serif;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.legal h2{font-size:26px;margin:48px 0 14px;padding-top:8px;scroll-margin-top:96px}
.legal h3{font-size:19px;margin:26px 0 8px;scroll-margin-top:96px}
.legal p{margin:0 0 14px}
.legal ul,.legal ol{margin:0 0 16px;padding-left:24px}
.legal ul{list-style:disc outside}
.legal ol{list-style:decimal outside}
.legal ol[type="a"]{list-style:lower-alpha outside}
.legal li{display:list-item;margin:0 0 8px;padding:0;line-height:inherit;font-size:inherit}
.legal li::before,.legal li::after{content:none}
.legal a{color:var(--accent);text-underline-offset:2px;overflow-wrap:anywhere}
.legal strong{font-weight:600}
.legal .meta{color:var(--ink-2);font-size:15px;margin:0 0 28px}
.legal .box{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin:0 0 22px}
.legal .box.alert{border-left:4px solid var(--accent)}
.legal .box h2{margin:0 0 10px;font-size:20px;padding:0}
.legal .box ul{margin-bottom:0}
.legal .box p:last-child{margin-bottom:0}
.legal .caps{text-transform:uppercase;font-size:15px;letter-spacing:.01em}
.legal nav.toc ol{columns:2;column-gap:32px;padding-left:22px;font-size:15px}
.legal nav.toc li{break-inside:avoid;margin-bottom:6px}
.legal .tbl{width:100%;overflow-x:auto;margin:0 0 20px}
.legal table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45}
.legal th,.legal td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:var(--soft);font-weight:600}
.legal .addr{font-style:normal}
.legal .end{margin-top:56px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-2);font-size:15px}
@media (max-width:640px){.legal{font-size:16px}.legal h2{font-size:22px}.legal nav.toc ol{columns:1}.legal table{min-width:560px}}
/* ---------- About: built on the homepage sections (grey / white backgrounds, f-width-block, section head) ---------- */
.sw-ab-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.sw-ab-split.single{grid-template-columns:minmax(0,1fr)}
.sw-ab-split-head{position:sticky;top:120px}
.sw-ab-split-head .header-section-left{margin-bottom:0}
.sw-ab-facts{margin:0;background:#fff;padding:8px 40px;box-sizing:border-box}
.sw-ab-fact{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:24px;padding:22px 0;border-top:1px solid rgba(24,38,58,.12)}
.sw-ab-fact:first-child{border-top:0}
.sw-ab-fact dt{margin:0;padding-top:4px;font-size:14px;line-height:132%;font-weight:500;color:var(--dark-blue-secondary);opacity:.6;text-transform:uppercase;letter-spacing:.02em}
.sw-ab-fact dd{margin:0;font-size:18px;line-height:140%;font-weight:500;color:var(--black)}
.sw-ab-fact dd a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.sw-ab-owner{display:grid;grid-template-columns:minmax(260px,440px) minmax(0,1fr);gap:80px;align-items:center}
.sw-ab-owner.no-img{grid-template-columns:minmax(0,1fr)}
.sw-ab-owner-img img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:24px}
.sw-ab-text p{margin:0 0 20px;font-size:18px;line-height:150%;font-weight:400;color:var(--black);opacity:.8}
.sw-ab-text p:last-child{margin-bottom:0}
.sw-ab-text .sw-ab-note,.sw-ab-note{font-size:14px;opacity:.6}
.sw-ab-owner-name{margin-top:32px}
.sw-ab-block{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.sw-ab-block + .sw-ab-block{margin-top:80px}
.sw-ab-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}
.sw-ab-two > .sw-ab-col:only-child{grid-column:1 / -1}
.sw-ab-contacts{margin:0 0 24px}
.sw-ab-contacts > div{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid rgba(24,38,58,.12)}
.sw-ab-contacts > div:last-child{border-bottom:1px solid rgba(24,38,58,.12)}
.sw-ab-contacts dt{font-size:16px;font-weight:500;color:var(--dark-blue-secondary);opacity:.7}
.sw-ab-contacts dd{margin:0;font-size:18px;line-height:140%;font-weight:500;color:var(--black)}
.sw-ab-contacts a{color:var(--red);text-decoration:none}
.sw-ab-contacts a:hover{text-decoration:underline}
.sw-ab-text a{color:var(--red)}
.sw-ab-text .sw-verify-title{margin:0 0 10px;font-size:14px;line-height:132%;font-weight:500;text-transform:uppercase;letter-spacing:.02em;color:var(--dark-blue-secondary);opacity:.6}
.sw-ab-text .sw-verify-links + .sw-verify-title{margin-top:28px}
.sw-verify-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 12px}
.sw-verify-links li{margin:0;padding:0}
.sw-verify-links a{display:inline-block;padding:8px 16px;border:1px solid var(--dark-blue-secondary);border-radius:999px;text-decoration:none;font-weight:600;color:var(--dark-blue-secondary)}
.sw-verify-links a:hover{background:var(--dark-blue-secondary);color:#fff}
@media only screen and (max-width:979px){
  .sw-ab-split{grid-template-columns:minmax(0,1fr);gap:40px}
  .sw-ab-split-head{position:static}
  .sw-ab-facts{padding:8px 32px}
  .sw-ab-owner,.sw-ab-block{grid-template-columns:minmax(0,1fr);gap:40px}
  .sw-ab-two{grid-template-columns:minmax(0,1fr);gap:64px}
  .sw-ab-owner-img{max-width:360px}
  .sw-ab-block + .sw-ab-block{margin-top:56px}
}
@media only screen and (max-width:640px){
  .sw-ab-facts{padding:4px 20px}
  .sw-ab-fact{grid-template-columns:minmax(0,1fr);gap:6px;padding:18px 0}
  .sw-ab-fact dt{padding-top:0}
  .sw-ab-contacts > div{grid-template-columns:minmax(0,1fr);gap:4px}
}

/* ---------- brands ---------- */
/* the whole cell is the link; the brand name stays in the HTML for search engines and shows on hover */
.sw-brand{text-decoration:none;transition:border-color .2s;cursor:pointer}
.sw-brand img,.service-brand img{width:auto;height:auto;object-fit:contain}
/* logos are taken out of the flow: the tile size (grid track, row height) can never depend on when an image loads or how big it is by itself.
   Fixes the rare 'logos twice as big after Back' glitch, which only a window resize cured */
.brand,.service-brand{min-width:0;overflow:hidden}
.brand > img,.service-brand > img{position:absolute;inset:0;margin:auto;display:block}
.sw-brand:hover,.sw-brand:focus-visible{border-color:var(--red)}
.sw-brand-name{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-size:13px;line-height:1.2;color:var(--dark-blue-secondary);font-weight:500;opacity:0;transition:opacity .2s;pointer-events:none}
.sw-brand:hover .sw-brand-name,.sw-brand:focus-visible .sw-brand-name{opacity:1}
.sw-brands-after{margin-top:32px;max-width:880px}
.sw-brands-after p{font-size:16px;line-height:150%;color:var(--dark-blue-secondary);margin:0 0 12px}
.sw-brands-after .sw-small{font-size:13px}

/* ---------- FAQ (<details>) ---------- */
.sw-faq{background:var(--light-grey)}
.sw-faq summary{list-style:none}
.sw-faq summary::-webkit-details-marker{display:none}
.sw-faq .faq-top-title{font-size:20px}
.sw-faq .faq-answer{max-height:none;overflow:visible;padding:0 24px 24px;font-size:16px;line-height:150%}
.sw-faq .faq-answer p{margin:0 0 10px}
.sw-faq[open] .faq-top-plus{background:var(--black)}
.sw-faq[open] .faq-top-plus > span{transform:rotate(180deg)}
.sw-faq[open] .faq-top-plus > span::after{opacity:0;transform:translate(-50%,-50%) scaleY(0)}
.sw-faq[open] .faq-top-plus > span::before{background:var(--blue)}
.sw-faq-section .faq-bg{padding-top:80px}

/* ---------- areas (home) ---------- */
.sw-areas{padding:96px 0;background:#fff}
.sw-area-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sw-area-card a{height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--light-grey);background:#fff;text-decoration:none;transition:border-color .2s}
.sw-area-card a:hover{border-color:var(--red)}
.sw-area-name{display:flex;align-items:center;gap:8px;font-family:var(--font-cond);font-size:26px;font-weight:500;color:var(--black);letter-spacing:-1px}
.sw-area-name .sw-ico{color:var(--red)}
.sw-area-towns{font-size:15px;color:var(--dark-blue-secondary)}
.sw-area-phone{font-size:15px;font-weight:600;color:#b8301c}
/* homepage "Where We Work" on the dark background: white title, --blue text, outlined cards, red-secondary accents (the dark-block tokens of the design) */
.sw-areas-dark{background:var(--black)}
.sw-areas-dark .header-section-left > span{color:var(--blue);opacity:1}
.sw-areas-dark .sw-area-card a{background:transparent;border-color:var(--red);transition:border-color .2s,background .2s}
.sw-areas-dark .sw-area-card a:hover{background:var(--dark-blue-secondary);border-color:var(--red-secondary)}
.sw-areas-dark .sw-area-card a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sw-areas-dark .sw-area-name{color:#fff}
.sw-areas-dark .sw-area-name .sw-ico{color:var(--red-secondary)}
.sw-areas-dark .sw-area-towns{color:var(--blue)}
.sw-areas-dark .sw-area-phone{color:#fff}

/* ---------- ask (original "quick answers" block + popup) ---------- */
.sw-ask .input-wrap input{font-size:16px}
.sw-ask .input-wrap.is-invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(240,68,35,.35)}
.sw-ask .ai-right-side button{transition:background .2s}
.sw-ask .ai-right-side button:hover{background:#fff}
.ai-faq > button{padding:0 20px;cursor:pointer;color:var(--light-grey);border:1px solid var(--light-blue);border-radius:30px;opacity:.76;font:inherit;font-size:16px;line-height:132%;font-weight:400;height:48px;display:flex;align-items:center;box-sizing:border-box;background:none;transition:opacity .2s,border-color .2s}
.ai-faq > button:hover{opacity:1;border-color:var(--blue)}
.sw-ask-modal{width:min(440px,calc(100vw - 32px));padding:56px 24px 28px;display:flex;flex-direction:column;gap:28px}
.sw-ask-modal .zm-top{position:absolute;top:10px;right:10px}
.sw-ask-modal .zm-title,.sw-ask-modal .zm-desc{margin:0}
.sw-ask-modal .ask-bottom{padding:0}
.sw-ask-modal .ask-bottom > form{gap:12px}
.sw-ask-modal .zip-modal-input > input{font-size:16px}
.zip-modal-input > input.is-invalid{border-color:var(--red);box-shadow:0 0 0 3px rgba(255,0,0,.08)}
.sw-ask-modal .zip-modal-btn{margin-top:8px}
.sw-ask-modal .sw-note,.sw-ask-modal .sw-form-msg{text-align:center;margin:0}
.sw-ask-form.is-sent .zip-modal-input,.sw-ask-form.is-sent .zip-modal-btn,.sw-ask-form.is-sent .sw-note{display:none}
.sw-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--black)}
.sw-field input,.sw-field textarea{width:100%;box-sizing:border-box;border:1px solid #d5dbe1;background:#fff;font:inherit;font-size:16px;color:var(--black);padding:14px 16px;border-radius:6px}
.sw-field.is-invalid input,.sw-field.is-invalid textarea{border-color:var(--red)}
.sw-ask-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.sw-ask-submit .black-btn{width:auto;border:0;cursor:pointer;font:inherit;font-size:16px;padding:14px 28px}
.sw-form-msg{font-size:16px;font-weight:500}
.sw-form-msg.is-ok{color:#1d7a3a}
.sw-form-msg.is-err{color:var(--red)}
.sw-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.sw-careers{padding:24px 0 96px}
.sw-apply-form{display:flex;flex-direction:column;gap:12px;background:var(--light-grey);padding:32px}

.sw-chips{display:flex;flex-wrap:wrap;gap:8px}
.sw-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--blue);border-radius:30px;padding:8px 14px;font-size:14px;color:var(--black);background:#fff;text-decoration:none;transition:all .2s}
.sw-chip:hover,.sw-chip.is-active{border-color:var(--red);color:var(--red)}
.sw-chip span{opacity:.6}

/* ---------- book (original "Do you want diagnostics?" block) ---------- */
.sw-book .header-section-left > span{max-width:880px}
/* "A or B" rows (hero buttons, booking block): equal lines on both sides of "or", and "or" always in the middle of the gap between the two items.
   Wide container: one row. Narrow container: stacked, full width. */
.mob-top-sep{gap:14px}
.mob-top-sep > span{flex:1 1 0;width:auto;min-width:12px}
.mob-top-sep > div{flex:0 0 auto}
.sw-hero-local .header-local-left > .wd100{container-type:inline-size}
.sw-hero-local .main-cta-local{flex-direction:column;align-items:stretch;gap:16px}
.sw-hero-local .main-cta-local .wflex{flex:none}
.sw-hero-local .main-cta-local .line{width:100%;min-width:0}
.sw-book-cta{container-type:inline-size}
.sw-book .want-d-flex{flex-direction:column;align-items:stretch;gap:20px}
.sw-book .want-d-flex > div{width:auto;flex:none}
.sw-book .wfright > a{width:100%}
@media (min-width:980px){
  @container (min-width:560px){
    .sw-hero-local .main-cta-local{flex-direction:row;align-items:center;gap:16px}
    .sw-hero-local .main-cta-local .wflex{flex:1 1 auto}
    .sw-hero-local .main-cta-local .line{flex:0 1 88px;width:auto;min-width:64px}
    .sw-hero-local .main-cta-local a{white-space:nowrap}
  }
}
@container (min-width:780px){
  .sw-book .want-d-flex{flex-direction:row;align-items:center;gap:32px}
  .sw-book .want-d-flex > .wfleft,.sw-book .want-d-flex > .wfright{flex:0 0 auto}
  .sw-book .want-d-flex > .wfcenter{flex:1 1 0;min-width:0}
  .sw-book .wfright > a{width:300px}
}
.sw-book .red-phone-txt{text-decoration:none}

/* ---------- reviews (dark block: quote + arrows on the left, cards on the right) ---------- */
.sw-reviews{overflow:hidden}
.sw-badges{display:flex;flex-wrap:wrap;gap:12px}
.sw-badges .review-label{text-decoration:none;height:48px;padding:0 20px;border-color:var(--dark-blue-secondary)}
.review-label .ico{display:flex;align-items:center}
.review-label .ico img{display:block}
.review-label .txt{margin:0;font-family:var(--font-flex)}
.sw-rev-sub{color:#fff}
.sw-review-bg .rev-content{min-width:0}
.sw-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.sw-track::-webkit-scrollbar{display:none}
.sw-track > *{flex:0 0 auto;scroll-snap-align:start;width:468px;max-width:86vw}
.sw-track:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.sw-review.rev-slide{min-height:238px;justify-content:flex-start}
.sw-review .rev-slide-top{gap:16px;margin-bottom:40px}
.sw-review .rev-name-ico{flex:0 0 32px;align-items:center;justify-content:center}
.sw-review-meta{font-size:13px;color:var(--blue);opacity:.9;margin-top:2px}
.sw-review .rev-name-txt,.sw-review .sw-review-meta{margin-left:0}
.sw-review .rev-name-txt{font-size:20px}
.sw-review .rev-stars{gap:4px}
.sw-review .star{width:24px;height:24px;margin:0}
.reviews-dots{display:flex;gap:12px;align-items:center}
.reviews-dots i{display:block;width:8px;height:8px;border-radius:50%;background:var(--blue);opacity:.5}
.reviews-dots i.on{background:var(--light-grey);opacity:1}
.sw-reviews .rnavico{display:flex;align-items:center;justify-content:center;padding:0;transition:opacity .2s,background .2s}
.sw-reviews .rnavico:hover:not(:disabled){background:var(--dark-blue-secondary)}
.sw-reviews .rnavico:disabled{opacity:.5;cursor:default}
.sw-reviews-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:32px}
.sw-reviews .sw-link{color:var(--blue)}
.sw-masonry{columns:3 320px;column-gap:24px;margin-top:32px}
.sw-masonry > *{break-inside:avoid;margin-bottom:24px}
.sw-reviews-page{padding:24px 0 64px}
.review-card .sw-review-meta{color:var(--dark-blue-secondary)}
@media only screen and (min-width:980px){
  .sw-review-bg .rev-content{margin-right:-24px}
  .sw-track{padding-right:24px}
}
@media only screen and (min-width:1351px){
  .sw-review-bg .rev-content{margin-right:-80px}
  .sw-track{padding-right:80px}
}
@media only screen and (max-width:979px){
  .sw-review-bg .rev-content{margin-right:-24px}
  .sw-track{padding-right:24px}
  .sw-track > *{width:350px}
  .sw-reviews .review-labels{width:100%}
  .sw-reviews .review-label{width:max-content;max-width:100%}
}

/* ---------- customer portal ---------- */
/* sits inside .f-width-block like every other section: the picture starts and the text ends exactly on the content edges (80px desktop / 24px small) */
.sw-portal{background:#fff;padding:80px 0 0}
.sw-portal .app-block{max-width:none}
.sw-portal .appb-left{background-position:center;background-size:cover;background-repeat:no-repeat;background-color:var(--black)}
.sw-portal .appb-right{padding:64px 0 64px 64px}
.sw-portal .app-title{margin:0}
.sw-portal .app-desc{margin:0}
.sw-portal .app-bottom-btn > a{border-radius:999px;transition:background .2s}
.sw-portal .app-bottom-btn > a:hover{background:var(--dark-blue-secondary)}
.sw-portal .app-ul ul{list-style:none;margin:0;padding:0}
@media only screen and (min-width:980px) and (max-width:1199px){
  .sw-portal .appb-right{padding:40px 0 40px 40px}
  .sw-portal .app-title{font-size:44px}
}
@media only screen and (max-width:979px){
  .sw-portal{padding-top:56px}
  .sw-portal .app-block{padding-bottom:0}
  .sw-portal .appb-left{min-height:340px}
  .sw-portal .appb-right{padding:40px 0 0}
}

/* ---------- area + map: full-width custom Google map with the white info card on top (as in the original design) ---------- */
.sw-gmap{position:relative;background:#f2f2f2}
.sw-gmap-wrap{position:relative;z-index:2;padding-top:112px;padding-bottom:112px;pointer-events:none}
.sw-gmap-card{pointer-events:auto;box-sizing:border-box;width:clamp(520px,50%,640px);background:#fff;padding:56px 48px;display:flex;flex-direction:column;gap:28px}
.sw-gmap-card .header-section-left{gap:20px}
.sw-gmap-card .header-section-left > h2{font-size:44px}
.sw-gmap-card > p{font-size:17px;line-height:155%;color:var(--black);margin:0}
.sw-gmap-bg{position:absolute;inset:0;z-index:1;overflow:hidden}
.sw-map{position:absolute;inset:0;width:100%;height:100%;background:#f2f2f2}
.sw-gmap-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sw-map-tip{position:absolute;z-index:3;left:0;top:0;pointer-events:none;opacity:0;transition:opacity .12s;background:var(--black);color:#fff;padding:9px 14px;font-family:var(--font-cond);font-size:16px;line-height:1.1;white-space:nowrap;display:flex;gap:10px;align-items:baseline;box-shadow:0 4px 14px rgba(12,39,60,.25)}
.sw-map-tip.on{opacity:1}
.sw-map-tip b{font-weight:500;letter-spacing:.2px}
.sw-map-tip span{color:var(--blue);font-size:14px}
.sw-pin-tip{position:absolute;z-index:4;left:0;top:0;width:max-content;max-width:min(340px,calc(100% - 16px));box-sizing:border-box;pointer-events:none;opacity:0;transition:opacity .12s;background:var(--black);color:#fff;padding:12px 16px 13px;display:flex;flex-direction:column;gap:3px;box-shadow:0 4px 14px rgba(12,39,60,.25)}
.sw-pin-tip.on{opacity:1}
.sw-pin-tip::after{content:"";position:absolute;left:var(--ax,50%);bottom:-6px;width:12px;height:12px;margin-left:-6px;background:var(--black);transform:rotate(45deg)}
.sw-pin-tip.below::after{bottom:auto;top:-6px}
.sw-pin-tip b{font-family:var(--font-cond);font-weight:500;font-size:17px;line-height:1.15;letter-spacing:.2px}
.sw-pin-tip span{font-size:15px;line-height:1.3}
.sw-pin-tip small{font-size:13px;line-height:1.3;color:var(--blue)}
.sw-gmap-towns .sw-h3{margin-bottom:14px}
.sw-towns{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.sw-towns li{background:var(--light-grey);padding:6px 12px;font-size:15px;color:var(--black);transition:background .15s}
.sw-towns li:hover{background:#ffe3dd}
.sw-towns a{color:var(--red)}
.sw-zips{border:1px solid var(--light-grey);padding:12px 16px}
.sw-zips summary{cursor:pointer;font-weight:500;color:var(--black)}
.sw-zip-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 2px;padding:0}
.sw-zip-list li{padding:4px 9px;font-size:14px;line-height:1.3;color:var(--dark-blue-secondary);border:1px solid var(--light-grey);cursor:default;transition:border-color .15s,background .15s}
.sw-zip-list li:hover{border-color:var(--red);background:#fff3f0;color:var(--black)}
/* no map (off, no key or no data): the card turns into a plain text block */
.sw-gmap-off{background:#fff}
.sw-gmap-off .sw-gmap-wrap{padding-top:96px;padding-bottom:96px}
.sw-gmap-off .sw-gmap-card{width:100%;max-width:760px;padding:0}

/* ---------- local strip + footer ---------- */
.sw-local-strip{background:var(--dark-blue-secondary);color:#fff;font-size:15px}
.sw-local-strip .f-width-block{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;padding-top:14px;padding-bottom:14px}
.sw-local-strip a{color:#fff;text-decoration:none}
.sw-local-strip a:hover{color:var(--blue)}
.sw-foot-bottom{border-top:1px solid rgba(171,206,225,.2);margin-top:40px;padding:24px 0;display:flex;flex-direction:column;gap:8px;color:var(--blue);font-size:14px}
.sw-foot-bottom a{color:#fff;text-decoration:underline}
.sw-foot-disclaimer{opacity:.75;font-size:13px}
.foot-con-line small{color:var(--blue);font-size:13px;opacity:.8;padding-top:4px}
.foot-con-line a{color:#fff;text-decoration:none}
.foot-con-line > a{color:var(--blue)}

/* ---------- modals ---------- */
.sw-backdrop{position:fixed;inset:0;background:rgba(12,39,60,.6);z-index:900}
.sw-modal{--mp:28px;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:901;background:#fff;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:var(--mp);box-sizing:border-box;box-shadow:0 20px 60px rgba(0,0,0,.25)}
/* title + close button stay in view while the content scrolls (phones: the close button must always be reachable) */
.sw-modal-top{position:sticky;top:calc(var(--mp) * -1);z-index:3;background:#fff;margin:calc(var(--mp) * -1) calc(var(--mp) * -1) 12px;padding:var(--mp) var(--mp) 12px}
.sw-modal[hidden],.sw-backdrop[hidden]{display:none}
.sw-modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.sw-modal-top h2{font-family:var(--font-cond);font-size:30px;font-weight:500;letter-spacing:-1px;color:var(--black);margin:0}
.sw-close{border:0;padding:4px;line-height:0}
.sw-modal-desc{font-size:16px;color:var(--dark-blue-secondary);margin:0 0 20px}
.sw-areas-list{list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--light-grey);display:flex;flex-direction:column;gap:8px}
.sw-areas-list a{color:var(--black);font-family:var(--font-cond);font-size:20px;font-weight:500;text-decoration:none}
.sw-areas-list a:hover{color:var(--red)}
.team-modal{width:min(680px,calc(100vw - 32px))}
.sw-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.sw-person{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid var(--light-grey);padding-bottom:20px}
.sw-person h3{font-family:var(--font-cond);font-size:22px;font-weight:500;margin:0 0 6px;color:var(--black)}
.sw-person h3 span{font-weight:400;color:var(--dark-blue-secondary);font-size:17px}
.sw-person p{margin:0 0 6px;font-size:15px;line-height:150%;color:var(--black)}
.sw-person .sw-avatar{width:80px;height:80px}
.sw-person-badges{display:flex;align-items:center;gap:6px;color:#1d7a3a!important;font-weight:500}
html.scroll-locked{overflow:hidden}

/* ---------- inner pages ---------- */
.sw-page-head{padding:32px 0 8px}
.sw-page-head h1 span{color:var(--red)}
.sw-types-line{font-size:18px;color:var(--dark-blue-secondary);margin:0}
.sw-page-photo img{width:100%;height:auto;display:block}
.sw-content{padding:32px 0}
.sw-content.sw-wide{padding-top:0}
.service-txt-block h2 span{color:var(--red)}
.sw-check-list{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}
.sw-check-list li{position:relative;padding:10px 0 10px 28px;font-size:16px;border-bottom:1px solid var(--light-grey)}
.sw-check-list li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:18px;height:18px;background:url("../image/checkmark.svg") no-repeat center}
.sw-symptoms-block,.sw-brand-services{padding:48px 0}
.sw-link-grid{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 24px}
.sw-link-grid a{display:block;padding:10px 0;border-bottom:1px solid var(--light-grey);color:var(--black);text-decoration:none;font-size:16px}
.sw-link-grid a:hover{color:var(--red)}
.sw-brand-logo img{max-width:200px;height:auto}
.sw-brands-index{display:flex;flex-direction:column;gap:12px}
.sw-brand-mini{max-height:40px;width:auto;margin-bottom:8px}
.sw-brands-index h2 a{color:inherit;text-decoration:none}
.sw-inline-cta{margin-top:16px;max-width:640px}
.sw-fee-line{display:flex;align-items:center;gap:8px;font-weight:600;color:#b8301c;font-size:16px;margin:12px 0 0}
.sw-avail{padding:24px 0}
.sw-avail-in{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:var(--light-grey);padding:24px;align-items:start}
.sw-avail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sw-avail-list li{display:flex;justify-content:space-between;gap:12px;font-size:16px}
.sw-avail-list a{display:inline-flex;align-items:center;gap:6px;color:var(--black);font-weight:500;text-decoration:none}
.sw-avail-list a:hover{color:var(--red)}
.sw-avail-list span{color:#b8301c;font-weight:600}
.sw-cta-zip{padding:64px 0;background:var(--black)}
.sw-cta-zip-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.sw-cta-zip .sw-h2,.sw-cta-zip h2{font-family:var(--font-cond);font-size:40px;font-weight:500;letter-spacing:-1px;color:#fff;margin:0 0 12px}
.sw-cta-zip p{color:var(--blue);font-size:17px;margin:0}
.sw-cta-zip .sw-zip-label{color:#fff}
.sw-cta-zip .sw-zip-row button{background:var(--red)}
.sw-cta-zip .sw-zip-msg,.sw-cta-zip .sw-zip-msg a{color:#ffb4a8}
.sw-territory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;padding:24px 0 64px}
.sw-territory-card{border:1px solid var(--light-grey);padding:28px;display:flex;flex-direction:column;gap:14px}
.sw-territory-card h2 a{color:var(--black);text-decoration:none}
.sw-territory-card p{margin:0;font-size:15px;line-height:155%;color:var(--dark-blue-secondary)}
.sw-territory-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:15px}
.sw-territory-facts li{display:flex;align-items:center;gap:8px}
.sw-territory-facts .sw-ico{color:var(--red)}
.sw-territory-facts a{color:var(--black)}
.sw-territory-card .red-btn-border{align-self:flex-start}
.sw-territory-zip{background:var(--light-grey)}

/* portfolio */
.sw-filter{margin-top:20px}
.sw-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 24px;margin:20px 0 0}
.sw-facts dt{font-size:13px;color:var(--dark-blue-secondary);opacity:.8}
.sw-facts dd{margin:2px 0 0;font-size:16px;font-weight:500;color:var(--black)}
.sw-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:32px}
.sw-gallery-item:first-child{grid-column:1/-1}
.sw-gallery img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}
.sw-gallery-item:first-child img{aspect-ratio:16/9}
.sw-pagination{display:flex;gap:8px;margin:24px 0}
.sw-pagination a,.sw-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid var(--light-grey);color:var(--black);text-decoration:none}
.sw-pagination span{background:var(--black);color:#fff;border-color:var(--black)}

/* blog */
.sb-cat-list{list-style:none;margin:0;padding:0}
.sb-cat-list a{color:var(--black);text-decoration:none;display:block;padding:8px 0}
.sb-cat-list a[aria-current]{color:var(--red);font-weight:500}
.sidebar-title{margin:0}

/* ---------- responsive ---------- */
@media only screen and (max-width:979px){
  .sw-area-list{grid-template-columns:1fr;margin-top:32px}
  .sw-avail-in,.sw-cta-zip-in{grid-template-columns:1fr}
  .sw-gmap-wrap{padding-top:370px;padding-bottom:112px}
  .sw-gmap-bg{bottom:auto;height:370px}
  .sw-gmap-card{width:100%;padding:48px 24px;gap:32px}
  .sw-gmap-card .header-section-left > h2{font-size:36px}
  .sw-gmap-off .sw-gmap-wrap{padding-top:64px;padding-bottom:64px}
  .sw-gmap-off .sw-gmap-card{padding:0}
  .sw-team{flex-direction:column;align-items:flex-start}
  .sw-team-right{flex-wrap:wrap;justify-content:flex-start}
  .sw-team-right .separate{display:none}
  blockquote.ben-f-text{margin-bottom:40px}
  .sw-areas{padding:64px 0}
}
@media only screen and (max-width:480px){
  .sw-zip-row{flex-direction:column}
  .sw-zip-row button{width:100%}
  .sw-captions li{font-size:16px}
  .sw-check-list,.sw-grid2{grid-template-columns:1fr}
  .sw-track > *{width:85vw}
  .sw-modal{--mp:20px}
  .sw-modal-top h2{font-size:26px}
  .sw-person{gap:12px}
  .sw-person .sw-avatar{width:56px;height:56px;flex:0 0 56px}
  .sw-person h3{font-size:20px}
  .sw-person h3 span{display:block;margin-top:2px}
  .sw-cta-zip .sw-h2,.sw-cta-zip h2{font-size:30px}
  .sw-team-faces{gap:12px}
  .sw-team-right{flex-direction:column;align-items:stretch;width:100%}
  .sw-team-btn{width:100%;height:48px;margin-top:8px}
}
/* ---------- aligned with the Figma design (tokens, header, footer, small details) ---------- */
:root{--light-blue:#ABCEE1}
.header-section-left > span{font-family:var(--font-flex)}
.sw-reviews .header-section-left > span.review-labels{opacity:1;font-size:14px;margin-top:24px}
.cn-title{font-size:13px}
.cn-list a{font-family:var(--font-cond);font-size:13px}
.top-logo img{width:auto;height:44px;max-height:none;max-width:100%}
.foor-logo img{width:auto;height:44px;max-width:100%}
.foot-title{color:var(--red-secondary)}
.cur-soc-flex > a{margin-left:8px}
@media only screen and (min-width:980px){
  .benefits-bg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .benefits-bg > .benefits{min-width:0}
}
@media only screen and (min-width:980px){
  .header-right .local-time{white-space:nowrap}
}
@media only screen and (min-width:980px) and (max-width:1149px){
  .header-right .local-time{display:none}
}
@media only screen and (min-width:980px){
  .top-header{height:68px}
  .sw-book .red-phone-txt{font-size:52px;line-height:132%}
  .sw-book .local-time{font-size:20px;text-transform:uppercase;opacity:.8}
}
@media print{
  header,footer,.bg-zpt,.sw-local-strip,.sw-cta-zip,.sw-modal,.sw-backdrop{display:none!important}
}

/* reviews on light backgrounds (reviews page) */
.review-card .rev-name-txt{color:var(--black)}
.review-card .rev-slide-cont{color:var(--dark-blue-secondary);font-size:16px;line-height:145%}
.review-card .rev-slide-top{margin-bottom:16px}
.sw-reviews-page .review-label{border-color:#d5dbe1}
.sw-badges .review-label{transition:border-color .2s,background .2s}
.sw-badges .review-label:hover,.sw-badges .review-label:focus-visible{border-color:var(--light-blue);background:var(--dark-blue-secondary)}
.sw-badges .review-label:focus-visible{outline:2px solid var(--light-blue);outline-offset:2px}
.sw-reviews-page .review-label:hover,.sw-reviews-page .review-label:focus-visible{background:var(--light-grey);border-color:var(--blue)}
.sw-reviews-page .review-label .txt{color:var(--black)}
.sw-reviews-page .sw-center .red-btn{display:inline-flex;width:auto;padding:14px 32px;border:0;cursor:pointer;font:inherit;font-size:16px}
.sw-review .rev-name-txt{margin-left:0}
.sw-review .items-center{gap:12px}

/* readability: small labels and helper text (WCAG AA contrast) */
.header-section-left > div{opacity:.75}
.sw-browse{color:var(--black)}
.sw-zip-msg,.sw-zip-msg a{color:#b8301c}

/* hero photo: same gutter on the right as the text has on the left; the gutter is grey like the next block */
@media only screen and (min-width:980px){
  .sw-hero{background:linear-gradient(90deg,#fff 50%,#f1f0f0 50%)}
  .sw-hero .sw-hero-photo{right:24px}
}
@media only screen and (min-width:1351px){
  .sw-hero .sw-hero-photo{right:80px}
}
@media only screen and (min-width:1700px){
  .sw-hero .sw-hero-photo{right:calc((100vw - 1700px) / 2 + 80px)}
  .sw-hero .sw-hero-photo::after{display:none}
}
@media only screen and (min-width:980px){
  .sw-hero .header-main{background:transparent}
}

/* =====================================================================
   Blog + portfolio pages as drawn in the design (list, article, case)
   ===================================================================== */
:root{--dz-grey:#D9D9D9;--dz-line:#ABCEE1}

/* breadcrumbs: house icon, "/" dividers, 14px semibold (all pages) */
.sw-breadcrumbs ol{display:flex;flex-wrap:nowrap;align-items:center;list-style:none;margin:0 0 24px;padding:0;font:600 14px/18px "Manrope",var(--font-flex);letter-spacing:-.2px;color:#606977;overflow:hidden}
.sw-breadcrumbs li{display:flex;align-items:center;flex:0 0 auto;min-width:0}
.sw-breadcrumbs li+li::before{content:"/";display:block;width:20px;text-align:center;font-weight:400;color:var(--black);opacity:.5}
.sw-breadcrumbs a,.sw-breadcrumbs li[aria-current] span{display:block;padding:4px 6px;border-radius:6px;white-space:nowrap}
.sw-breadcrumbs a{color:#5b6573;opacity:1;text-decoration:none;font-weight:600;transition:opacity .15s,color .15s}
.sw-breadcrumbs a:hover{opacity:1;color:var(--red)}
.sw-breadcrumbs li[aria-current]{flex:0 1 auto}
.sw-breadcrumbs li[aria-current] span{overflow:hidden;text-overflow:ellipsis;color:#606977}
.sw-breadcrumbs .sw-bc-home a{display:flex;padding:0 6px 0 0;border-radius:0;opacity:.7}
.sw-breadcrumbs .sw-bc-home a:hover{opacity:1}
.sw-breadcrumbs .sw-bc-home svg{display:block;width:20px;height:20px;fill:var(--black)}
.sw-breadcrumbs .sw-bc-home a:hover svg{fill:var(--red)}

/* containers */
.dz-col{width:100%;max-width:944px;margin:0 auto;box-sizing:border-box}
.dz-h2,.dz-h3{font-family:var(--font-cond);font-weight:500;line-height:132%;letter-spacing:-.02em;color:var(--black);margin:0}
.dz-h2{font-size:52px}
.dz-h3{font-size:38px;margin-bottom:40px}
.dz-h2 span{color:var(--red)}
.dz-ico{display:block}

/* page header of the list pages */
.dz-head{padding:40px 0 80px}
.dz-head .sw-breadcrumbs ol{margin:0}
.dz-head-body{margin-top:64px;display:flex;flex-direction:column;gap:20px}
.dz-head h1{font:500 64px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:0}
.dz-head h1 span{color:var(--red)}
.dz-head-body > p{font-size:18px;line-height:132%;color:var(--black);opacity:.8;max-width:100%;margin:0}
.dz-head-narrow{padding:40px 0}
.dz-head-narrow .dz-head-body{gap:24px}
.dz-head-case h1{font-size:52px}
.dz-hero-info{display:flex;align-items:center;justify-content:space-between;gap:20px}

/* pills, tags, meta */
.dz-pill{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--red);color:#fff;font:500 14px/1 var(--font-flex);text-decoration:none;white-space:nowrap;box-sizing:border-box}
a.dz-pill:hover{background:#d9321c;color:#fff}
.dz-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.dz-tags a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--light-grey);color:var(--red);font:500 14px/1 var(--font-flex);text-decoration:none;white-space:nowrap}
.dz-tags a:hover,.dz-tagcloud a:hover{background:#e7e5e5}
.dz-tags-lg{margin-top:40px;gap:8px}
.dz-tags-lg a{height:36px;padding:0 12px}
.dz-meta{display:flex;align-items:center;gap:12px;font:500 14px/1 var(--font-flex);color:var(--dark-blue-secondary)}
.dz-dot{font-size:10px;opacity:.5}
.dz-noimg{display:block;width:100%;height:100%;background:var(--dz-grey)}

/* list layout: cards 954 + side column 302 */
.dz-list{padding:0 0 56px}
.dz-split{display:flex;align-items:flex-start;gap:24px}
.dz-main{flex:1 1 auto;min-width:0}
.dz-side{flex:0 0 302px;width:302px}
.dz-filter{margin:0 0 16px;font-size:16px;color:var(--dark-blue-secondary)}
.dz-filter b{color:var(--black);font-weight:600}
.dz-filter a{margin-left:8px;color:var(--red);font-weight:500}

/* blog card (wide) */
.dz-cards{display:flex;flex-direction:column;gap:12px}
.dz-card{display:flex;align-items:flex-start;gap:24px;padding:16px;box-shadow:inset 0 0 0 1px var(--light-grey);background:#fff;box-sizing:border-box}
.dz-card-img{flex:0 0 300px;width:300px;height:207px;display:block;overflow:hidden;background:var(--dz-grey)}
.dz-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.dz-card-body{flex:1 1 auto;min-width:0;min-height:207px;display:flex;flex-direction:column;gap:14px}
.dz-info{display:flex;align-items:center;gap:16px}
.dz-rt,.dz-rt-on{font:600 14px/1.5 var(--font-flex);color:var(--black)}
.dz-rt{display:none}
.dz-card-title h2,.dz-card-title h3{font:500 20px/100% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:0 0 8px}
.dz-card-title a{color:inherit;font:inherit;letter-spacing:inherit;text-decoration:none}
.dz-card-title a:hover{color:var(--red)}
.dz-card-title p{margin:0;font-size:14px;line-height:132%;color:var(--dark-blue-secondary);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.dz-card .dz-tags{max-height:32px;overflow:hidden}
.dz-card .dz-meta{margin-top:auto}

/* side column */
.dz-side-block + .dz-side-block{margin-top:40px}
.dz-side h2{font:500 20px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:0 0 20px}
.dz-cats{list-style:none;margin:0;padding:0}
.dz-cats a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:4px;color:var(--black);font:400 16px/21px var(--font-flex);text-decoration:none}
.dz-cats a span{flex:0 0 auto}
.dz-cats a:hover{background:var(--light-grey)}
.dz-cats a.is-on{background:var(--light-grey);border-radius:999px;font-weight:600}
.dz-tagcloud{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.dz-tagcloud a{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:999px;background:var(--light-grey);color:var(--red);font:500 14px/1 var(--font-flex);text-decoration:none}
.dz-tagcloud a.is-on{background:var(--red);color:#fff}

/* pagination */
.dz-pager{display:flex;align-items:center;gap:12px;margin-top:32px}
.dz-pg-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--dz-line);border-radius:50%;background:#fff;color:var(--black);flex:0 0 auto;box-sizing:border-box}
.dz-pg-arrow svg{width:20px;height:20px}
a.dz-pg-arrow:hover{background:var(--light-grey)}
.dz-pg-arrow.is-off{opacity:.4}
.dz-pg-nums{display:flex;gap:4px}
.dz-pg-num{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 6px;border-radius:999px;font:500 18px/1 var(--font-cond);color:var(--black);text-decoration:none;box-sizing:border-box}
a.dz-pg-num:hover{background:var(--light-grey)}
.dz-pg-num.is-on{background:var(--dz-line)}
.dz-pg-gap{min-width:24px}

/* call to action: photo + white card */
.dz-cta{position:relative;overflow:hidden;background:#fff;min-height:720px;display:flex;align-items:center}
.dz-cta-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:25% center}
.dz-cta .f-width-block{position:relative;z-index:1;padding-top:80px;padding-bottom:80px}
.dz-cta-card{width:640px;max-width:100%;box-sizing:border-box;background:#fff;padding:80px 52px;display:flex;flex-direction:column;align-items:flex-start}
.dz-cta-card h2,.dz-ctabox h2{font:500 52px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:0 0 24px}
.dz-cta-card h2 span,.dz-ctabox h2 span{color:var(--red)}
.dz-cta-card p,.dz-ctabox p{font-size:18px;line-height:132%;color:var(--black);opacity:.8;margin:0 0 32px}
.dz-btn{display:inline-flex;align-items:center;justify-content:center;min-width:308px;height:54px;padding:12px 24px;border:0;border-radius:999px;background:var(--red);color:var(--light-grey);font:400 18px/1 "Inter",var(--font-flex);text-decoration:none;cursor:pointer;box-sizing:border-box;transition:background .15s}
.dz-btn:hover{background:#d9321c;color:var(--light-grey)}
.dz-ctabox{padding:56px 0}
.dz-ctabox-in{background:var(--light-grey);padding:80px 52px;display:flex;flex-direction:column;align-items:center;text-align:center}
.dz-ctabox p{max-width:564px}
.dz-ctabox .dz-btn,.dz-ctabox p:last-child{margin-bottom:0}

/* SEO text under the call to action */
.dz-text{padding:112px 0}
.dz-text-in{max-width:1016px}
.dz-text .service-txt-block > section{margin:0 0 40px}
.dz-text .service-txt-block > section > h2{font-size:38px;line-height:132%;letter-spacing:-.02em;margin:0 0 32px}
.dz-text .service-txt-block > section > h2.dz-h2-first{font-size:52px;margin-bottom:40px}
.dz-text .service-txt-block > section > h3{font-size:28px;letter-spacing:-.02em;margin:0 0 20px}
.dz-text .service-txt-block > section > p,.dz-text .service-txt-block > section > ul > li{font-size:18px;line-height:132%;opacity:.8;font-weight:400;padding-bottom:20px;margin-bottom:0}
.dz-text .service-txt-block a{color:var(--red)}

/* article */
.dz-hero-wrap{padding-bottom:0}
.dz-hero-img{display:block;width:100%;height:auto;aspect-ratio:944/611;object-fit:cover;background:var(--dz-grey)}
.dz-art{padding:112px 0 56px}
.dz-article{color:var(--black)}
.dz-article h2{font:500 38px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:60px 0 32px}
.dz-article h3{font:500 28px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:40px 0 20px}
.dz-article h4{font:500 22px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:32px 0 16px}
.dz-article h2 span,.dz-article h3 span,.dz-article h4 span{color:inherit}
.dz-article > :first-child,.dz-article > section:first-child > :first-child{margin-top:0}
.dz-article > h2:first-child,.dz-article > section:first-child > h2:first-child{font-size:52px;margin-bottom:40px}
.dz-article p,.dz-article li{font-size:18px;line-height:132%;font-weight:400;color:var(--black)}
.dz-article p{margin:0 0 20px;opacity:.8}
.dz-article ul,.dz-article ol{margin:0 0 20px;padding:0 0 0 24px;opacity:.8}
.dz-article ul{list-style:disc}
.dz-article ol{list-style:decimal}
.dz-article li{margin:0 0 8px}
.dz-article strong,.dz-article b{font-weight:600;color:var(--black)}
.dz-article a{color:var(--red);text-decoration:underline;text-underline-offset:2px;font-weight:inherit}
.dz-article img{display:block;max-width:100%;height:auto;margin:24px 0}
.dz-article table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 20px}
.dz-article th,.dz-article td{border:1px solid var(--light-grey);padding:8px 12px;font-size:16px;text-align:left}
.dz-article blockquote{margin:0 0 20px;padding:4px 0 4px 20px;border-left:3px solid var(--dz-line);font-size:18px;line-height:132%;color:var(--dark-blue-secondary)}

/* related articles / completed repairs: carousel */
.dz-rel{padding:56px 0}
.dz-rel .dz-h2{margin-bottom:64px}
.dz-carousel{display:flex;flex-direction:column;gap:32px}
.dz-carousel .sw-track{gap:12px;padding:0}
.dz-carousel .sw-track > *{flex:0 0 calc((100% - 24px) / 3);width:auto;max-width:none}
.dz-arrows{display:flex;align-items:center;gap:20px}
.dz-arrow{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:1px solid var(--blue);border-radius:50%;background:var(--black);color:#fff;cursor:pointer;box-sizing:border-box;flex:0 0 auto}
.dz-arrow svg{width:20px;height:20px}
.dz-dots{display:flex;gap:12px}
.dz-dots i{display:block;width:8px;height:8px;border-radius:50%;background:var(--blue);opacity:.45}
.dz-dots i.on{opacity:1}
.dz-arrow:disabled{background:#fff;border-color:var(--blue);color:var(--black);opacity:.5;cursor:default}
.dz-tile{display:flex;flex-direction:column;gap:20px;padding:16px;border:1px solid var(--light-grey);background:#fff;box-sizing:border-box}
.dz-tile-img{display:block;height:200px;overflow:hidden;background:var(--dz-grey)}
.dz-tile-img img{display:block;width:100%;height:100%;object-fit:cover}
.dz-tile .dz-card-title p{-webkit-line-clamp:2}

/* portfolio cards */
.dz-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.dz-pcard{min-width:0}
.dz-pcard-in{display:flex;flex-direction:column;height:100%;padding:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--light-grey);color:var(--black);text-decoration:none;box-sizing:border-box;transition:box-shadow .2s}
.dz-pcard-in:hover{box-shadow:inset 0 0 0 1px var(--dz-line)}
.dz-pcard-img{position:relative;display:block;height:200px;overflow:hidden;background:var(--dz-grey)}
.dz-pcard-img img{display:block;width:100%;height:100%;object-fit:cover}
.dz-pcard-img .dz-pill{position:absolute;left:12px;top:12px}
.dz-pcard-body{display:flex;flex-direction:column;gap:12px;padding:20px 0 4px;flex:1 1 auto}
.dz-pcard h3{margin:0;height:32px;font:500 20px/32px var(--font-cond);letter-spacing:-.045em;color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dz-pcard-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.dz-loc{display:inline-flex;align-items:center;gap:7px;min-width:0;font:500 16px/1.32 var(--font-flex);color:var(--black)}
.dz-loc > span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dz-loc svg{display:block;width:24px;height:24px;flex:0 0 auto}
.dz-pinfo{display:inline-flex;flex:0 0 auto;align-items:center;gap:12px;white-space:nowrap;font:500 16px/1.32 var(--font-flex);color:var(--black)}
.dz-pinfo i{font-style:normal;font:500 14px/1 var(--font-flex);color:var(--blue);opacity:.5}
.dz-more{margin:32px 0 0}
.dz-carousel-cases .sw-track > *{display:flex}
.dz-carousel-cases .dz-pcard{display:flex;flex-direction:column}
.dz-carousel-cases .dz-pcard-in{width:100%}

/* case page */
.dz-facts{display:flex;margin:40px 0 0;padding:24px 0;background:var(--light-grey)}
.dz-fact{flex:1 1 0;min-width:0;padding:0 40px;box-sizing:border-box}
.dz-fact + .dz-fact{border-left:1px solid var(--dz-line)}
.dz-fact dt{font:500 20px/26px var(--font-cond);letter-spacing:-.02em;color:var(--black);margin:0 0 12px}
.dz-fact dd{margin:0;font:500 14px/18px var(--font-flex);color:var(--black);overflow-wrap:anywhere}
.dz-sec{padding:56px 0}
.dz-sec-first{padding-top:72px}
.dz-sec .dz-h2{margin-bottom:40px}
.dz-prose p,.dz-prose li,.dz-p{font-size:18px;line-height:132%;font-weight:400;color:var(--black)}
.dz-prose p,.dz-p{margin:0 0 20px;opacity:.8}
.dz-prose ul,.dz-prose ol{margin:0 0 20px;padding-left:24px;opacity:.8}
.dz-prose ul{list-style:disc}
.dz-prose ol{list-style:decimal}
.dz-prose li{margin-bottom:8px}
.dz-p a{color:var(--red)}
.dz-gal-sec{padding:56px 0}
.dz-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dz-gallery-item{display:block;aspect-ratio:460/299;overflow:hidden;background:var(--dz-grey)}
.dz-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
.dz-gallery-item:only-child{grid-column:1/-1;aspect-ratio:944/520}
.dz-gallery-item:last-child:nth-child(odd):not(:first-child){grid-column:1/-1;aspect-ratio:944/420}
.dz-issues{list-style:none;margin:0;padding:12px 0 20px;display:grid;grid-template-columns:1fr 1fr}
.dz-issues li{display:flex;align-items:center;gap:8px;min-height:40px;margin:0 24px;padding:5px 0;border-bottom:1px solid var(--light-grey);font:400 16px/1.32 var(--font-flex);color:var(--black)}
.dz-issues .dz-ico{width:24px;height:24px;flex:0 0 auto}
.dz-steps{list-style:none;margin:54px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dz-sec .dz-h2 + .dz-steps{margin-top:-40px}
.dz-steps li{display:flex;flex-direction:column;min-width:0}
.dz-step-n{display:block;font:500 64px/84px var(--font-cond);letter-spacing:-.02em;background:linear-gradient(180deg,#F13B23 0%,#fff 79.8%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;opacity:.5}
.dz-steps h3{position:relative;margin:-24px 0 16px;font:500 28px/132% var(--font-cond);letter-spacing:-.02em;color:var(--black)}
.dz-steps p{margin:0;font:400 16px/132% var(--font-flex);color:var(--dark-blue-secondary)}

/* mid sizes: the side column goes away (the design has none below the desktop) */
@media only screen and (max-width:1100px){
  .dz-col{padding:0 24px}
}
@media only screen and (max-width:979px){
  .dz-side{display:none}
  .dz-split{display:block}
  .dz-head{padding:24px 0 64px}
  .dz-head-narrow{padding:24px 0 40px}
  .dz-head h1{font-size:44px}
  .dz-head-narrow h1{font-size:36px}
  .dz-head-case h1{font-size:36px}
  .dz-h2,.dz-cta-card h2,.dz-ctabox h2{font-size:36px}
  .dz-h3{font-size:28px;margin-bottom:32px}
  .dz-list{padding-bottom:40px}
  .dz-cta{min-height:720px}
  .dz-cta-img{object-position:66% center}
  .dz-cta .f-width-block{padding-top:80px;padding-bottom:80px}
  .dz-cta-card{width:100%;padding:80px 24px}
  .dz-btn{min-width:0;width:100%}
  .dz-ctabox-in{padding:80px 24px}
  .dz-text{padding:88px 0}
  .dz-text .service-txt-block > section > h2{font-size:28px;margin-bottom:24px}
  .dz-text .service-txt-block > section > h2.dz-h2-first{font-size:36px}
  .dz-text .service-txt-block > section > h3{font-size:22px}
  .dz-art{padding:88px 0 40px}
  .dz-article h2{font-size:28px;margin:48px 0 24px}
  .dz-article h3{font-size:22px;margin:32px 0 16px}
  .dz-article > h2:first-child,.dz-article > section:first-child > h2:first-child{font-size:28px;margin-bottom:24px}
  .dz-rel .dz-h2{margin-bottom:40px}
  .dz-carousel .sw-track > *{flex:0 0 327px;max-width:86vw}
  .dz-few .dz-arrows{display:flex}
  .dz-arrows{justify-content:space-between}
  .dz-facts{display:grid;grid-template-columns:1fr 1fr;padding:0}
  .dz-fact{padding:20px 24px}
  .dz-fact + .dz-fact{border-left:0}
  .dz-fact:nth-child(even){border-left:1px solid var(--dz-line)}
  .dz-fact:nth-child(n+3){border-top:1px solid var(--dz-line)}
  .dz-sec-first{padding-top:56px}
  .dz-issues{grid-template-columns:1fr}
  .dz-issues li{margin:0}
  .dz-steps{grid-template-columns:1fr;gap:16px}
  .dz-steps h3{font-size:22px;margin-top:-24px}
  .dz-step-n{font-size:44px;line-height:58px}
  .dz-gallery{grid-template-columns:1fr}
  .dz-gallery-item,.dz-gallery-item:last-child:nth-child(odd):not(:first-child),.dz-gallery-item:only-child{aspect-ratio:460/299}
}
@media only screen and (min-width:980px){
  .dz-few .dz-arrows{display:none}
}
@media only screen and (max-width:979px) and (min-width:481px){
  .dz-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media only screen and (max-width:600px){
  .dz-card{flex-direction:column;align-items:stretch;gap:20px}
  .dz-card-img{flex:none;width:100%;height:200px}
  .dz-card-body{min-height:0;gap:16px}
  .dz-card .dz-rt{display:inline}
  .dz-card .dz-tags,.dz-card .dz-meta{display:none}
  .dz-card-title p{font-size:16px;line-height:1.5;-webkit-line-clamp:2}
  .dz-hero-info{flex-direction:column;align-items:flex-start;gap:16px}
  .dz-pgrid{grid-template-columns:1fr}
  .dz-facts{grid-template-columns:1fr}
  .dz-fact:nth-child(even){border-left:0}
  .dz-fact:nth-child(n+2){border-top:1px solid var(--dz-line)}
  .dz-fact dd{font-size:14px}
}

/* photo viewer of the repair case (pop-up) */
.dz-gallery-item{cursor:zoom-in}
.sw-lb{position:fixed;inset:0;z-index:960;display:flex;align-items:center;justify-content:center;padding:88px 112px;box-sizing:border-box;background:rgba(12,39,60,.97)}
.sw-lb[hidden]{display:none}
.sw-lb-fig{margin:0;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:14px}
.sw-lb-fig img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 200px);max-height:calc(100dvh - 200px);object-fit:contain;box-shadow:0 20px 60px rgba(0,0,0,.35);transition:opacity .15s}
.sw-lb.is-loading .sw-lb-fig img{opacity:.2}
.sw-lb-count{font:500 14px/1 var(--font-flex);color:#fff;opacity:.8}
.sw-lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:1px solid var(--blue);border-radius:50%;background:rgba(12,39,60,.4);color:#fff;cursor:pointer;box-sizing:border-box;transition:background .15s,color .15s}
.sw-lb-btn:hover,.sw-lb-btn:focus-visible{background:#fff;color:var(--black);outline:0}
.sw-lb-close{top:20px;right:20px}
.sw-lb-nav{top:50%;margin-top:-27px}
.sw-lb-prev{left:28px}
.sw-lb-next{right:28px}
.sw-lb-single .sw-lb-nav{display:none}
@media only screen and (max-width:979px){
  .sw-lb{padding:72px 12px 96px}
  .sw-lb-fig img{max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px)}
  .sw-lb-btn{width:44px;height:44px}
  .sw-lb-close{top:14px;right:14px}
  .sw-lb-nav{top:auto;bottom:20px;margin-top:0}
  .sw-lb-prev{left:calc(50% - 98px)}
  .sw-lb-next{right:calc(50% - 98px)}
  .sw-lb-count{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:100px;text-align:center}
}

/* ---------- service pages: general and local (built like the home page: its hero, its content width, its blocks) ---------- */
/* blocks shared with the blog layouts still carry the narrow column: here they get the width of .f-width-block */
.sv-wide .dz-col{max-width:none;padding:0 24px}
@media only screen and (min-width:1351px){.sv-wide .dz-col{padding:0 80px}}
@media only screen and (min-width:1700px){.sv-wide .dz-col{max-width:1700px}}
/* tiles of repairs and articles: the card keeps the size it has on the portfolio page (250px and wider, 12px gaps),
   the number of cards in a row follows the width (3, 4, 5); the cards are never stretched over the whole row.
   The arrows stay only when there are more cards than fit in a row. */
@media only screen and (min-width:1100px){
  .sv-wide .dz-carousel .sw-track > *{flex-basis:calc((100% - 36px) / 4)}
  .sv-wide .dz-carousel:not(:has(.dz-track > :nth-child(5))) .dz-arrows{display:none}
}
@media only screen and (min-width:1480px){
  .sv-wide .dz-carousel .sw-track > *{flex-basis:calc((100% - 48px) / 5)}
  .sv-wide .dz-carousel:not(:has(.dz-track > :nth-child(6))) .dz-arrows{display:none}
}

/* hero: the home layout, but the photo is a plain rectangle (no diagonal, white gutter instead of grey),
   so a service page looks different from the home page. The photo keeps the standard gutter of the page on the right
   (same offsets as the home hero). Breadcrumbs sit on top of the text column. */
.sv-hero .sw-breadcrumbs{align-self:stretch;min-width:0;max-width:100%}
.sv-hero .sw-breadcrumbs ol{margin:0}
.sv-hero .sw-hero-img{object-position:center}
.sv-hero .sw-hero-zip{width:100%}
.sv-hero .sw-hero-photo::before{display:none}
.sv-hero .sw-hero-photo::after{display:none}
.sv-hero .sw-hero-photo{overflow:hidden}
/* the white card with the four promises sits inside the photo, not in the notch of the home design */
.sv-hero .sw-hero-photo .pls-slider{right:24px;bottom:24px}
.sv-hero .ts-plashka{border:0;padding:12px 24px;box-shadow:0 8px 28px rgba(12,39,60,.18)}
@media only screen and (min-width:980px){
  .sv-hero,.sv-hero .header-main{background:#fff}
  .sw-hero.sv-hero .sw-hero-photo{left:50%;right:24px}
}
@media only screen and (min-width:1351px){
  .sw-hero.sv-hero .sw-hero-photo{right:80px}
}
@media only screen and (min-width:1700px){
  .sw-hero.sv-hero .sw-hero-photo{right:calc((100vw - 1700px) / 2 + 80px)}
}
@media only screen and (max-width:979px){
  .sv-hero .sw-hero-photo{min-height:420px}
  .sv-hero .sw-hero-photo .pls-slider{right:16px;bottom:16px;left:16px}
  .sv-hero .ts-plashka{padding:8px 16px}
}

.sv-sec{padding:72px 0}
.sv-sec .dz-h2{margin-bottom:40px}
/* white blocks one after another: the padding of the first one is the gap, the next one starts right after it */
.sv-wide .sv-sec + .sv-sec,.sv-wide .sv-sec + .dz-rel,.sv-wide .dz-rel + .sv-sec,.sv-wide .sw-why + .brands,.sv-wide .brands + .dz-rel{padding-top:0}
.sv-wide .dz-rel{padding-bottom:40px}
.sv-wide .dz-rel + .sw-faq-section .faq-bg{padding-top:32px}
.sv-wide .dz-rel + .sw-why .white-section-bg{padding-top:56px}
.sv-wide .sw-faq-section .faq-bg{padding-bottom:48px}
.sv-sub{font-size:18px;line-height:132%;color:var(--black);opacity:.8;margin:-8px 0 32px;max-width:720px}

/* B20: areas that have this service */
.sv-area-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}
.sv-area{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border:1px solid var(--light-grey);background:#fff;transition:border-color .2s}
.sv-area:hover{border-color:var(--red)}
.sv-area h3{display:flex;align-items:center;gap:8px;margin:0;font:500 26px/1.15 var(--font-cond);letter-spacing:-1px;color:var(--black)}
.sv-area h3 .sw-ico{color:var(--red);flex:0 0 auto}
.sv-area p{margin:0;font-size:15px;line-height:140%;color:var(--dark-blue-secondary)}
.sv-area a{margin-top:auto;padding-top:8px;color:#b8301c;font:500 18px var(--font-cond);text-decoration:none}
.sv-area a::after{content:"";position:absolute;inset:0}
.sv-area a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}

/* B4: long text, answer first; symptom table (text lines stay readable, the table uses the whole width) */
.sv-article > h2:first-child,.sv-article > section:first-child > h2:first-child{font-size:38px;margin-bottom:24px}
.sv-article h2{margin:64px 0 24px}
.sv-article > :first-child{margin-top:0}
.sv-article > p,.sv-article > ul,.sv-article > ol,.sv-article > section > p{max-width:880px}
.sv-article table{display:table;width:100%;max-width:100%;overflow:visible;border-collapse:collapse;margin:28px 0 28px}
.sv-article th,.sv-article td{border:0;border-bottom:1px solid var(--light-grey);padding:14px 20px 14px 0;text-align:left;vertical-align:top;font-size:16px;line-height:140%;color:var(--black)}
.sv-article td{opacity:.9}
.sv-article td:first-child{font-weight:600;width:26%;opacity:1}
.sv-article thead th{padding-top:0;border-bottom:2px solid var(--black);font:500 14px/1 var(--font-cond);text-transform:uppercase;letter-spacing:.06em;color:var(--dark-blue-secondary)}
.sv-article tr.sv-grp th,.sv-article th[colspan]{padding:12px 16px;border:0;background:var(--light-grey);font:500 20px/132% var(--font-cond);letter-spacing:-.01em;text-transform:none;color:var(--black)}
.sv-article tr.sv-grp label{display:block;margin:0;cursor:default;font:inherit;color:inherit}
.sv-article .sv-gt{display:none}
.sv-article td a{color:var(--red)}
.sv-article td:first-child a{color:inherit;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.sv-review{margin:40px 0 0;padding-top:20px;border-top:1px solid var(--light-grey);font-size:15px;line-height:140%;color:var(--dark-blue-secondary)}

/* B6: what we repair (checklist) + generic prose block */
.sv-prose{color:var(--black)}
.sv-prose > p{max-width:880px}
.sv-prose p{margin:0 0 20px;font-size:18px;line-height:132%;opacity:.8}
.sv-prose a{color:var(--red);text-underline-offset:2px}
.sv-prose strong{font-weight:600}
.sv-check ul{list-style:none;margin:8px 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:56px}
.sv-check li{position:relative;margin:0;padding:11px 0 11px 32px;border-bottom:1px solid var(--light-grey);font-size:16px;line-height:132%;color:var(--black)}
.sv-check li::before{content:"";position:absolute;left:6px;top:50%;width:14px;height:14px;transform:translateY(-50%);background:url("../image/checkmark.svg") no-repeat center/contain}
.sv-check li a{color:inherit;text-decoration:none}
.sv-check li a:hover{color:var(--red);text-decoration:underline}
.sv-guide{margin:24px 0 0}

/* other services, date, bar on phones */
.sv-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.sv-chips a{display:inline-flex;align-items:center;min-height:48px;padding:6px 20px;border:1px solid var(--blue);border-radius:999px;color:var(--black);font:500 18px/132% var(--font-cond);text-decoration:none;transition:border-color .2s,color .2s}
.sv-chips a:hover{border-color:var(--red);color:var(--red)}
.sv-updated{margin:0;padding:0 0 56px;font-size:14px;color:var(--dark-blue-secondary)}
.sv-sticky{display:none}

@media only screen and (max-width:1099px){
  .sv-check ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
}
@media only screen and (max-width:979px){
  .sv-sec{padding:56px 0}
  .sv-sec .dz-h2{margin-bottom:24px}
  .sv-article > h2:first-child,.sv-article > section:first-child > h2:first-child{font-size:28px}
  .sv-article h2{margin:48px 0 20px}
  /* the table becomes a stack of cards: every cell shows its column name */
  .sv-article table,.sv-article tbody,.sv-article tr,.sv-article td,.sv-article th{display:block;width:100%;box-sizing:border-box}
  .sv-article thead{display:none}
  .sv-article tr{padding:14px 0;border-bottom:1px solid var(--light-grey)}
  .sv-article tr.sv-grp{padding:0;border:0;margin-top:20px}
  .sv-article td{padding:2px 0;border:0}
  /* the groups (Cooling, Noise…) are plates: closed until tapped, the arrow turns when open */
  .sv-article tbody.sv-g{margin:0 0 10px;border:1px solid var(--light-grey);background:#fff}
  .sv-article tbody.sv-g tr.sv-grp{margin:0}
  .sv-article tbody.sv-g tr.sv-grp th{padding:0;background:var(--light-grey)}
  .sv-article tbody.sv-g tr:not(.sv-grp){padding:14px 16px}
  .sv-article tbody.sv-g tr:not(.sv-grp):last-child{border-bottom:0}
  .sv-article tr.sv-grp label{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;box-sizing:border-box;cursor:pointer;font:500 20px/132% var(--font-cond);letter-spacing:-.01em;color:var(--black);-webkit-tap-highlight-color:transparent}
  .sv-article tr.sv-grp label::after{content:"";flex:0 0 auto;width:10px;height:10px;margin:-4px 4px 0 0;border:solid var(--black);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s,margin .2s}
  .sv-article .sv-gt{display:block;position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
  .sv-article tr.sv-grp label:has(.sv-gt:focus-visible){outline:2px solid var(--red);outline-offset:-2px}
  .sv-article tbody.sv-g:has(.sv-gt:checked) tr.sv-grp label::after{margin:4px 4px 0 0;transform:rotate(-135deg)}
  .sv-article tbody.sv-g:has(.sv-gt:not(:checked)) tr:not(.sv-grp){display:none}
  .sv-article td:first-child{width:100%;font-size:17px;padding-bottom:6px}
  .sv-article td[data-label]:not(:first-child)::before{content:attr(data-label);display:block;margin-top:6px;font:500 12px/1.2 var(--font-cond);text-transform:uppercase;letter-spacing:.06em;color:var(--dark-blue-secondary)}
}
@media only screen and (max-width:767px){
  .sv-sec{padding:48px 0}
  .sv-area-list{grid-template-columns:1fr}
  .sv-check ul{grid-template-columns:1fr}
  .sv-chips{gap:8px}
  .sv-chips a{min-height:40px;padding:4px 16px;font-size:16px}
  .sv-sticky{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 16px rgba(12,39,60,.14)}
  .sv-sticky a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:40px;box-sizing:border-box;font:500 18px/1 var(--font-cond);text-decoration:none}
  .sv-st-call{border:1px solid var(--red-secondary);color:var(--red)}
  .sv-st-book{background:var(--black);color:var(--light-grey)}
  body:has(.sv-sticky){padding-bottom:calc(68px + env(safe-area-inset-bottom))}
}

/* back-to-top button: appears on phones and small tablets after scrolling down (js/app.js creates it) */
.sw-top{display:none}
@media only screen and (max-width:900px){
  .sw-top{display:flex;align-items:center;justify-content:center;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:45;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--black);color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.92),0 4px 14px rgba(12,39,60,.35);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility 0s linear .2s;-webkit-tap-highlight-color:transparent}
  .sw-top.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
  .sw-top:active{background:var(--red)}
  .sw-top:focus-visible{outline:2px solid var(--red);outline-offset:3px}
  .scroll-locked .sw-top{opacity:0;visibility:hidden}
  .sw-footer{padding-bottom:calc(48px + env(safe-area-inset-bottom))} /* room for the button under the last footer line */
}
@media only screen and (max-width:767px){
  body:has(.sv-sticky) .sw-top{bottom:calc(68px + 12px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.sw-top,.sw-top.is-on{transition:none}}

/* ---------- brand pages (/brands/*) ---------- */
.br-page .ts-h1 h1{text-wrap:balance}
.br-disclaimer{margin:20px 0 0;font-size:14px;line-height:150%;color:var(--dark-blue-secondary);opacity:.8}
.br-page .sv-areas{padding-top:40px}
.br-page .dz-article h2{scroll-margin-top:24px}
.dz-article p.sv-guide{opacity:1}
.dz-article .sv-guide a.sw-link{color:#b8301c;text-decoration:none;opacity:1}
.dz-article .sv-guide a.sw-link:hover{text-decoration:underline}
.br-long .dz-article table{width:100%;max-width:880px;border-collapse:collapse;margin:0 0 28px;font-size:17px}
.br-long .dz-article th{text-align:left;font:600 13px/1.3 var(--font-flex);letter-spacing:.06em;text-transform:uppercase;color:var(--dark-blue-secondary);padding:10px 12px;border-bottom:2px solid var(--black)}
.br-long .dz-article td{padding:12px;border-bottom:1px solid var(--light-grey);vertical-align:top;line-height:140%}
.br-long .dz-article td:first-child{white-space:nowrap;width:1%}
.br-long .dz-article td:nth-child(2):not(:last-child){white-space:nowrap;color:var(--dark-blue-secondary)}
.br-cta{padding:8px 0 40px}
.br-cta-in{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px;background:var(--light-grey);border-radius:12px}
.br-cta-in h2{margin:0 0 6px}
.br-cta-in p{margin:0;font-size:16px;line-height:150%;color:var(--dark-blue-secondary)}
.br-cta-in>div:first-child{flex:1 1 auto;min-width:0}
.br-cta-in .main-cta-local{margin:0;flex:0 0 auto;width:auto;flex-direction:row;align-items:center;gap:16px}
.br-cta-in .main-cta-local>div{width:auto}
.br-cta-in .main-cta-local .wflex{flex:none}
.br-cta-in .main-cta-local .line{min-width:48px}
.br-cta-in .main-cta-local .mob-top-sep>span{width:12px}
.dz-filter-row{display:none}

/* brands index: two cards per row */
.br-index{padding:0 0 64px;margin-top:-48px}
.br-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.dz-fact a{color:#b8301c;text-decoration:none}
.dz-fact a:hover{text-decoration:underline}
.dz-head-body .dz-more{opacity:1;margin-top:12px}
.dz-head-body .dz-more a{opacity:1}
.br-card{position:relative;margin:0;min-width:0}
.br-card-in{display:flex;flex-direction:column;gap:12px;height:100%;box-sizing:border-box;padding:26px 72px 26px 28px;border:1px solid var(--light-blue);border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s}
.br-card:hover .br-card-in,.br-card:focus-within .br-card-in{border-color:var(--red);box-shadow:0 10px 28px rgba(12,39,60,.08)}
.br-card-title{margin:0;font:500 30px/1.15 var(--font-cond);letter-spacing:-.5px;color:var(--black)}
.br-card-title span{color:var(--dark-blue-secondary);opacity:.7;font-size:22px}
.br-card-link{color:inherit;text-decoration:none}
.br-card-link::after{content:"";position:absolute;inset:0;border-radius:10px}
.br-card-link:focus-visible{outline:none}
.br-card-link:focus-visible::after{outline:2px solid var(--red);outline-offset:2px}
.br-card-txt{margin:0;font-size:16px;line-height:150%;color:var(--black);opacity:.8}
.br-card-types{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 0;padding-top:6px}
.br-card-types span{font-size:13px;line-height:1;padding:7px 10px;border-radius:999px;background:var(--light-grey);color:var(--dark-blue-secondary)}
.br-card-arrow{pointer-events:none;position:absolute;top:26px;right:24px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--light-grey);color:var(--black);transition:background .2s,color .2s}
.br-card:hover .br-card-arrow,.br-card:focus-within .br-card-arrow{background:var(--black);color:#fff}
.br-card-other .br-card-in{background:var(--light-grey);border-color:var(--light-grey)}
.br-card-other .br-card-arrow{display:none}
.br-card-act{margin:auto 0 0;padding-top:8px}
.br-card-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:40px;cursor:pointer;font:500 18px/1 var(--font-cond);color:#fff}
.br-index-note{margin-top:28px}
@media (max-width:900px){
  .br-card-in{padding:22px 64px 22px 22px}
  .br-card-title{font-size:26px}
  .br-card-title span{font-size:19px}
  .br-card-arrow{top:22px;right:18px;width:36px;height:36px}
}
@media (max-width:640px){
  .br-index{margin-top:-24px}
  .br-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .br-card-txt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .br-card-types{max-height:28px;overflow:hidden}
  .br-card-types span{white-space:nowrap}
  .br-cta-in{flex-direction:column;align-items:stretch;padding:22px 20px}
  .br-cta-in .main-cta-local{flex-direction:column;align-items:stretch}
  .br-cta-in .main-cta-local .line{width:100%}
  .br-cta-in .main-cta-local .mob-top-sep>span{width:100%}
}
@media only screen and (max-width:979px){
  .br-long .dz-article td:first-child,.br-long .dz-article td:nth-child(2):not(:last-child){white-space:nowrap}
  .br-long .dz-article tbody tr{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--light-grey)}
  .br-long .dz-article tbody td{width:auto;border-bottom:0;padding:0}
  .br-long .dz-article tbody td:first-child{grid-row:1}
  .br-long .dz-article tbody td:nth-child(2):not(:last-child){grid-row:1;font-size:14px;align-self:center}
  .br-long .dz-article tbody td:last-child{grid-column:1/-1}
  .br-long .dz-article tbody td[data-label]::before{display:none}
}
@media only screen and (max-width:979px){
  .dz-filter-row{display:flex;gap:8px;list-style:none;margin:16px 0 0;padding:0 0 6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dz-filter-row::-webkit-scrollbar{display:none}
  .dz-filter-row a{display:inline-flex;align-items:center;white-space:nowrap;min-height:36px;padding:0 14px;border:1px solid var(--light-blue);border-radius:999px;color:var(--black);font:500 15px/1 var(--font-cond);text-decoration:none}
  .dz-filter-row a.is-on{background:var(--black);border-color:var(--black);color:#fff}
}

/* ---------- small-text contrast (WCAG AA): the theme's light grey and bright red on white measured 3.1-3.9:1 ---------- */
.ts-leiba span{color:#b8301c}
.service-item .sw-fee{color:#5b6573}
.benuserdesc{color:#5b6573}
.sw-owner .foot-btn a span{color:#b8301c}
/* numbered steps in page texts (thank-you page) */
.service-txt-block > section > ol{padding:12px 0 12px 24px;margin:0}
.service-txt-block > section > ol > li{font-size:18px;line-height:132%;font-weight:400;opacity:.8;padding-bottom:16px;color:var(--black);list-style:decimal}
/* thank-you page: room between the back button and the footer */
.sw-ty-back{padding:8px 0 80px}
@media only screen and (max-width:767px){.sw-ty-back{padding-bottom:48px}}

/* footer, desktop: five equal columns; less air under the last line */
@media only screen and (min-width:980px){
  .footer > div{flex:1 1 0;width:auto;min-width:0}
  .foot-block li::before{top:17px;margin-top:0} /* the dot stays on the first line when a link wraps in the narrower column */
  .sw-footer{padding-bottom:16px}
}

/* Ask popup, after sending: a check mark and the message take the place of the title and the form */
.sw-ask-done{display:none;flex-direction:column;align-items:center;gap:12px;text-align:center}
.sw-ask-done-ico{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#e4f4ea;color:#1d7a3a;margin-bottom:8px}
.sw-ask-done-ico svg{width:32px;height:32px;stroke-width:2.2}
.sw-ask-done .zm-title{margin:0}
.sw-ask-done-msg{margin:0;font-size:16px;line-height:150%;color:var(--black);opacity:.8}
.sw-ask-done .black-btn-modal{margin-top:12px}
.sw-ask-modal.is-sent .zm-body,.sw-ask-modal.is-sent .ask-bottom{display:none}
.sw-ask-modal.is-sent .sw-ask-done{display:flex}

/* phone sticky bar: slides in once the first screen is scrolled away (js/app.js), hidden again next to the same buttons */
@media only screen and (max-width:767px){
  .sv-sticky{transform:translateY(110%);transition:transform .25s ease}
  .sv-sticky.is-on{transform:none}
  html:not(.js) .sv-sticky{transform:none}
  .sv-sticky button.sv-st-book{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border:0;border-radius:40px;box-sizing:border-box;cursor:pointer;background:var(--black);color:var(--light-grey);font:500 18px/1 var(--font-cond)}
  .sv-sticky.sv-sticky-find{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.sv-sticky{transition:none}}
