/* Comfortable reading sizes throughout the site, including smaller screens. */
body{font-size:18px;line-height:1.75}
.header-inner{min-height:108px;height:auto;padding-block:15px;gap:22px}
.brand{width:205px}
.nav{font-size:16px;gap:24px}
.header-cta{font-size:14px;min-height:49px}
.topline .container{min-height:42px;gap:15px}
.topline{font-size:12px}
.section-heading>p{max-width:420px;font-size:18px;line-height:1.85}
.button{font-size:16px;min-height:56px;line-height:1.5}
.button-small{font-size:15px;min-height:49px}
.eyebrow{font-size:13px;line-height:1.7}
.service-card{min-height:430px}
.service-card p,.about-reasons p,.process-grid p,.faq-list details p,.contact-location p{font-size:16px;line-height:1.85}
.service-bottom{font-size:14px;line-height:1.6;gap:12px}
.service-card h3{font-size:28px}
.service-top{margin-bottom:28px}
.filter{font-size:15px;padding:11px 17px}
.gallery-hint{font-size:13px}
.project-meta{font-size:14px;line-height:1.6;flex-wrap:wrap}
.project-location{font-size:13px}
.project-card h3{font-size:21px;line-height:1.5}
.about-copy>p:not(.eyebrow){font-size:18px;line-height:1.85}
.about-reasons h3{font-size:18px;line-height:1.5}
.about-label{max-width:calc(100% - 20px)}
.about-label strong{font-size:27px}
.about-sticker{width:150px;height:150px}
.about-sticker span{font-size:13px}
.process-grid{gap:27px}
.process-grid h3{font-size:21px;line-height:1.4}
.faq-intro>p:not(.eyebrow){font-size:18px;line-height:1.85;max-width:350px}
.faq-list summary{font-size:18px;line-height:1.7}
.faq-list details{padding-block:23px}
.contact-copy>p:not(.eyebrow){font-size:18px;line-height:1.85}
.contact-phone-label,.contact-email{font-size:16px;line-height:1.8}
.contact-location strong{font-size:17px;line-height:1.7}
.form-title p,.form-field>label,.form-bottom{font-size:15px;line-height:1.75}
.form-field input,.form-field textarea,.form-field select{font-size:16px;min-height:51px;padding:13px}
.form-field input::placeholder,.form-field textarea::placeholder{font-size:15px}
.form-field textarea{min-height:110px}
.input-suffix span{top:14px;font-size:15px}
.input-suffix input{padding-right:42px}
.file-upload strong{font-size:16px}
.file-upload small{font-size:13px}
.consent{font-size:13px;line-height:1.8}
.form-submit{font-size:16px;gap:15px}
.form-response{font-size:16px}
.form-bottom .icon{width:16px;height:16px;margin-top:4px}
.form-fallback{font-size:15px}
.file-list{font-size:13px}
.footer p,.footer-main>div>a:not(.footer-brand){font-size:15px;line-height:1.9}
.footer h3{font-size:16px}
.footer .footer-legal{font-size:13px}
.footer-bottom{font-size:13px;line-height:1.8;flex-wrap:wrap}
.footer-main{grid-template-columns:1.1fr .8fr 1.1fr 1fr;gap:32px}
.footer-main a{overflow-wrap:anywhere}
.floating-wa{font-size:14px}
.lightbox-caption p{font-size:14px}
.lightbox-caption .button{font-size:15px;white-space:normal}
.tariff-includes li,.tariff-audience p{font-size:16px;line-height:1.85}
.tariff-subtitle{font-size:16px;line-height:1.8;min-height:88px}
.tariff-example{font-size:14px;line-height:1.8;min-height:50px}
.tariff-card h4{font-size:17px;line-height:1.6}
.tariff-topline{font-size:13px;flex-wrap:wrap}
.tariff-popular{font-size:12px}
.tariff-price{gap:4px;flex-wrap:wrap;white-space:normal}
.tariff-price>span:last-child{font-size:16px}
.tariff-price>span:first-child,.tariff-area-basis{font-size:14px}
.tariff-calculate{font-size:16px;gap:9px}
.tariff-intro p,.tariff-extras ul,.tariff-help p{font-size:16px;line-height:1.85}
.tariff-help .button{font-size:15px}
.pricing-section .pricing-footnote p{font-size:14px;line-height:1.85}
.estimate-header>p:last-child,.estimate-field>label,.estimate-callback-intro{font-size:16px;line-height:1.8}
.estimate-field input,.estimate-field select{font-size:16px;min-height:51px}
.estimate-field input::placeholder{font-size:15px}
.estimate-field>p,.estimate-result p.estimate-result-note,.estimate-no-obligation{font-size:14px;line-height:1.8}
.estimate-equation{font-size:15px;line-height:1.8}
.estimate-consent{font-size:13px;line-height:1.8}
.estimate-next,.estimate-submit{font-size:16px;line-height:1.5}
.estimate-back,.estimate-response,.estimate-fallback{font-size:15px;line-height:1.8}
.estimate-dialog{width:min(640px,calc(100% - 32px))}
@media(max-width:1190px){.header-inner{gap:18px}.brand{width:185px}.nav{font-size:15px;gap:20px}.header-cta{font-size:13px;padding-inline:15px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:370px}.service-card p{font-size:17px}.service-bottom{font-size:15px}.tariff-card{padding-inline:20px}.tariff-card.tariff-featured{padding-inline:19px}.tariff-subtitle{min-height:88px}}
@media(max-width:960px){.header-inner{min-height:94px}.section-heading{align-items:start}.section-heading>p{max-width:340px;font-size:17px}.about-grid{gap:38px}.about-sticker{right:-7px;width:132px;height:132px}.about-sticker span{font-size:12px}.about-label{padding:19px;left:0}.about-label strong{font-size:24px}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:30px}.quote-form{padding:27px}.form-row{grid-template-columns:1fr;gap:0}.contact-email{overflow-wrap:anywhere}.contact-copy h2{font-size:39px}.form-submit{font-size:15px}.footer-main{grid-template-columns:1fr .8fr 1.2fr;gap:30px}.gallery-toolbar{align-items:start}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card h3{font-size:20px}.process-grid{gap:30px}.process-grid h3{font-size:21px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{min-height:82px;padding-block:11px;gap:14px}.brand{width:153px}.header-cta{font-size:12px;min-height:42px;padding:10px 12px;max-width:calc(100% - 199px);gap:6px}.menu-toggle{width:32px}.nav{top:82px}.nav a{font-size:18px;padding-block:14px}.topline{font-size:12px}.topline .container{font-size:12px;min-height:34px}.section-heading{gap:22px}.section-heading>p{font-size:17px;max-width:none}.eyebrow{font-size:12px;letter-spacing:.1em}.button{font-size:16px}.service-card{padding:26px;min-height:0}.service-card p{font-size:16px}.service-bottom{font-size:14px;margin-top:24px}.service-card h3{font-size:28px}.service-card h3 br{display:none}.project-meta{font-size:13px}.project-location{font-size:13px;padding:5px 9px}.project-card h3{font-size:18px}.filters{gap:8px}.filter{font-size:14px;padding:10px 13px}.about-copy>p:not(.eyebrow){font-size:17px}.about-reasons p{font-size:16px}.about-reasons h3{font-size:18px}.about-art{max-width:500px}.about-label{left:12px;padding:20px 24px}.about-label span{font-size:18px}.about-label strong{font-size:26px}.about-sticker{width:135px;height:135px}.about-sticker span{font-size:12px}.text-link,.about-copy .text-link{font-size:16px}.process-grid article{padding-left:72px;padding-bottom:30px}.process-grid h3{font-size:21px}.process-grid p{font-size:16px}.color-banner .button{font-size:15px;padding:15px 18px}.faq-intro>p:not(.eyebrow){font-size:17px;max-width:none}.faq-list summary{font-size:17px;gap:15px}.faq-list details p{font-size:16px}.contact-grid{display:flex;flex-direction:column;gap:35px}.contact-copy>p:not(.eyebrow){font-size:17px}.contact-phone-label{font-size:14px}.contact-email{font-size:16px}.contact-location strong{font-size:17px}.contact-location p{font-size:16px}.button-wa{font-size:15px;line-height:1.6;min-height:53px}.form-title p{font-size:16px}.quote-form{padding:28px 24px}.form-field>label{font-size:15px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.form-submit{font-size:16px;padding:16px}.form-bottom{font-size:13px}.file-upload small{font-size:13px}.consent{font-size:13px}.footer-main>div:first-child{flex-wrap:wrap;gap:15px}.footer-main>div:first-child>p{font-size:15px}.footer-main p,.footer-main>div>a:not(.footer-brand){font-size:14px}.footer-main h3{font-size:16px}.footer-bottom{font-size:12px;gap:14px}.mobile-contact-bar>a{font-size:14px;gap:7px;min-height:46px}.mobile-contact-bar .icon{width:19px;height:19px}.footer{padding-bottom:80px}.lightbox-caption p{font-size:14px}.lightbox-caption .button{font-size:16px}.tariff-card:last-child .tariff-calculate,.tariff-calculate{font-size:16px}.tariff-subtitle{min-height:0;font-size:17px}.tariff-example{font-size:14px;min-height:0}.tariff-topline{font-size:14px}.tariff-popular{font-size:12px}.tariff-card h4{font-size:18px}.tariff-includes li,.tariff-audience p{font-size:16px}.tariff-extras ul,.tariff-help p{font-size:16px}.tariff-help .button{font-size:15px}.estimate-dialog{width:calc(100% - 20px)}.estimate-next,.estimate-submit{font-size:15px}.estimate-header>p:last-child,.estimate-field>label,.estimate-callback-intro{font-size:16px}.estimate-field>p,.estimate-result p.estimate-result-note{font-size:14px}.estimate-consent{font-size:13px}.estimate-equation{font-size:14px}.estimate-response,.estimate-fallback{font-size:15px}}
@media(max-width:600px){.service-grid{grid-template-columns:minmax(0,1fr);gap:18px}.estimate-contact-row{grid-template-columns:1fr;gap:0}.estimate-shell{padding:30px 23px}.estimate-header{padding-right:18px}.tariff-subtitle{min-height:0}.footer-main>div:first-child{display:block}.footer-main>div:first-child>p{margin-top:17px}.form-row{grid-template-columns:1fr}.gallery-more-wrap .button{font-size:15px}.estimate-back{font-size:14px}.estimate-no-obligation{font-size:13px}.estimate-header h2{font-size:30px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.brand{width:127px}.header-inner{gap:10px}.header-cta{max-width:calc(100% - 169px);font-size:12px;padding-inline:9px}.header-cta .icon{display:none}.service-card{padding:25px}.quote-form{padding:26px 20px}.form-submit{font-size:15px}.mobile-contact-bar>a{font-size:13px;gap:5px}.mobile-contact-bar .icon{width:17px;height:17px}.tariff-includes li,.tariff-audience p{font-size:16px}.footer-brand{width:155px}}

html{overflow-x:hidden}.header-cta-short{display:none}
@media(max-width:700px){.header-cta-full{display:none}.header-cta-short{display:inline}.header-cta{white-space:nowrap;min-height:42px;font-size:13px}.header-inner{height:82px}.nav{top:82px}}
.paint-ribbon{transform:none;clip-path:polygon(0 7%,100% 0,100% 93%,0 100%)}
@media(max-width:700px){.color-banner .big-roller{width:90%;max-width:340px}}
@media(max-width:370px){.about-sticker{right:2px}}

/* Center the mobile footer and give navigation and contact details full width. */
@media(max-width:700px){
 .footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .footer-main{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:28px;text-align:center}
 .footer-main>div{min-width:0}
 .footer-main>div:first-child{display:flex;grid-column:auto;justify-content:center;align-items:center;gap:0}
 .footer .footer-brand{width:150px;margin-inline:auto}
 .footer-main>div:nth-child(2){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:8px;width:100%;max-width:360px;margin-inline:auto}
 .footer-main>div:nth-child(2)>h3{grid-column:1/-1}
 .footer-main h3{font-size:17px;margin:0 0 10px}
 .footer-main>div>a:not(.footer-brand){font-size:15px;line-height:1.65;margin-bottom:0;overflow-wrap:normal;word-break:normal}
 .footer-main>div:nth-child(3)>a+a{margin-top:8px}
 .footer-main p{font-size:15px;line-height:1.75;margin-top:12px}
 .footer .footer-bottom{flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-inline:0;text-align:center}
 .footer .footer-bottom>.footer-policy{margin-left:0;text-align:center}
}
