:root{color-scheme:only light;--red:#d70e3d;--ink:#24242b;--muted:#62636b;--line:#dedee2;--light:#f4f4f5}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,a,summary{touch-action:manipulation}button{font:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.09;letter-spacing:-.045em}h1{font-size:clamp(3rem,6.1vw,6.2rem);margin-bottom:28px}h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:26px}h3{font-size:1.5rem;letter-spacing:-.025em}p{color:var(--muted)}.topbar{display:flex;justify-content:space-between;padding:9px 5.5%;background:var(--ink);color:#fff;font-size:14px}.topbar a{font-weight:700}header{padding:12px 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;background:white}.brand{width:140px;flex-shrink:0}.brand img{width:140px;height:95px;object-fit:contain}nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}nav [aria-current]{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:17px 25px;background:var(--red);color:#fff;font-weight:700;border:1px solid var(--red);font-size:16px;line-height:1.4;transition:background .2s}.button:hover{background:#af0a30;text-decoration:none}.button.small{padding:13px 17px;font-size:14px}.button.outline{color:var(--ink);background:transparent;border-color:var(--line)}.button.outline:hover{border-color:var(--red);color:var(--red)}.button.white{color:var(--red);background:white;border-color:white}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:650px;padding:65px 5.5% 60px;gap:5%}.eyebrow{font-size:13px;letter-spacing:.13em;font-weight:800;color:var(--red);display:block;margin-bottom:25px}.hero h1{font-weight:800;font-size:clamp(3.6rem,6.5vw,6.4rem);line-height:1.02}.hero h1 em{color:var(--red);font-style:normal}.hero-copy>p{max-width:500px;font-size:18px;line-height:1.75}.actions{display:flex;gap:28px;align-items:center;margin:30px 0}.text-link{font-weight:700;text-decoration:underline;text-underline-offset:6px}.hero-proof{display:flex;gap:13px;align-items:center;font-size:14px;padding-top:16px}.stars{color:var(--red);letter-spacing:.12em;white-space:nowrap}.hero-art{background:#f3f3f5;position:relative;display:flex;align-items:center;justify-content:center;padding:35px;border-bottom:5px solid var(--red)}.hero-art img{width:100%;max-height:460px;object-fit:contain}.art-caption{position:absolute;bottom:20px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em;font-weight:700}.value-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#f4f4f5;border-block:1px solid var(--line);padding:20px 5.5%;font-size:14px;font-weight:700;text-align:center}.value-strip span+span{border-left:1px solid var(--line)}.section{padding:85px 5.5%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:30px}.section-heading p{max-width:360px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-height:300px;transition:background .2s}.service:hover{background:var(--light);text-decoration:none}.num{font-size:14px;color:var(--red);font-weight:700;margin-bottom:34px}.service p{font-size:16px}.more{margin-top:auto;font-size:14px;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:80px 7%}.dark{background:var(--ink);color:white}.dark p{color:#d4d4db}.large{font-size:25px;line-height:1.45;letter-spacing:-.02em}.dark .eyebrow{color:#ff708c}.trust{text-align:center}.rating{display:flex;justify-content:center;align-items:center;gap:25px}.rating>strong{font-size:80px;line-height:1.2;letter-spacing:-.07em}.rating p{font-size:14px}.cta{background:var(--red);color:white;padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta .eyebrow,.cta p{color:white}.cta p{margin-bottom:0}.cta h2{margin-bottom:20px}footer{padding:60px 5.5% 20px;display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:30px;background:#f4f4f5}footer h3{font-size:16px;letter-spacing:0;margin:20px 0}footer a{display:block;margin-bottom:10px;font-size:14px}footer p{font-size:14px}.footer-logo{height:115px;width:150px;object-fit:contain}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.page-intro{padding:65px 5.5% 55px;background:var(--light);border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(3rem,5vw,5.2rem)}.page-intro p{max-width:650px;font-size:18px;margin-bottom:0}.review-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.review{border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.review p{font-size:18px;margin:24px 0;color:var(--ink);flex:1}.review small{font-size:13px;color:var(--muted);margin:4px 0 16px}.review a{font-size:14px;text-decoration:underline}.muted{font-size:14px;color:var(--muted)}.about-brand{display:flex;align-items:center;background:var(--light);padding:30px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.three article{border-top:1px solid var(--line);padding-top:25px}.three b{display:block;color:var(--red);margin-bottom:22px}.faq{max-width:1050px;margin:auto}details{border-bottom:1px solid var(--line);padding:25px 0}summary{font-size:21px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{color:var(--red)}details p{margin:20px 35px 0 0}details[open] summary span{transform:rotate(45deg)}.estimate-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:7%;padding:70px 5.5%}.estimate-layout h2{font-size:32px}.phone{display:block;font-size:26px;font-weight:700;color:var(--red);margin:25px 0}.estimate-layout hr{border:0;border-top:1px solid var(--line);margin:35px 0}.form-panel{padding:30px;background:var(--light)}iframe{border:0;width:100%;height:780px;background:white;margin-top:20px}.gallery{display:block;columns:2;column-gap:24px;margin-bottom:30px}.gallery figure{display:inline-block;width:100%;vertical-align:top;break-inside:avoid;margin:0 0 24px;border:1px solid var(--line);background:white}.gallery img{display:block;width:100%;height:auto;aspect-ratio:auto;background:transparent}.gallery figure>a{display:block;cursor:zoom-in}.gallery figcaption{padding:16px 20px;font-weight:700}.skip{position:absolute;top:-100px;z-index:5;background:white;padding:10px}.skip:focus{top:0}:focus-visible{outline:3px solid #1968be;outline-offset:5px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1100px){nav{gap:14px}.brand,.brand img{width:110px}.hero{gap:25px}.hero-proof{flex-wrap:wrap}.service{padding:25px}}@media(max-width:900px){header{flex-wrap:wrap}.menu{display:block;border:1px solid var(--line);background:white;padding:10px 16px}.brand img{height:75px}nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding:15px 0}nav.open{display:flex}nav a{padding:8px}.hero{grid-template-columns:1fr 1fr;min-height:0}.hero h1{font-size:58px}.hero-art{padding:15px}.hero-copy>p{font-size:16px}.actions{align-items:start;flex-direction:column;gap:18px}.service-grid,.review-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.section-heading{gap:30px}.topbar span{display:none}.topbar{justify-content:center}.split{gap:40px}.estimate-layout{grid-template-columns:1fr}.estimate-layout aside{max-width:600px}.value-strip{font-size:12px}}@media(max-width:600px){.hero{grid-template-columns:1fr;padding:40px 6%;gap:30px}.hero h1{font-size:clamp(2.75rem,10.8vw,4rem)}.hero-art{min-height:340px;padding:25px 35px 45px}.hero-art img{height:280px}.hero-proof{font-size:13px;gap:8px}.actions{flex-direction:row;align-items:center;gap:16px}.actions .text-link{font-size:14px}.button{font-size:14px;padding:16px 19px}.value-strip{grid-template-columns:1fr 1fr;gap:12px;font-size:13px}.value-strip span+span{border:0}.section{padding:55px 6%}.section-heading{display:block}.section-heading p{max-width:none}.service-grid,.review-grid,.gallery{grid-template-columns:1fr}.service{min-height:250px}.split{grid-template-columns:1fr;padding:55px 6%;gap:15px}.cta{padding:50px 6%;display:block}.cta .button{margin-top:28px}.three{grid-template-columns:1fr;gap:20px}.page-intro{padding:45px 6%}.page-intro h1{font-size:clamp(2.25rem,9vw,2.875rem)}.page-intro p{font-size:16px}.review-top{align-items:start;flex-direction:column}.estimate-layout{padding:45px 6%;gap:30px}.form-panel{padding:20px}footer{grid-template-columns:1fr 1fr;padding:40px 6% 20px}footer>div:first-child{grid-column:1/-1}.copyright{display:block}.copyright span{display:block;margin-top:8px}.about-brand{margin-bottom:30px}summary{font-size:18px}.hero-proof span:last-child{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.project-group{margin:45px 0 65px}.project-group h2{font-size:clamp(1.8rem,3vw,2.8rem)}.project-group .gallery img{width:100%;height:auto;aspect-ratio:auto;background:transparent}.project-group .gallery figcaption{font-size:16px;line-height:1.5}

.photo-description{font-weight:400;font-size:15px;line-height:1.6;margin:10px 0 0}.gallery figcaption strong{display:block}

.estimate-form{display:grid;gap:20px}.estimate-form label{display:grid;gap:6px;font-weight:700}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #9898a0;background:#fff;color:var(--ink);font:inherit;border-radius:3px}.estimate-form textarea{resize:vertical}.estimate-form p{margin:0}.estimate-form button{justify-self:start;cursor:pointer}

@media(max-width:600px){.gallery{columns:1}.gallery figure{margin-bottom:20px}.gallery figcaption{padding:14px 16px}}
.photo-viewer{padding:16px;border:0;border-radius:6px;width:min(1200px,96vw);max-width:96vw;max-height:94dvh;background:#fff;color:var(--ink);overflow:auto}.photo-viewer::backdrop{background:rgba(0,0,0,.85)}.photo-viewer-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.photo-viewer-tools a{text-decoration:underline;font-size:16px}.photo-viewer button{min-width:48px;min-height:48px;background:#fff;border:1px solid var(--line);padding:8px 14px;cursor:pointer}.photo-viewer img{width:auto;height:auto;max-width:100%;max-height:72dvh;object-fit:contain;margin:0 auto}.photo-viewer-caption{margin:14px 0 0;font-weight:700;color:var(--ink)}html:has(.photo-viewer[open]){overflow:hidden}

/* Share desktop branding and reading order at every screen size. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
nav .button[aria-current]{color:#fff}
.hero>*,.split>*,.section-heading>*,.estimate-layout>*,footer>*{min-width:0}
@media(max-width:900px){
  .menu{color:var(--ink);border-color:var(--ink);border-radius:0;min-height:44px;cursor:pointer}
  .menu[aria-expanded="true"]{background:var(--ink);color:#fff}
  nav{gap:0;border-top:1px solid var(--line)}
  nav a{padding:12px 10px;min-height:44px}
  nav a[aria-current]:not(.button){background:var(--light);border-left:3px solid var(--red)}
  nav .button{margin-top:12px}
}
@media(max-width:760px){
  .hero{grid-template-columns:1fr;gap:32px;padding:40px 6%}
  .hero h1{font-size:clamp(2.75rem,10.8vw,4rem)}
  .hero-copy>p{max-width:560px;font-size:17px}
  .hero-art{min-height:0;padding:24px 30px 56px}
  .hero-art img{height:auto;max-height:300px}
  .actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:18px 24px}
  .hero-proof{flex-wrap:wrap}
  .section-heading{display:block}
  .section-heading p{max-width:560px}
  .split{grid-template-columns:1fr;gap:24px}
  .cta{display:block}
  .cta .button{margin-top:28px}
  .review-top{align-items:flex-start;flex-direction:column}
  .three{grid-template-columns:1fr;gap:24px}
}
@media(max-width:600px){
  .hero .eyebrow{margin-bottom:20px}
  .hero h1{margin-bottom:24px}
  .hero-art img{max-height:250px}
  .actions{margin:24px 0}
  .actions .button{font-size:16px}
  .hero-proof span:last-child{font-size:13px}
  .value-strip{gap:0;padding:16px 6%;text-align:left}
  .value-strip span{padding:10px 8px}
  .section-heading{margin-bottom:24px}
  .service{min-height:0;padding:26px}
  .service .num{margin-bottom:22px}
  .service .more{margin-top:12px}
  .estimate-form button{width:100%}
  .art-caption{left:20px;right:20px;gap:12px;font-size:10px}
}
@media(max-width:380px){
  footer{grid-template-columns:1fr}
  .actions{align-items:flex-start;flex-direction:column}
  .actions .button{width:100%}
  .value-strip{font-size:12px}
  .phone{font-size:24px}
}
