@import url('fonts.css');
:root{--red:#bd282e;--ink:#202225;--paper:#f5f4f0;--muted:#66686b;--line:#deded8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ea8d31;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}svg{width:25px;height:25px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.03;font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-weight:600}h1{font-size:clamp(58px,6.3vw,100px);letter-spacing:-1.6px}h2{font-size:clamp(42px,4vw,64px);letter-spacing:-.6px}h3{font-size:30px}p{margin:20px 0;color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding:90px 40px}.eyebrow{display:block;font-size:11px;letter-spacing:2px;font-weight:700;color:var(--red);margin-bottom:20px}.eyebrow.light{color:#ed9f9f}.topline{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;padding:8px max(40px,calc((100vw - 1200px)/2));font-size:11px;letter-spacing:.5px}.topline span{display:flex;align-items:center;gap:9px}.topline svg{width:15px;height:15px}.topline a{font-weight:700}header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;gap:28px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand{flex-shrink:0}.brand img{width:230px;height:auto}nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}nav>a:not(.btn):hover,summary:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red);color:white;padding:17px 25px;font-size:13px;font-weight:700;border:0;cursor:pointer;transition:background .25s,transform .25s;line-height:1.4}.btn:hover{background:#9e1b22;transform:translateY(-3px)}.btn span{font-size:20px;line-height:1}nav .btn{padding:15px 20px}.dropdown summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center}.dropdown summary::-webkit-details-marker{display:none}.mega{position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 20px 30px #0002;padding:35px max(40px,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:30px;border-top:3px solid var(--red);max-height:75vh;overflow:auto}.mega strong{display:block;color:var(--red);margin-bottom:12px}.mega a{display:block;font-weight:400;padding:5px 0;font-size:13px}.mega a:hover{text-decoration:underline}.mega .all-services{grid-column:1/-1;border-top:1px solid var(--line);font-weight:bold;padding-top:15px}.mobile-toggle{display:none}.hero{background:var(--ink);color:#fff;display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden}.herotext{padding:70px 40px 65px max(40px,calc((100vw - 1200px)/2));z-index:2}.hero h1{font-size:clamp(68px,7.5vw,116px);line-height:.96;text-transform:uppercase;letter-spacing:-1px}.hero h1 em{font-style:normal;color:#f14b50}.hero p{color:#c5c5c5;max-width:425px;font-size:16px;margin:27px 0}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.plainlink{font-weight:600;font-size:13px;display:inline-flex;gap:14px;align-items:center}.plainlink:hover{text-decoration:underline}.heroimage{position:relative;min-height:660px;overflow:hidden}.heroimage>img{width:100%;height:100%;position:absolute;object-position:50% 46%;animation:kenburns 22s ease-in-out infinite alternate;filter:brightness(.85)}.heroimage:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141719a8,transparent 50%)}.imagecaption{position:absolute;bottom:48px;left:35px;color:#fff;z-index:2;padding-left:20px;border-left:3px solid #f04a50}.imagecaption span{font-size:10px;letter-spacing:2px}.imagecaption b{display:block;font-size:30px;font-family:'Barlow Condensed',sans-serif;line-height:1.15;margin-top:8px}.herofoot{display:flex;align-items:center;gap:10px;color:#c7c7c7;font-size:11px;margin-top:40px}.herofoot svg{color:#f2575c;width:17px}.heroindex{position:absolute;bottom:0;right:0;background:var(--red);font-size:9px;letter-spacing:2px;padding:9px 23px}.truststrip{display:flex;justify-content:space-between;gap:25px;padding:25px max(40px,calc((100vw - 1200px)/2));background:var(--paper);border-bottom:1px solid var(--line);font-size:12px;font-weight:600}.truststrip span{display:flex;align-items:center;gap:12px}.truststrip svg{color:var(--red)}.sectionhead{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:40px}.sectionhead p{font-size:14px;max-width:460px}.textlink{font-size:12px;font-weight:700;display:inline-block;color:var(--red);padding-bottom:4px;border-bottom:1px solid #ce8484}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;background:white}.service-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #2525250b}.cardphoto{height:240px;overflow:hidden}.cardphoto img{width:100%;height:100%;transition:transform .7s}.service-card:hover img{transform:scale(1.045)}.cardbody{padding:28px;flex:1;display:flex;align-items:flex-start;flex-direction:column}.cardbody svg{color:var(--red);margin-bottom:22px;width:29px;height:29px}.cardbody h3{font-size:29px}.cardbody p{font-size:13px;line-height:1.7;margin:16px 0 24px}.cardbody .textlink{margin-top:auto}.quicklinks{display:flex;justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:30px;padding-top:23px;font-size:12px;font-weight:600;gap:18px}.quicklinks a:hover{color:var(--red)}.labor{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff}.laborimage{max-height:630px;overflow:hidden}.laborimage img{width:100%;height:100%;object-position:center 55%}.laborcopy{padding:70px min(7vw,100px)}.laborcopy p{color:#bfc1c2;font-size:14px}.laborcopy ul{list-style:none;padding:0;font-size:13px;margin:25px 0 30px}.laborcopy li{padding:9px 0;border-bottom:1px solid #ffffff22}.laborcopy li:before{content:'✓';color:#ff7379;margin-right:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{font-family:'Barlow Condensed',sans-serif;color:var(--red);font-size:40px;display:block;margin-bottom:22px}.steps p{font-size:14px;max-width:310px}.areas{background:var(--paper)}.areagrid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.areagrid p{font-size:14px;max-width:470px}.darkbtn{background:var(--ink)}.towns{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.towns span{padding:20px 0;border-bottom:1px solid #ccccc5;font-size:14px}.towns span:first-child{color:var(--red);font-weight:bold}.faq{display:grid;grid-template-columns:1fr 1.65fr;gap:90px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;cursor:pointer;font-size:14px;font-weight:600}.faq summary span{color:var(--red);font-size:22px;line-height:1}.faq details p{font-size:14px;margin-bottom:0}.closing{background:var(--red);color:#fff;padding:65px max(40px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px}.closing .eyebrow{color:#ffc4c7}.closing .btn{background:white;color:var(--red);min-width:220px}.footerphone{display:block;text-align:center;margin-top:12px;font-size:14px}footer{background:var(--ink);color:#eee;padding:65px max(40px,calc((100vw - 1200px)/2)) 20px;display:grid;grid-template-columns:1.2fr .7fr 1.1fr;gap:50px;font-size:12px}footer img{width:240px;height:auto}footer p{color:#aeb0b1;font-size:12px}footer h3{font-family:inherit;font-size:13px;margin:0 0 22px}footer a{display:block;margin:9px 0}footer a:hover{color:#f38185}.email{overflow-wrap:anywhere}.copyright{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #ffffff20;color:#aeb0b1;font-size:10px}.pageintro{background:var(--paper);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.pageintro:after{content:'↗';position:absolute;right:5%;top:0;font-family:Arial;font-size:280px;color:#25252505;pointer-events:none}.pageintro .wrap{padding-top:65px;padding-bottom:65px}.pageintro h1{max-width:990px;font-size:clamp(52px,5.6vw,82px);position:relative;z-index:1}.pageintro p{max-width:760px;margin-bottom:0}.directory{padding-top:50px}.searchlabel{font-size:12px;font-weight:bold;margin-bottom:8px;display:block}input,select,textarea{width:100%;border:1px solid #d5d5ce;padding:13px 15px;background:#fff;color:var(--ink);border-radius:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--red);outline-offset:2px}#service-search{max-width:620px}.service-group{margin-top:55px}.service-group h2{font-size:40px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:25px}.directorygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.directorygrid .cardbody h3{font-size:27px}.directorygrid .cardbody{padding:25px}.service-detail{display:grid;grid-template-columns:1.7fr 1fr;gap:90px;align-items:start}.service-detail article>p{font-size:16px}.serviceaction{margin-top:40px;border-top:1px solid var(--line);padding-top:30px}.serviceaction h3{font-size:30px;margin-bottom:25px}.serviceaction .plainlink{margin:22px}.moveaside{background:var(--ink);color:#fff;padding:38px;position:sticky;top:130px}.moveaside>svg{color:#f36369;margin-bottom:20px;width:40px;height:40px}.moveaside h3{font-size:38px}.moveaside p{color:#c2c2c2;font-size:14px}.moveaside ul{padding-left:18px;font-size:13px;margin-bottom:30px}.moveaside li{margin:12px 0}.moveaside .btn{width:100%;gap:10px}.moveaside .small{font-size:11px;margin-bottom:0}.related{padding-top:0}.related h2{margin-bottom:30px}.aboutgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}.aboutgrid>img{width:100%;height:560px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery img{width:100%;height:380px}.locationgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px}.locationgrid article{border-top:1px solid var(--line);padding-top:28px}.locationgrid svg{color:var(--red);margin-bottom:18px}.locationgrid h2{font-size:38px}.locationgrid p{max-width:480px;font-size:14px}.contactgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}.contactgrid>div p{font-size:14px}.bigphone{display:block;font-family:'Barlow Condensed',sans-serif;font-size:34px;margin-top:30px}.contactgrid .email{font-size:13px}.contactgrid form{padding:35px;background:var(--paper)}form h2{font-size:36px}form p{font-size:12px}form label{font-size:11px;font-weight:600;display:block;margin:15px 0}form input,form select,form textarea{margin-top:5px;font-size:13px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.mobilebar{display:none}.skip{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}[hidden]{display:none!important}@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09)}}
@media(min-width:1500px){header{padding-left:max(40px,calc((100vw - 1360px)/2));padding-right:max(40px,calc((100vw - 1360px)/2))}}
@media(max-width:1100px){header{padding:18px 25px;gap:20px}.brand img{width:200px}nav{gap:17px;font-size:12px}nav .btn{padding:14px;gap:15px}.herotext{padding:60px 30px}.heroimage{min-height:650px}.laborcopy{padding:50px 35px}.areagrid,.service-detail,.contactgrid,.aboutgrid{gap:45px}.faq{gap:45px}.truststrip{padding:22px 30px;gap:15px;font-size:11px}}
@media(max-width:850px){header{padding:17px 22px}.brand img{width:215px}.mobile-toggle{display:block;border:0;background:transparent;font-size:25px;cursor:pointer}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px;align-items:stretch;flex-direction:column;max-height:80vh;overflow:auto;border-bottom:1px solid var(--line)}nav.open{display:flex}nav>a,nav summary{padding:7px;font-size:15px}.mega{position:static;box-shadow:none;display:block;padding:10px 12px;max-height:none;border:0}.mega>div{margin:12px 0 22px}.hero{grid-template-columns:1fr 46%}.hero h1{font-size:75px}.herotext{padding:55px 25px}.hero p{font-size:14px}.heroimage{min-height:640px}.hero .actions{gap:20px}.herofoot{font-size:10px}.truststrip{display:grid;grid-template-columns:1fr 1fr;padding:22px 25px}.wrap{padding:65px 25px}.sectionhead{gap:25px}.sectionhead p{max-width:300px}.cards,.directorygrid{gap:15px}.cardbody{padding:20px}.cardbody h3{font-size:25px}.cardphoto{height:190px}.laborcopy h2{font-size:44px}.laborcopy{padding:40px 25px}.areagrid{gap:40px}.faq{grid-template-columns:1fr 1.4fr;gap:35px}footer{padding:50px 25px 20px;gap:30px;grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}footer .copyright{gap:20px}.service-detail{grid-template-columns:1.4fr 1fr;gap:35px}.moveaside{padding:25px}.contactgrid{grid-template-columns:1fr;gap:35px}.aboutgrid{gap:35px}.gallery img{height:290px}.closing{padding:50px 25px}.steps{gap:25px}.step h3{font-size:25px}}
@media(max-width:600px){body{padding-bottom:54px}.topline{padding:7px 20px;font-size:9px}.topline span{gap:5px}.topline>a{display:none}.hero{display:block}.hero h1{font-size:78px}.herotext{padding:45px 24px 37px}.hero p{max-width:360px}.heroimage{height:340px;min-height:0}.heroimage img{object-position:center 42%}.imagecaption{bottom:38px;left:25px}.herofoot{margin-top:28px}.heroindex{font-size:8px}.truststrip{padding:22px 20px;gap:18px 10px;font-size:10px}.truststrip svg{width:22px}.sectionhead{display:block;margin-bottom:28px}.sectionhead p{max-width:none}.wrap{padding:55px 23px}.cards,.directorygrid{grid-template-columns:1fr}.cardphoto{height:260px}.cardbody{padding:26px}.cardbody h3{font-size:32px}.cardbody p{font-size:14px}.cardbody svg{margin-bottom:17px}.quicklinks{display:grid;grid-template-columns:1fr 1fr;font-size:11px}.labor{display:flex;flex-direction:column}.laborimage{height:340px}.laborcopy{padding:40px 24px}.steps{grid-template-columns:1fr;gap:20px;margin-top:25px}.steps article{position:relative;padding-left:62px}.steps article>span{position:absolute;left:0;top:13px;font-size:36px}.steps p{max-width:none;margin:14px 0}.areagrid,.faq,.aboutgrid,.service-detail{grid-template-columns:1fr;gap:30px}.towns{gap:0 20px}.towns span{font-size:12px;padding:16px 0}.closing{display:block;padding:40px 24px}.closing h2{font-size:48px}.closing>div+div{margin-top:30px}.closing .footerphone{text-align:left}.closing .btn{min-width:230px}footer{grid-template-columns:1fr;gap:25px;padding:40px 24px 20px}footer>div:first-child{grid-column:auto}footer .copyright{grid-column:auto;display:block}.copyright span{display:block;margin-top:10px}.pageintro .wrap{padding:45px 24px}.pageintro h1{font-size:55px;letter-spacing:-.5px}.pageintro p{font-size:14px}.moveaside{position:static}.service-detail article>p{font-size:15px}.service-detail h2{font-size:44px}.related{padding-top:0}.serviceaction .plainlink{margin-left:0}.aboutgrid>img{height:440px}.gallery{gap:12px;grid-template-columns:1fr}.gallery img{height:350px}.locationgrid{grid-template-columns:1fr;gap:25px}.contactgrid form{padding:25px 20px}.formgrid{grid-template-columns:1fr;gap:0}.contactgrid h2{font-size:40px}.contactgrid form h2{font-size:33px}.mobilebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30;background:white;box-shadow:0 -2px 10px #0001}.mobilebar a{padding:16px 10px;text-align:center;font-size:12px;font-weight:700;line-height:22px}.mobilebar a:last-child{background:var(--red);color:#fff}h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Client photographs retain their complete framing and natural proportions. */
.cardphoto.client-photo{background:#eeeae4;display:flex;justify-content:center;align-items:center;padding:12px;height:265px}.cardphoto.client-photo img{width:auto;height:100%;max-width:100%;object-fit:contain}.service-card:hover .client-photo img{transform:none}.service-photos{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin:35px 0}.service-photos figure{margin:0;flex:1 1 210px;max-width:330px;background:var(--paper);border:1px solid var(--line);padding:12px}.service-photos img{width:100%;height:290px;object-fit:contain}.service-photos figcaption,.client-labor figcaption,.aboutportrait figcaption{font-size:11px;line-height:1.5;padding-top:12px;color:var(--muted)}.laborimage.client-labor{display:flex;justify-content:center;align-items:center;gap:20px;padding:40px 25px;background:#e8e5de;max-height:none;height:auto;flex-wrap:wrap}.client-labor figure{margin:0;flex:1 1 200px;max-width:285px}.laborimage.client-labor img{height:auto;width:100%;object-fit:contain}.client-labor figcaption{color:#414141}.aboutportrait{margin:0;padding:25px;background:var(--paper);display:flex;flex-direction:column;align-items:center}.aboutportrait img{width:100%;max-width:340px;height:auto;object-fit:contain}.aboutportrait figcaption{text-align:center}@media(max-width:600px){.laborimage.client-labor{padding:30px 23px;gap:25px}.client-labor figure{max-width:285px}.service-photos{justify-content:center}.service-photos figure{flex-basis:100%}.cardphoto.client-photo{height:300px}}
