@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 600;font-display:swap;src:url('../fonts/fraunces-500-600-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:'Fraunces';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/fraunces-italic-500-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:'Work Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url('../fonts/work-sans-400-600-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}:root{--stone:#F7F2EA;--stone-deep:#EFE7D9;--charcoal:#252220;--charcoal-soft:#3A3532;--clay:#A9713F;--clay-deep:#8A5A30;--slate:#4B5A52;--white:#FFFFFF;--line:rgba(37,34,32,0.12);--shadow:0 20px 50px rgba(37,34,32,0.12);--radius:4px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Work Sans',sans-serif;background:var(--stone);color:var(--charcoal);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}ul{list-style:none}.wrap{max-width:1220px;margin:0 auto;padding:0 32px}h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;color:var(--charcoal)}.section{padding:110px 0}.section-tight{padding:70px 0}@media(max-width:768px){.section{padding:70px 0}.section-tight{padding:48px 0}.wrap{padding:0 20px}} .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-family:'Work Sans',sans-serif;font-weight:600;font-size:14.5px;letter-spacing:0.02em;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all .25s ease;white-space:nowrap} .btn-primary{background:#8A5A30;color:var(--white)}.btn-primary:hover{background:#714825;transform:translateY(-2px)}.btn-outline{border-color:rgba(255,255,255,0.5);color:var(--white)}.btn-outline:hover{background:rgba(255,255,255,0.12)}.btn-dark{background:var(--charcoal);color:var(--white)}.btn-dark:hover{background:var(--charcoal-soft);transform:translateY(-2px)}@media(max-width:480px){.btn{white-space:normal;text-align:center;line-height:1.3}} header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(247,242,234,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:6px 32px;max-width:1220px;margin:0 auto}.logo img{height:96px;width:auto}@media(max-width:980px){.logo img{height:74px}}nav ul{display:flex;gap:36px;align-items:center}nav a{font-size:14px;font-weight:500;position:relative;padding:4px 0}nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--clay);transition:width .25s ease}nav a:hover::after{width:100%}.header-cta{display:flex;align-items:center;gap:18px}.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}.mobile-toggle svg{width:26px;height:26px}@media(max-width:980px){nav{display:none}.mobile-toggle{display:block}}.mobile-menu{display:none;position:fixed;inset:0;background:var(--stone);z-index:1100;flex-direction:column;padding:100px 40px 40px}.mobile-menu.open{display:flex}.mobile-menu ul{display:flex;flex-direction:column;gap:28px}.mobile-menu a{font-family:'Fraunces',serif;font-size:26px;font-weight:500}.mobile-close{position:absolute;top:24px;right:24px;background:none;border:none;cursor:pointer}.mobile-close svg{width:28px;height:28px} .hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;overflow:hidden;background:var(--charcoal)}.hero-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;animation:kenburns 40s infinite} .hero-slide:nth-child(1){animation-delay:0s}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,34,32,0.55) 0%,rgba(37,34,32,0.72) 60%,rgba(37,34,32,0.88) 100%);z-index:1}.hero-content{position:relative;z-index:2;padding-top:80px;max-width:820px}.hero h1{color:var(--white);font-size:72px;line-height:1.08;font-weight:600;margin-bottom:26px}.hero h1 em{font-style:italic;color:#D9A968;font-weight:500}.hero p{color:rgba(255,255,255,0.82);font-size:20px;max-width:580px;margin-bottom:40px}.hero-btns{display:flex;gap:16px;flex-wrap:wrap}@media(max-width:768px){.hero h1{font-size:38px}.hero p{font-size:16px}.hero-content{padding-top:100px}}@media(max-width:480px){.hero h1{font-size:30px}.hero-btns{flex-direction:column;align-items:stretch}.hero-btns .btn{width:100%}} .trust-bar{background:var(--charcoal);position:relative;z-index:2;border-top:1px solid rgba(255,255,255,0.1)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1220px;margin:0 auto}.trust-item{padding:26px 24px;text-align:center;color:var(--white);border-right:1px solid rgba(255,255,255,0.08);display:flex;flex-direction:column;align-items:center;gap:8px}.trust-item:last-child{border-right:none}.trust-item svg{width:24px;height:24px;fill:#D9A968}.trust-item span{font-size:13.5px;font-weight:500;letter-spacing:0.01em}@media(max-width:768px){.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item{border-bottom:1px solid rgba(255,255,255,0.08)}} .about-section{background:var(--white)}.about-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:80px;align-items:center}.about-img{position:relative}.about-img img{border-radius:var(--radius);box-shadow:var(--shadow)}.about-img-frame{position:absolute;top:24px;left:-24px;right:24px;bottom:-24px;border:1.5px solid var(--clay);border-radius:var(--radius);z-index:-1}.about-content p{font-size:16.5px;color:var(--charcoal-soft);margin-bottom:18px;max-width:520px}.about-content h2{font-size:38px;margin-bottom:24px}@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:48px}.about-img-frame{display:none}} .services-section{background:var(--stone-deep)}.section-head{max-width:620px;margin-bottom:60px}.section-head h2{font-size:38px}.section-head p{color:var(--charcoal-soft);font-size:16.5px;margin-top:16px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border-radius:var(--radius);overflow:hidden}.service-card{background:var(--white);padding:44px 36px;transition:background .25s ease}.service-card:hover{background:var(--stone)}.service-num{font-family:'Fraunces',serif;font-size:14px;color:var(--clay);font-weight:600;margin-bottom:24px;display:block}.service-card h3{font-size:23px;margin-bottom:14px}.service-card p{color:var(--charcoal-soft);font-size:15px}@media(max-width:900px){.services-grid{grid-template-columns:1fr}} .areas-section{background:linear-gradient(135deg,rgba(37,34,32,0.92),rgba(37,34,32,0.88)),url('../img/hero/demo-plaster-pointed-vault-hallway-01-960.webp') center/cover no-repeat;color:var(--white)}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.areas-section h2{color:var(--white);font-size:36px;margin-bottom:20px}.areas-section p{color:rgba(255,255,255,0.72);font-size:16px;margin-bottom:32px;max-width:480px}.state-list{display:flex;flex-direction:column;gap:0}.state-item{display:flex;align-items:center;gap:16px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,0.12)}.state-item:first-child{border-top:1px solid rgba(255,255,255,0.12)}.state-item svg{width:20px;height:20px;fill:#D9A968;flex-shrink:0}.state-item h3{color:var(--white);font-size:19px;font-weight:500}.state-item span{color:rgba(255,255,255,0.55);font-size:13.5px}@media(max-width:900px){.areas-grid{grid-template-columns:1fr;gap:36px}} .process-section{background:var(--stone)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.process-step{position:relative;padding-top:28px}.process-step::before{content:'';position:absolute;top:0;left:0;width:36px;height:2px;background:var(--clay)}.process-step .step-label{font-family:'Work Sans';font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--clay-deep);margin-bottom:14px;display:block}.process-step h3{font-size:19px;margin-bottom:10px}.process-step p{font-size:14.5px;color:var(--charcoal-soft)}@media(max-width:900px){.process-grid{grid-template-columns:1fr 1fr;row-gap:40px}}@media(max-width:560px){.process-grid{grid-template-columns:1fr}} .gallery-section{background:var(--white)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--stone-deep)}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.gallery-item:hover img{transform:scale(1.06)}.gallery-item{cursor:pointer} .lightbox{position:fixed;inset:0;z-index:2000;background:rgba(20,18,16,0.96);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;padding:24px}.lightbox.open{opacity:1;visibility:visible}.lightbox-img-wrap{max-width:min(90vw,1100px);max-height:88vh;display:flex;align-items:center;justify-content:center}.lightbox-img{max-width:100%;max-height:88vh;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,0.5);object-fit:contain}.lightbox-close{position:absolute;top:22px;right:24px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;z-index:5}.lightbox-close:hover{background:rgba(255,255,255,0.2)}.lightbox-close svg{width:18px;height:18px;fill:var(--white)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;z-index:5}.lightbox-nav:hover{background:rgba(255,255,255,0.2)}.lightbox-nav svg{width:18px;height:18px;fill:var(--white)}.lightbox-nav.prev{left:20px}.lightbox-nav.next{right:20px}.lightbox-counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,0.75);font-size:13px;letter-spacing:0.04em}@media(max-width:640px){.lightbox-nav{width:42px;height:42px}.lightbox-nav.prev{left:8px}.lightbox-nav.next{right:8px}.lightbox-close{top:14px;right:14px;width:38px;height:38px}}.gallery-item.gallery-extra{display:none}.gallery-load-more-wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:40px}.gallery-carousel-wrap{position:relative}.gallery-carousel-wrap .gallery-nav-arrow{display:none}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;padding-bottom:0;scrollbar-width:none;-ms-overflow-style:none}.gallery-grid::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 100%;width:100%;scroll-snap-align:start}.gallery-item.gallery-extra{display:block}#galleryLoadMore{display:none}.gallery-carousel-wrap .gallery-nav-arrow{display:flex;position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background:transparent;border:none;box-shadow:none}.gallery-carousel-wrap .gallery-nav-arrow svg{fill:var(--white);filter:drop-shadow(0 1px 4px rgba(0,0,0,0.7))}.gallery-carousel-wrap .gallery-nav-arrow:hover{background:transparent}.gallery-carousel-wrap .gallery-nav-arrow:hover svg{fill:var(--white)}.gallery-carousel-wrap .gallery-nav-arrow.prev{left:10px}.gallery-carousel-wrap .gallery-nav-arrow.next{right:10px}} .reviews-section{background:var(--stone-deep)}.reviews-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px;flex-wrap:wrap;gap:24px}.stars{display:flex;gap:4px;margin-bottom:12px}.stars svg{width:18px;height:18px;fill:#D9A968}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.reviews-carousel{position:relative}.reviews-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}.reviews-track::-webkit-scrollbar{display:none}.reviews-track .review-card{flex:0 0 auto;width:calc((100% - 2 * 24px) / 3);scroll-snap-align:start}@media(max-width:1024px){.reviews-track .review-card{width:calc((100% - 24px) / 2)}}@media(max-width:640px){.reviews-track .review-card{width:100%}}.reviews-carousel{position:relative;padding:0 64px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0;z-index:5;box-shadow:0 8px 20px rgba(37,34,32,0.08)}.carousel-arrow.prev{left:0}.carousel-arrow.next{right:0}.carousel-arrow:hover{background:var(--charcoal);border-color:var(--charcoal)}.carousel-arrow:hover svg{fill:var(--white)}.carousel-arrow svg{width:16px;height:16px;fill:var(--charcoal);transition:fill .2s ease}.carousel-arrow[disabled]{opacity:0.35;cursor:default}.carousel-arrow[disabled]:hover{background:var(--white);border-color:var(--line)}.carousel-arrow[disabled]:hover svg{fill:var(--charcoal)}@media(max-width:768px){.reviews-carousel{padding:0 8px}.carousel-arrow{width:40px;height:40px;position:static;transform:none}.carousel-controls{display:flex;justify-content:center;gap:16px;margin-top:28px}#reviewPrev,#reviewNext{display:none}}@media(min-width:769px){.carousel-controls{display:none}}.review-card{background:var(--white);padding:34px;border-radius:var(--radius);box-shadow:0 8px 24px rgba(37,34,32,0.06)}.review-card p{font-size:15px;color:var(--charcoal-soft);margin-bottom:20px;font-style:italic}.review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.review-stars{display:flex;gap:2px}.review-stars svg{width:14px;height:14px;fill:#D9A968}.google-badge{width:20px;height:20px}.review-name-row{display:flex;align-items:center}.review-meta span{display:block}.review-name{font-weight:600;font-size:14.5px;color:var(--charcoal)}.review-date{font-size:12px;color:var(--charcoal-soft);opacity:0.8}.reviews-cta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;margin-top:46px}.google-cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);padding:14px 28px;border-radius:30px;font-weight:600;font-size:14.5px;box-shadow:0 8px 20px rgba(37,34,32,0.06);transition:all .25s ease}.google-cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(37,34,32,0.12)}.google-cta-btn svg{width:20px;height:20px}@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}} .faq-section{background:var(--stone-deep)}.faq-list{max-width:820px;margin:0 auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;background:none;border:none;text-align:left;cursor:pointer;font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--charcoal)}.faq-icon{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .3s ease,background .3s ease}.faq-icon::before,.faq-icon::after{content:'';position:absolute;background:var(--clay-deep);transition:transform .3s ease}.faq-icon::before{width:10px;height:1.5px}.faq-icon::after{width:1.5px;height:10px}.faq-item.open .faq-icon{background:var(--clay);border-color:var(--clay)}.faq-item.open .faq-icon::before,.faq-item.open .faq-icon::after{background:var(--white)}.faq-item.open .faq-icon::after{transform:rotate(90deg) scaleY(0)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.faq-answer p{padding:0 4px 26px;font-size:15px;color:var(--charcoal-soft);max-width:640px} .contact-section{background:linear-gradient(135deg,rgba(37,34,32,0.92),rgba(37,34,32,0.88)),url('../img/hero/demo-plaster-groin-vault-hall-01-960.webp') center/cover no-repeat;color:var(--white);position:relative}.contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px}.contact-section h2{color:var(--white);font-size:36px;margin-bottom:20px}.contact-section>.wrap>p,.contact-info-block p{color:rgba(255,255,255,0.7);font-size:16px;margin-bottom:36px;max-width:440px}.contact-info-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.contact-info-item svg{width:19px;height:19px;fill:#D9A968;margin-top:3px;flex-shrink:0}.contact-info-item h3{font-family:inherit;font-size:12px;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.5);margin-bottom:4px;font-weight:500}.contact-info-item a,.contact-info-item span{font-size:16px;font-weight:500;color:var(--white)}.social-row{display:flex;gap:12px;margin-top:36px}.social-row a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.social-row a:hover{background:var(--clay);border-color:var(--clay)}.social-row svg{width:17px;height:17px;fill:var(--white)}.form-card{background:var(--white);border-radius:var(--radius);padding:44px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group.full{grid-column:1/-1}.form-group label{font-size:12.5px;font-weight:600;color:var(--charcoal-soft);text-transform:uppercase;letter-spacing:0.06em}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--line);border-radius:var(--radius);padding:13px 14px;font-family:'Work Sans';font-size:14.5px;background:var(--stone);color:var(--charcoal)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--clay);outline-offset:1px}.form-group textarea{resize:vertical;min-height:100px}.form-card .btn{width:100%;margin-top:6px}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.form-card{padding:28px}} footer{background:#1C1A18;color:rgba(255,255,255,0.6);padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:50px;padding-bottom:50px}.footer-logo img{height:44px;width:auto;filter:brightness(0) invert(1);margin-bottom:18px}.footer-grid p{font-size:14px;line-height:1.7;max-width:280px}.footer-col h3{color:var(--white);font-family:'Fraunces';font-size:15px;font-weight:500;letter-spacing:normal;margin-bottom:20px}.footer-col ul{display:flex;flex-direction:column;gap:12px}.footer-col a{font-size:14px;transition:color .2s ease}.footer-col a:hover{color:#D9A968}.footer-social{display:flex;gap:12px;margin-top:22px}.footer-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.footer-social a:hover{background:var(--clay);border-color:var(--clay)}.footer-social svg{width:15px;height:15px;fill:rgba(255,255,255,0.75);transition:fill .2s ease}.footer-social a:hover svg{fill:var(--white)}.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:26px 0;display:flex;justify-content:space-between;font-size:13px;flex-wrap:wrap;gap:10px}.footer-bottom a{color:rgba(255,255,255,0.6)}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.footer-grid{grid-template-columns:1fr}} .floating-btns{position:fixed;bottom:24px;right:24px;z-index:900;display:flex;flex-direction:column;gap:12px}.float-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(37,34,32,0.3);transition:transform .2s ease}.float-btn:hover{transform:scale(1.08)}.float-btn.call{background:var(--clay)}.float-btn.sms{background:var(--clay)}.float-btn svg{width:24px;height:24px;fill:var(--white)}.js .reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}.js .reveal.in{opacity:1;transform:translateY(0)}.js .reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}.js .reveal-stagger.in>*{opacity:1;transform:translateY(0)}.reveal-stagger.in>*:nth-child(1){transition-delay:.05s}.reveal-stagger.in>*:nth-child(2){transition-delay:.15s}.reveal-stagger.in>*:nth-child(3){transition-delay:.25s}.reveal-stagger.in>*:nth-child(4){transition-delay:.35s}.reveal-stagger.in>*:nth-child(5){transition-delay:.45s}.reveal-stagger.in>*:nth-child(6){transition-delay:.55s}.reveal-stagger.in>*:nth-child(7){transition-delay:.65s}.reveal-stagger.in>*:nth-child(8){transition-delay:.75s}.section-loader{position:relative}.section-divider{height:1px;width:100%;background:linear-gradient(90deg,transparent,var(--clay) 50%,transparent);transform-origin:center;transition:transform 1s cubic-bezier(.22,.61,.36,1);opacity:0.5}.js .section-divider{transform:scaleX(0)}.js .section-divider.in{transform:scaleX(1)}.section-divider-wrap{padding:0;background:transparent} .lang-switch{position:relative}.lang-trigger{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.lang-trigger svg{width:100%;height:100%;display:block}.lang-trigger:hover{transform:translateY(-2px)}.lang-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:var(--white);border-radius:12px;box-shadow:0 16px 40px rgba(37,34,32,0.18);padding:8px;display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:50;min-width:150px}.lang-switch.open .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.lang-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:none;background:none;cursor:pointer;transition:background .15s ease;width:100%;text-align:left}.lang-option:hover{background:var(--stone)}.lang-option-flag{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0}.lang-option-flag svg{width:100%;height:100%;display:block}.lang-option span{font-size:13.5px;font-weight:500;color:var(--charcoal)}.mobile-lang-switch{position:relative;margin-top:36px}.mobile-lang-switch .lang-trigger{width:40px;height:40px}.mobile-lang-switch .lang-dropdown{top:calc(100% + 10px);left:0;right:auto}@media(max-width:560px){.lang-trigger{width:28px;height:28px}} @media(max-width:480px){.about-content h2{font-size:28px}.section-head h2{font-size:28px}.areas-section h2{font-size:26px}.contact-section h2{font-size:26px}.service-card{padding:32px 24px}.process-step{padding-top:24px}.faq-question{font-size:16px;padding:20px 4px}.form-card{padding:22px}.float-btn{width:50px;height:50px}.floating-btns{bottom:16px;right:16px;gap:10px}.google-cta-btn{padding:12px 20px;font-size:13px;text-align:center}.trust-item span{font-size:12.5px}} strong,b{font-weight:600}main{display:block} .hero-slide-first{opacity:1;animation-name:kenburns-first} .section-cta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:16px;margin-top:56px}.section-head-center{margin:0 auto 50px;text-align:center}.faq-cta{text-align:center;margin-top:40px;font-size:16px;color:var(--charcoal-soft)}.faq-cta a{color:var(--clay-deep);font-weight:600}@media(max-width:480px){.section-cta{flex-direction:column;align-items:stretch}.section-cta .btn,.gallery-load-more-wrap .btn,.reviews-cta .btn{width:100%}} .rating-note{font-size:13.5px;color:var(--charcoal-soft)}.google-card{max-width:520px;margin:0 auto;background:var(--white);border-radius:var(--radius);box-shadow:0 8px 24px rgba(37,34,32,0.06);padding:40px 36px;text-align:center}.google-card .g-logo{width:34px;height:34px;margin:0 auto 14px;display:block}.google-card-score{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px}.google-card-rating{font-family:'Fraunces',serif;font-size:54px;font-weight:600;line-height:1;color:var(--charcoal)}.google-card .review-stars svg{width:20px;height:20px;fill:#D9A968}.google-card p{color:var(--charcoal-soft);font-size:15px;margin-bottom:24px}@media(max-width:480px){.google-card{padding:32px 22px}.google-card-rating{font-size:44px}} .form-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px}.form-check input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--clay)}.form-check label{font-size:12px;line-height:1.55;color:var(--charcoal-soft)}.form-check a{text-decoration:underline}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-card{position:relative}.form-status{margin-top:14px;padding:14px 16px;border-radius:var(--radius);font-size:14px;line-height:1.5}.form-status[hidden]{display:none}.form-status-ok{background:#E8F1EA;color:#23452C}.form-status-error{background:#F8E6E1;color:#6B2A1A}.form-status a{font-weight:600;text-decoration:underline} .page-hero{position:relative;background:var(--charcoal);color:var(--white);padding:176px 0 72px;overflow:hidden}.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(169,113,63,0.22) 0%,rgba(37,34,32,0) 55%)}.page-hero .wrap{position:relative}.page-hero h1{color:var(--white);font-size:52px;line-height:1.1;margin-bottom:18px;max-width:860px}.page-hero p{color:rgba(255,255,255,0.82);font-size:18px;max-width:640px}.page-hero p a{color:#D9A968;font-weight:600}.page-hero .hero-btns{margin-top:32px}.page-hero .link-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.page-hero .link-list .btn-dark{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.3)}.page-hero .link-list .btn-dark:hover{background:rgba(255,255,255,0.2)}.breadcrumb{margin-top:34px;font-size:13px;color:rgba(255,255,255,0.6)}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none}.breadcrumb li+li::before{content:'/';margin-right:8px;color:rgba(255,255,255,0.35)}.breadcrumb a{color:rgba(255,255,255,0.82)}.breadcrumb a:hover{color:#D9A968}@media(max-width:980px){.page-hero{padding:140px 0 56px}}@media(max-width:768px){.page-hero h1{font-size:36px}.page-hero p{font-size:16px}}@media(max-width:480px){.page-hero h1{font-size:30px}}.prose-section{background:var(--white)}.prose{max-width:760px}.prose h2{font-size:26px;margin:40px 0 12px}.prose>p:first-child{font-size:17px}.prose p{font-size:16px;color:var(--charcoal-soft);margin-bottom:14px}.prose a{color:var(--clay-deep);text-decoration:underline}.prose-cta{margin-top:40px;padding-top:24px;border-top:1px solid var(--line)} .footer-col li{font-size:14px}.footer-bottom-links{display:flex;gap:18px;flex-wrap:wrap} @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.hero-slide{animation:none !important;transform:none !important}.hero-slide-first{opacity:1}.js .reveal,.js .reveal-stagger>*{opacity:1;transform:none}.js .section-divider{transform:none}}  nav li.has-dropdown{position:relative}.nav-parent{display:inline-flex;align-items:center;gap:6px}.nav-parent::before{content:'';order:2;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.7}.nav-dropdown{position:absolute;top:calc(100% + 14px);right:0;left:auto;width:230px;max-width:calc(100vw - 32px);background:var(--white);border-radius:12px;box-shadow:0 16px 40px rgba(37,34,32,0.18);padding:8px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:60}.nav-dropdown::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px}.has-dropdown:hover .nav-dropdown,.has-dropdown:focus-within .nav-dropdown,.has-dropdown.open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown li{width:100%}.nav-dropdown a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;font-weight:500}.nav-dropdown a::after{display:none}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:var(--stone);color:var(--clay-deep)} .m-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.submenu-toggle{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.submenu-toggle svg{width:14px;height:14px;fill:var(--charcoal);transition:transform .2s ease}.submenu-toggle[aria-expanded="true"] svg{transform:rotate(90deg)}.mobile-menu .m-sub{display:flex;flex-direction:column;gap:14px;padding:16px 0 4px 18px;border-left:1.5px solid var(--clay);margin-top:12px}.mobile-menu .m-sub[hidden]{display:none}.mobile-menu .m-sub a{font-family:'Work Sans',sans-serif;font-size:17px;font-weight:500}.mobile-menu{overflow-y:auto} a.service-card{display:block;color:inherit}.service-more{display:inline-block;margin-top:18px;font-size:13.5px;font-weight:600;color:var(--clay-deep);letter-spacing:0.02em}.service-more::after{content:' \2192'}a.service-card:hover .service-more{color:var(--clay)} .inc-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:start}.inc-grid h2{font-size:38px;margin-bottom:18px}.inc-grid p{font-size:16.5px;color:var(--charcoal-soft);margin-bottom:28px;max-width:460px}.inc-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px}.inc-list li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);font-size:15.5px;color:var(--charcoal)}.inc-list li::before{content:'';position:absolute;left:4px;top:19px;width:12px;height:6px;border-left:2px solid var(--clay);border-bottom:2px solid var(--clay);transform:rotate(-45deg)}@media(max-width:900px){.inc-grid{grid-template-columns:1fr;gap:36px}.inc-list{grid-template-columns:1fr}}@media(max-width:480px){.inc-grid h2{font-size:28px}}.pain-section .service-card h3{font-size:21px} .filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}.filter-btn{padding:10px 20px;border-radius:30px;border:1px solid var(--line);background:var(--white);font-family:'Work Sans',sans-serif;font-size:14px;font-weight:600;color:var(--charcoal);cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:var(--clay);color:var(--clay-deep)}.filter-btn.active{background:var(--charcoal);border-color:var(--charcoal);color:var(--white)}.gallery-item[hidden]{display:none !important}.gallery-grid.gallery-grid-page{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;overflow:visible}@media(max-width:900px){.gallery-grid.gallery-grid-page{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.gallery-grid.gallery-grid-page{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-grid-page .gallery-item{flex:none;width:auto}}.projects-more{margin-top:34px}.projects-more #projectsLoadMore[hidden]{display:none}.projects-cta{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:56px;text-align:center}.projects-cta p{font-family:'Fraunces',serif;font-size:24px;font-weight:500;color:var(--charcoal)}@media(max-width:640px){#projectsLoadMore{display:inline-flex}}  .city-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.city-chips a{display:inline-block;padding:6px 12px;border-radius:30px;border:1px solid rgba(255,255,255,0.25);font-size:13px;font-weight:500;color:rgba(255,255,255,0.85);transition:all .2s ease}.city-chips a:hover{background:var(--clay);border-color:var(--clay);color:var(--white)}.city-chips-light a{border-color:var(--line);color:var(--charcoal);background:var(--white)}.city-chips-light a:hover{color:var(--white)}.served-section{background:var(--stone)}.served-section .section-head{margin-bottom:24px}.served-section .section-head p a{color:var(--clay-deep);font-weight:600} .footer-grid{grid-template-columns:1.3fr 1fr 1fr 1.3fr 1.2fr;gap:40px}.footer-areas{display:grid !important;grid-template-columns:1fr 1fr;gap:10px 16px !important}.footer-areas .footer-areas-all{grid-column:1 / -1}@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr 1fr}}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.footer-grid{grid-template-columns:1fr}} .city-local-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:70px;align-items:start}.city-local h2{font-size:38px;line-height:1.2}.city-local p{font-size:16.5px;color:var(--charcoal-soft);margin-bottom:18px;max-width:620px}@media(max-width:900px){.city-local-grid{grid-template-columns:1fr;gap:24px}}@media(max-width:480px){.city-local h2{font-size:28px}} .area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.area-card{display:flex;flex-direction:column;gap:4px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--stone);transition:all .2s ease}.area-card:hover{border-color:var(--clay);transform:translateY(-2px)}.area-name{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--charcoal)}.area-dist{font-size:13.5px;color:var(--charcoal-soft)}.area-states{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px}.area-state h2{font-size:26px;margin-bottom:10px}.area-state p{color:var(--charcoal-soft);font-size:16px}.area-state p a{color:var(--clay-deep);font-weight:600}@media(max-width:900px){.area-grid{grid-template-columns:repeat(2,1fr)}.area-states{grid-template-columns:1fr}} @media(min-width:901px){.gallery-grid.gallery-grid-3{grid-template-columns:repeat(3,1fr)}}@media(min-width:1101px){.area-grid{grid-template-columns:repeat(5,1fr)}} .hero-slide{animation-duration:80s}@keyframes kenburns{0%{opacity:0;transform:scale(1)}1%{opacity:1}11.75%{opacity:1;transform:scale(1.15)}12.75%{opacity:0;transform:scale(1.15)}100%{opacity:0}}@keyframes kenburns-first{0%{opacity:1;transform:scale(1)}11.75%{opacity:1;transform:scale(1.15)}12.75%{opacity:0;transform:scale(1.15)}99%{opacity:0;transform:scale(1)}100%{opacity:1;transform:scale(1)}}
