@font-face{font-family:Fahkwang;src:url('assets/fonts/fahkwang-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Fahkwang;src:url('assets/fonts/fahkwang-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Helvetica Neue';src:url('assets/fonts/helvetica-neue.woff2') format('woff2');font-weight:400;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#111;background:#fff;font-family:'Helvetica Neue',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #9b655f;outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.brand,.footer-brand>a,.service-copy h3{font-family:Fahkwang,Arial,sans-serif}[hidden]{display:none!important}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:14px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{height:248px}.header-inner{margin:0 100px;position:relative;height:100%}.brand{position:absolute;left:31px;top:37px;font-size:34px;font-weight:700;line-height:44px;width:494px}.brand small{display:block;font:14px/16px 'Helvetica Neue',Arial,sans-serif;margin-top:2px;margin-left:2px}.site-header nav{position:absolute;right:0;top:68px;width:700px;font-size:16px}.site-header ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between}.site-header nav>ul>li>a,.projects-menu>div>a{display:block;padding:32px 20px}.site-header a[aria-current],.site-header nav a:hover{color:#68403c}.projects-menu{position:relative}.projects-menu>div{position:relative}.submenu-toggle{position:absolute;right:-3px;top:33px;border:0;background:none;padding:0 3px;font-size:14px}.site-header #project-links{display:none;position:absolute;left:0;top:75px;min-width:330px;background:#fff;z-index:10;box-shadow:0 4px 12px #0002;padding:10px}.site-header #project-links a{display:block;padding:12px;font-size:14px}.projects-menu:hover #project-links,.projects-menu:focus-within #project-links,.projects-menu.open #project-links{display:block}.menu-toggle{display:none}
main{display:flex;flex-direction:column}.hero{height:1029px;position:relative;overflow:hidden}.hero-photo{height:777px;overflow:hidden}.hero-photo img{width:100%;height:972px;object-fit:cover;transform:translateY(-198px)}.hero-copy{position:absolute;top:234px;left:max(50px,calc((100% - 1080px)/2));width:1420px;color:#fff}.hero h1,.hero-copy p{font:700 67px/1.3 Fahkwang,Arial,sans-serif}.hero h1{max-width:1420px}.hero-copy p{margin-top:87px}
.services{height:844px;padding-top:77px}.services>h2{font-size:56px;line-height:1.4;margin-left:calc((100% - 936px)/2);margin-bottom:43px}.service-grid{margin:0 40px;background:#eeeceb;min-height:646px;padding:60px 42px 76px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}.service-card>img{display:block;width:100%;height:335px;object-fit:cover}.service-copy{position:relative;background:#fff;margin:-55px -15px 0 20px;padding:33px 19px 40px;min-height:198px}.service-copy h3{font-size:20px;line-height:28px;margin-bottom:5px;white-space:nowrap}.service-copy p{font-size:11px;line-height:30.8px}.service-card:nth-child(3) p{line-height:19.8px}.service-card:nth-child(3) .service-copy{min-height:165px}
.clients{height:1519px;position:relative;width:100%;max-width:1425px;align-self:center}.client-heading{position:absolute;top:38px;left:calc(50% - 476px)}.client-heading p{font-size:16px;line-height:22.4px;margin-bottom:11px}.client-heading h2{font-size:38px;line-height:53.2px}.client-logo{position:absolute}.client-logo img{display:block;max-width:100%;height:auto}.schomberg-main-street-logo{left:calc(50% + 274px);top:535px;width:200px}.dollar-tree-logo{left:calc(50% - 476px);top:768px;width:264px}.square-one-logo{left:calc(50% - 180px);top:1427px;width:402px}.yonge-sheppard-centre-logo{left:calc(50% - 499px);top:511px;width:257px}.st-louis-bar-grill-logo{left:calc(50% - 467px);top:293px;width:192px}.garry-mercer-trucking-logo{left:calc(50% + 271px);top:328px;width:203px}.napoleon-logo{left:calc(50% + 274px);top:727px;width:214px}.rexall-logo{left:calc(50% - 462px);top:1170px;width:220px}.pharmasave-logo{left:calc(50% + 282px);top:936px;width:206px}.molson-canadian-logo{left:calc(50% - 476px);top:859px;width:192px}.pizza-hut-logo{left:calc(50% + 299px);top:1136px;width:151px}
.honeycomb{position:absolute;width:560px;height:690px;left:calc(50% - 260px);--tile:174px;--step:93px}.gallery-2{top:162px}.gallery-1{top:774px}.diamond{position:absolute;left:calc(var(--x)*var(--step));top:calc(var(--y)*var(--step));width:var(--tile);height:var(--tile);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);padding:0;border:0;background:#eee}.diamond img{width:100%;height:100%;object-fit:cover}.diamond span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:35px;background:#000a;color:white;font-size:12px;opacity:0;transition:opacity .2s}.diamond:hover span,.diamond:focus-visible span{opacity:1}.diamond:focus-visible{filter:brightness(.7)}
footer{background:#000;color:#fff;min-height:847px}.footer-inner{position:relative;margin:0 100px;padding:78px 33px 100px;display:grid;grid-template-columns:30% 50% 20%}.footer-brand>a{display:block;width:210px;font-size:34px;line-height:44px}.footer-brand p{font-size:14px;line-height:16px;margin-top:5px}.contact-form{padding-top:6px;width:490px;max-width:100%}.eyebrow{font-size:17px;line-height:20px;margin-bottom:15px}.contact-form h2{font-size:38px;line-height:49.4px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:43px 54px;margin-top:52px}.contact-form label{font-size:16px}.fields input,.fields textarea{display:block;width:100%;border:0;border-bottom:1px solid #aaa;background:none;border-radius:0;color:#fff;min-height:40px}.fields .message-field{grid-column:1/-1;margin-top:10px}.fields textarea{resize:vertical;height:85px;padding:8px 0}.submit-button{border:0;background:#643632;color:#fff;padding:25px 30px;min-width:231px;margin-top:52px}.submit-button:hover{background:#80524e}.form-status{font-size:14px;line-height:1.5;margin-top:12px}.local-note{font-size:11px;color:#b5b5b5;margin-top:8px}.contact-details{padding-top:6px;padding-left:12px}.contact-details h3{font-size:17px;line-height:20px;margin-bottom:15px}.contact-details p{font-size:16px;line-height:25.6px}.contact-details h3:not(:first-child){margin-top:69px}.contact-details a[href^="mailto"]{font-size:15px}.instagram{display:block;margin-top:67px;width:30px}.instagram img{width:30px;height:30px}.contact-details .copyright{font:11px/17.6px Arial,sans-serif;margin-top:60px}.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.reviews-badge{position:fixed;bottom:22px;left:24px;z-index:30;background:#fff;border:1px solid #eee;box-shadow:0 2px 12px #0002;border-radius:7px;display:flex;align-items:center;gap:12px;padding:12px 15px;text-align:left;width:320px;height:72px}.google-g{font:bold 42px Arial;color:#4285f4}.reviews-badge strong{font-size:16px;font-weight:400}.reviews-badge small{display:block;font-size:11px;color:#555;margin-top:4px}.reviews-badge>span:last-child{margin-left:auto;color:#888}#reviews-panel{position:fixed;bottom:106px;left:24px;width:320px;padding:25px;background:#fff;box-shadow:0 3px 20px #0003;z-index:35}#reviews-panel h2{font-size:20px;margin:10px 0}#reviews-panel p{font-size:14px;line-height:1.5}.reviews-close{float:right;border:0;background:none;font-size:24px}.message-launcher{position:fixed;right:24px;bottom:24px;width:60px;height:60px;border:0;border-radius:50%;background:#643632;color:#fff;z-index:40;box-shadow:0 2px 12px #0002}.message-launcher svg{width:30px;height:30px}dialog{border:0;padding:0}dialog::backdrop{background:#0005}#message-dialog{position:fixed;inset:auto 20px 96px auto;margin:0;width:340px;max-width:calc(100% - 24px);max-height:calc(100dvh - 120px);background:#e9e7e7;box-shadow:0 3px 24px #0003}.message-header{display:flex;align-items:center;justify-content:space-between;background:white;padding:18px}.message-header h2{font-size:16px}.message-header p{font-size:12px;margin-top:5px}.dialog-close{font-size:25px;border:0;background:none}.message-body{padding:20px;font-size:14px;line-height:1.4}.message-body>p{background:#fff;padding:15px;margin-bottom:20px}.message-body label{display:block;margin-top:10px}.message-body input,.message-body textarea{display:block;width:100%;border:1px solid #999;background:white;padding:8px;margin-top:4px}.message-body textarea{height:70px;resize:vertical}.message-body .submit-button{margin-top:15px;min-width:0;width:100%;padding:14px}.message-body .local-note{color:#555}#lightbox{background:#111;color:#fff;width:min(1100px,94vw);max-height:94dvh;overflow:auto;padding:50px}#lightbox figure{margin:0;text-align:center}#lightbox img{max-width:100%;max-height:74dvh;object-fit:contain}#lightbox figcaption{padding-top:15px}.lightbox-close{position:absolute;right:12px;top:5px;background:none;border:0;font-size:36px;color:white}.previous-image,.next-image{position:absolute;top:45%;border:0;background:#1119;color:#fff;font-size:42px}.previous-image{left:8px}.next-image{right:8px}.noscript-note{padding:20px;text-align:center}
@media(min-width:751px) and (max-width:1199px){.header-inner{margin:0 40px}.brand{font-size:27px}.site-header nav{top:120px;width:100%}.hero-copy{left:7%;width:90%}.hero h1,.hero-copy p{font-size:55px}.service-grid{padding:40px 25px;gap:20px;margin:0 20px}.service-copy{margin-left:8px;padding:25px 12px}.service-copy h3{font-size:16px}.services>h2{margin-left:10%}.clients{transform-origin:top center}.client-logo{transform:scale(.75)}.client-heading{left:8%}.honeycomb{--tile:140px;--step:75px;left:calc(50% - 220px)}.st-louis-bar-grill-logo,.yonge-sheppard-centre-logo,.dollar-tree-logo,.molson-canadian-logo,.rexall-logo{left:2%}.garry-mercer-trucking-logo,.schomberg-main-street-logo,.napoleon-logo,.pharmasave-logo,.pizza-hut-logo{left:auto;right:2%}.footer-inner{margin:0 30px;padding-left:0;padding-right:0;grid-template-columns:25% 48% 27%;gap:15px}.footer-brand>a{font-size:26px;width:170px}.contact-form h2{font-size:29px}.contact-details{padding-left:0}.fields{gap:30px}}
@media(max-width:750px){body{width:100%}.site-header,main,footer{width:320px;max-width:100%;margin-left:auto;margin-right:auto}.site-header{height:177px}.header-inner{margin:0}.brand{left:53px;top:24px;width:163px;font-size:23px;line-height:30px}.brand small{font-size:12px;line-height:14px;width:175px;margin-top:4px;margin-left:1px}.menu-toggle{display:flex;flex-direction:column;gap:5px;position:absolute;right:7px;top:17px;width:47px;height:50px;padding:14px;border:0;background:white;z-index:52}.menu-toggle span{height:1px;background:#222;width:22px}.site-header nav{display:none;position:absolute;top:0;left:0;width:100%;padding:70px 24px 30px;background:#fff;z-index:51;box-shadow:0 5px 12px #0002}.site-header nav.open{display:block}.site-header nav>ul{display:block}.site-header nav>ul>li>a,.projects-menu>div>a{padding:15px}.submenu-toggle{right:0;top:12px;padding:5px 12px}.site-header #project-links{position:static;min-width:0;padding:0;box-shadow:none}.projects-menu:hover #project-links,.projects-menu:focus-within #project-links{display:none}.projects-menu.open #project-links{display:block}.hero{height:356px;order:0}.hero-photo,.hero-photo img{height:356px}.hero-photo img{transform:none;object-fit:cover}.hero-copy{left:20px;top:55px;width:306px}.hero h1,.hero-copy p{font-size:27px;line-height:35.1px}.hero h1{max-width:306px}.hero-copy p{margin-top:35.1px}.clients{order:1;height:1829px;width:320px}.client-heading{top:20px;left:20px}.client-heading p{font-size:17px;line-height:23.8px;margin-bottom:10px}.client-heading h2{font-size:22px;line-height:30.8px}.honeycomb{left:20px;width:280px;height:344px;--tile:77px;--step:43px}.gallery-2{top:95px}.gallery-1{top:930px}.client-logo img{width:100%;height:auto}.schomberg-main-street-logo{left:90px;top:449px;width:140px}.yonge-sheppard-centre-logo{left:70px;top:523px;width:180px}.st-louis-bar-grill-logo{left:95px;top:622px;width:130px}.garry-mercer-trucking-logo{left:90px;top:769px;width:140px}.napoleon-logo{left:85px;top:845px;width:150px}.molson-canadian-logo{left:90px;top:1254px;width:130px}.rexall-logo{left:80px;top:1418px;width:150px}.pharmasave-logo{left:85px;top:1490px;width:140px}.pizza-hut-logo{left:105px;top:1592px;width:110px}.dollar-tree-logo{left:65px;top:1706px;width:200px}.square-one-logo{left:32px;top:1760px;width:255px}.diamond span{padding:10px;font-size:8px}.services{height:auto;padding-top:24px;order:2}.services>h2{font-size:30px;line-height:42px;margin:0 20px 5px}.service-grid{display:block;margin:0;padding:40px 20px;background:#eeeceb;min-height:0}.service-card{margin-bottom:60px}.service-card:last-child{margin-bottom:0}.service-card>img{width:200px;height:234px;margin:auto}.service-copy{margin:10px 0 0;padding:37px 19px 40px;min-height:0}.service-copy h3{white-space:normal;font-size:20px;line-height:28px;width:147px}.service-copy p{line-height:30.8px;font-size:11px}.service-card:nth-child(3) p{font-size:12px;line-height:21.6px}.service-card:nth-child(3) .service-copy{min-height:0}footer{min-height:0}.footer-inner{display:block;margin:0;padding:22px 20px 80px}.footer-brand{margin-left:30px;margin-bottom:47px}.footer-brand>a{font-size:23px;line-height:30px;width:247px}.footer-brand p{font-size:12px;line-height:14px;margin:0}.contact-form{width:280px;padding:0}.eyebrow{font-size:14px;line-height:16px;margin-bottom:20px}.contact-form h2{font-size:23px;line-height:29.9px}.fields{display:block;margin-top:20px}.contact-form label{display:block;font-size:14px;margin-top:14px}.fields input{min-height:30px}.fields .message-field{margin-top:14px}.fields textarea{height:85px}.submit-button{margin-top:24px;width:100%;padding:17px}.contact-details{padding:35px 0 0}.contact-details h3{font-size:14px;line-height:16px;margin-bottom:10px}.contact-details p{font-size:14px;line-height:22.4px}.contact-details h3:not(:first-child){margin-top:40px}.contact-details a[href^="mailto"]{font-size:13px}.instagram{margin-top:40px;width:20px}.instagram img{width:20px;height:20px}.contact-details .copyright{margin-top:22px;font-size:11px}.reviews-badge{left:8px;bottom:12px;width:220px;height:58px;padding:9px 10px;gap:8px}.google-g{font-size:30px}.reviews-badge strong{font-size:13px}.reviews-badge small{font-size:10px}.message-launcher{right:12px;bottom:14px;width:50px;height:50px}#reviews-panel{left:8px;bottom:80px;width:min(320px,calc(100vw - 16px))}#message-dialog{right:12px;bottom:80px;max-height:calc(100dvh - 95px)}#lightbox{padding:45px 30px}#lightbox figcaption{font-size:13px}}
@media(min-width:1200px){.footer-inner{grid-template-columns:31.7% 54% 14.3%}.contact-details{padding-left:0;width:196px}}
/* Mobile dimensions measured against Wix at 440 x 956 and 390 x 956.
   Wix scales a 320px viewport. Scale only the page content here, preserving
   the standard device-width viewport, pinch zoom and desktop layout. */
@media(max-width:750px){
  .site-header,main,footer{zoom:calc(100vw / 320px)}
  .menu-toggle{top:16px;padding:15px 12.5px;gap:7px}
  .menu-toggle span{height:2px;flex-shrink:0;background:#000}
  .hero{height:355.75px}
  .clients{height:1829.59375px}
  .client-heading{width:280px}
  .gallery-2{top:94.59375px;--tile:65.04907px;--step:43.131133px}
  .gallery-1{top:930.59375px;left:0;width:300px;height:368px;--tile:71.71573px;--step:46.464467px}
  .diamond{left:calc(21.2132px + var(--x)*var(--step));top:calc(21.2132px + var(--y)*var(--step))}
  .service-copy{width:279px;padding-bottom:10px}
  .service-copy p{width:243px;font-size:12px}
  .service-card{margin-bottom:60px}
  .contact-form .fields label{font-size:16px;line-height:16px;margin-top:12px}
  .contact-form .fields label:first-child{margin-top:0}
  .fields input{height:34px;min-height:34px;padding:3px 3px 3px 0;font-size:13.8667px;line-height:19.4133px}
  .fields textarea{height:84px;padding:12px 10px 3px 0}
  .contact-form .submit-button{height:50px;padding:0;font-size:14px;line-height:16px;background:#5b2f2c}
  .contact-details h3:nth-of-type(2)+p{line-height:16px}
  .contact-details h3:nth-of-type(3)+p{line-height:15px}
  .instagram img{display:block}
  .footer-inner{padding-bottom:82px}
  /* Keep the two Wix-style floating areas separate and leave enough scroll
     space below the footer for its last line to clear both controls. */
  .reviews-badge,.message-launcher{zoom:calc(100vw / 320px)}
  .reviews-badge{left:0;bottom:0;width:244px;height:70px;border-radius:7px;padding:12px;gap:12px}
  .reviews-badge .google-g{font-size:36px}
  .reviews-badge strong{font-size:15px}
  .reviews-badge small{font-size:11px}
  .message-launcher{right:16px;bottom:16px;background:#5b2f2c}
  .message-launcher svg{width:24px;height:24px}
  #reviews-panel{bottom:calc(100vw * 78 / 320)}
  #message-dialog{bottom:calc(100vw * 78 / 320);max-height:calc(100dvh - 100vw * 90 / 320)}
  html{scroll-padding-bottom:calc(100vw * 82 / 320)}
  .fields input,.fields textarea,.submit-button,.contact-details a{scroll-margin-bottom:82px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Contact security widget layout. */
/* Reserve the compact widget's 150 x 140 space before loading and on reset.
   Keep it in normal flow, outside the field grid and above Submit. */
[data-local-form] > .contact-turnstile{
  display:flow-root;
  position:relative;
  width:100%;
  min-width:150px;
  min-height:140px;
  line-height:0;
  margin-top:20px;
  overflow:visible;
}
.contact-turnstile iframe{display:block;border:0}
@media(max-width:750px){
  /* The Wix-faithful footer is zoomed. Keep the third-party iframe at native
     scale without changing the surrounding typography or form dimensions. */
  footer .contact-turnstile{zoom:calc(320px / 100vw)}
}
/* Live Google reviews: preserve the existing fixed badge footprint. */
/* Legal links share the existing footer contact column and typography. */
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font:12px/1.6 Arial,sans-serif}
.footer-legal a{text-decoration:underline;text-underline-offset:3px;padding:3px 0}

/* Reviews are a single bottom-anchored card; its header stays above the scroll area. */
.reviews-widget{position:fixed;left:24px;bottom:22px;z-index:35;width:320px;max-width:calc(100vw - 48px);background:#fff;color:#222;border:1px solid #e4e4e4;border-radius:5px;box-shadow:0 2px 12px #0002;overflow:hidden;transition:width 180ms ease}
.reviews-widget.is-open{width:450px}
.reviews-widget .reviews-badge{position:relative;inset:auto;zoom:1;display:grid;grid-template-columns:65px minmax(0,1fr) 45px;align-items:stretch;gap:0;width:100%;height:68px;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff;color:#222;text-align:left}
.reviews-logo-cell{display:flex;align-items:center;justify-content:center;border-right:1px solid #e7e7e7}
.reviews-widget .reviews-logo{display:block;width:40px;height:auto;object-fit:contain;flex-shrink:0;margin:0}
.reviews-badge-copy{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;padding:5px 12px}
.reviews-score{display:flex;align-items:center;gap:8px;min-height:20px}
.reviews-widget .reviews-rating-value{font:bold 17px/20px Arial,sans-serif}
.reviews-widget .reviews-badge small{font:11px/14px Arial,sans-serif;letter-spacing:.3px;margin:0;color:#555}
.google-maps-attribution{font-family:Arial,sans-serif;font-style:normal;font-weight:400;font-size:12px;line-height:14px;letter-spacing:normal;white-space:nowrap;color:#5e5e5e}
.reviews-stars,.review-stars{font:16px/20px Arial,sans-serif;letter-spacing:0;width:max-content;white-space:nowrap;background:linear-gradient(to right,#e57908 var(--review-fill),#ddd var(--review-fill));background-clip:text;-webkit-background-clip:text;color:transparent}
.reviews-widget .reviews-badge>.reviews-chevron{display:flex;align-items:center;justify-content:center;border-left:1px solid #e7e7e7;margin:0;color:#777}
.reviews-chevron svg{transition:transform 180ms ease}
.reviews-widget.is-open .reviews-chevron svg{transform:rotate(180deg)}
.reviews-widget #reviews-panel{position:static;inset:auto;width:100%;height:380px;max-height:calc(100dvh - 94px);padding:16px 18px;overflow:auto;overscroll-behavior:contain;background:#fff;color:#222;box-shadow:none;border-top:1px solid #e7e7e7;text-align:left;animation:reviews-reveal 180ms ease-out}
@keyframes reviews-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
#reviews-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reviews-widget #reviews-panel p{margin:8px 0;font-size:13px;line-height:1.5}
.reviews-widget #reviews-panel a{color:#285b9a;text-decoration:underline;overflow-wrap:anywhere}
.reviews-widget #reviews-panel .reviews-status{font-weight:600}
.reviews-widget #reviews-panel .reviews-order{font-size:12px;color:#555}
.google-review{display:grid;grid-template-columns:36px minmax(0,1fr) 22px;column-gap:10px;align-items:start;border-top:1px solid #eee;padding:16px 0}
.review-author{grid-column:2;grid-row:1;font-size:13px;font-weight:600;overflow-wrap:anywhere;min-width:0}
.review-avatar{grid-column:1;grid-row:1/5;width:36px;height:36px;border-radius:50%;object-fit:cover}
.review-initials{display:flex;align-items:center;justify-content:center;background:#e9edf1;color:#465564;font:600 13px/1 Arial,sans-serif}
.review-rating{grid-column:2;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;color:#666}
.review-stars{font-size:14px;line-height:18px}
.review-date{font-size:11px}
.reviews-widget #reviews-panel .review-text{grid-column:2/-1;white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;line-height:1.5}
.review-text.is-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.review-text-toggle{grid-column:2/-1;justify-self:start;background:none;border:0;padding:5px 0;color:#555;font:11px/18px Arial,sans-serif;text-decoration:underline;text-underline-offset:3px}
.review-source{grid-column:2/-1;font-size:11px;margin-top:5px}
.review-source-icon{grid-column:3;grid-row:1;display:block;width:22px;height:auto;object-fit:contain}
.reviews-widget .reviews-maps-link{font-size:13px;display:inline-block;margin:8px 0}
.reviews-fallback{position:absolute;top:0;left:65px;right:45px;height:68px;display:flex;align-items:center;justify-content:center;padding:0 8px;background:white;color:#285b9a;font-size:13px;text-decoration:underline}
.reviews-widget :focus-visible{outline:2px solid #285b9a;outline-offset:-3px}
@media(max-width:750px){
 .reviews-widget{left:12px;bottom:12px;width:min(320px,calc(100vw - 100px));max-width:calc(100vw - 24px)}
 .reviews-widget.is-open{width:calc(100vw - 24px);bottom:calc(100vw * 78 / 320)}
 .reviews-widget .reviews-badge{grid-template-columns:60px minmax(0,1fr) 38px}
 .reviews-widget .reviews-logo{width:36px}
 .reviews-badge-copy{padding:5px 10px}
 .reviews-score{gap:6px}
 .reviews-widget #reviews-panel{max-height:calc(100dvh - 100vw * 78 / 320 - 86px);padding:14px}
 .reviews-fallback{left:60px;right:38px}
}
@media(prefers-reduced-motion:reduce){.reviews-widget,.reviews-chevron svg{transition:none}.reviews-widget #reviews-panel{animation:none}}
/* Homepage desktop spacing only. Keep the image/crop and hero pointer bounds.
   Its existing 1029px box includes a 252px empty tail after the 777px photo;
   reclaim that unused flow space without changing any hero transforms. */
@media(min-width:1200px){
  .home-page>.site-header{height:116px}
  .home-page>.site-header .brand{top:27px}
  .home-page>.site-header nav{top:17px}
  .home-page>main>.hero{margin-bottom:-252px}
  .home-page>main>.hero+.services{padding-top:60px;height:827px}
}
@media(min-width:1200px) and (max-width:1439px){
  .home-page>.site-header .header-inner{margin:0 40px}
  .home-page>.site-header .brand{left:0;top:31px;width:420px;font-size:28px;line-height:36px}
  .home-page>.site-header nav{width:660px}
}
