
:root{--green:#0a7e22;--green-dark:#06731d;--cyan:#1a9ec6;--footer:#0c7a8b;--yellow:#ffc95d;--ink:#16312a;--muted:#68716d;--white:#fff;--wrap:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Roboto,Arial,sans-serif;color:#28342f;background:#fff;font-size:16px;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6,.nav,.btn,.estimate-link{font-family:'Avenir Next LT Pro','Avenir Next',Arial,sans-serif}.wrap{width:min(var(--wrap),calc(100% - 40px));margin:auto}.topbar .wrap{width:min(1380px,calc(100% - 10px))}.topbar{background:var(--green-dark);color:#fff;font-size:12px}.topbar-inner{height:34px;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar i{margin-right:7px}.topbar-right{display:flex;align-items:center;gap:26px;margin-left:auto;justify-content:flex-end}.topbar-right>a,.social-mini a{display:flex;align-items:center}.social-mini{display:flex;gap:18px;margin-left:8px}.estimate-link{align-self:stretch;height:34px;display:flex;align-items:center;background:#1199bd;padding:0 22px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;margin-left:12px}.main-header{background:#fff;position:relative;z-index:30;box-shadow:0 1px 10px rgba(0,0,0,.04)}.header-inner{height:106px;display:flex;align-items:center;justify-content:space-between}.brand img{width:250px;height:100px;object-fit:contain}.nav{display:flex;align-items:center;gap:30px}.nav>a,.nav-drop-trigger{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#59615e;background:none;border:0;font-family:inherit;padding:43px 0 39px;cursor:pointer;position:relative}.nav>a:after,.nav-drop-trigger:after{content:"";position:absolute;left:0;right:0;bottom:28px;height:2px;background:#34c2d5;transform:scaleX(0);transition:.25s}.nav>a:hover:after,.nav>a.active:after,.nav-drop-trigger:hover:after{transform:scaleX(1)}.nav>a.active{color:#29a9c0}.nav-dropdown{position:relative}.nav-drop-menu{position:absolute;top:78px;left:-20px;width:230px;background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.16);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(10px);transition:.22s;z-index:100}.nav-dropdown:hover .nav-drop-menu,.nav-dropdown.open .nav-drop-menu{opacity:1;visibility:visible;transform:none}.nav-drop-menu a{display:block;padding:11px 18px;font-size:12px;color:#4f5854}.nav-drop-menu a:hover{background:#f3f7f5;color:var(--green)}.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--green)}

.hero{height:560px;position:relative;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.03);transition:opacity .9s ease,transform 5.5s ease}.hero-slide.active{opacity:1;transform:scale(1)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.02),rgba(0,0,0,.08))}.hero-content{position:absolute;z-index:3;left:50%;top:54%;transform:translate(-50%,-50%);text-align:center;color:#fff;width:min(920px,90%);text-shadow:0 3px 7px rgba(0,0,0,.48)}.hero h1{margin:0 0 20px;font-size:56px;line-height:1.1;text-transform:uppercase;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:800;text-transform:uppercase;padding:12px 19px;border-radius:2px;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.12)}.btn-green{background:var(--green)}.btn-cyan{background:#0fa0be}.btn.small{padding:10px 16px}.hero-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#fff;font-size:28px;opacity:.85;cursor:pointer;padding:18px}.hero-arrow.prev{left:14px}.hero-arrow.next{right:14px}.hero-dots{position:absolute;z-index:5;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dots button{width:8px;height:8px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0}.hero-dots button.active{background:#fff}
.info-strip-wrap{position:relative;height:0;z-index:10}.info-strip{width:min(920px,calc(100% - 30px));margin:auto;transform:translateY(-50%);display:grid;grid-template-columns:1fr 1fr 1fr;box-shadow:0 8px 18px rgba(0,0,0,.18)}.info-box{min-height:86px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;gap:16px;padding:18px;font-size:14px}.info-box i{font-size:24px}.info-box.yellow{background:var(--yellow);color:#444;font-size:18px}.info-box a{text-decoration:underline;text-underline-offset:3px}
.section{padding:96px 0}.two-col{display:grid;grid-template-columns:1.7fr .7fr;gap:72px;align-items:center}.eyebrow{font-family:'Playfair Display',serif;color:#21a9ba;font-size:14px;font-style:italic}.dedicated h2{color:var(--green);margin:4px 0 14px;font-size:40px;line-height:1.15}.coordination h2,.section-heading h2,.services-cta-row h2{color:var(--green);margin:4px 0 14px;font-size:32px;line-height:1.15}.section p,.footer li,.placeholder p,.about-copy p,.about-value p,.service-row p{font-size:16px}.service-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 30px;margin-top:28px}.service-mini-grid article{display:flex;gap:13px}.service-mini-grid article>i{width:54px;height:54px;display:grid;place-items:center;background:#0ca5bf;color:#fff;font-size:24px;flex:none}.service-mini-grid h3{margin:0 0 3px;text-transform:uppercase;font-size:20px;line-height:1.15;color:#185c39}.service-mini-grid p{font-size:14px;line-height:1.45;margin:0;color:#606965}.service-mini-grid a{font-size:12px;color:#13a6bd}.award-card img{box-shadow:0 8px 18px rgba(0,0,0,.18);width:100%}
.parallax{background-size:cover;background-position:center;background-attachment:fixed}.video-band{min-height:620px;display:flex;align-items:center;position:relative}.video-inner{text-align:center;max-width:1100px}.video-inner h2{color:#fff;font-size:40px;margin:0 0 18px;text-shadow:0 2px 6px rgba(0,0,0,.45)}.video-inner p{max-width:1000px;margin:0 auto 28px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.45)}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;width:min(1100px,100%);margin:auto}.video-frame{aspect-ratio:16/9;background:#000;box-shadow:0 10px 25px rgba(0,0,0,.28)}.video-frame iframe{width:100%;height:100%;border:0}
.coordination-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:stretch}.coord-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:25px}.zoomable{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.zoomable img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.zoomable:hover img{transform:scale(1.06)}.coord-thumbs .zoomable{aspect-ratio:1/1}.values-panel{background:var(--green);color:#fff;padding:48px 48px 48px 150px;display:flex;flex-direction:column;justify-content:center;gap:38px;position:relative;overflow:visible}.values-panel article{position:relative;display:block;min-height:76px}.values-panel article>i{position:absolute;left:-198px;top:0;width:96px;height:96px;display:grid;place-items:center;background:#5fa4c0;color:#fff;font-size:43px;flex:none}.values-panel h3{font-size:23px;margin:0 0 8px}.values-panel p{margin:0;color:#fff}
.committed{min-height:480px;display:flex;align-items:center;justify-content:center}.committed-content{text-align:center;color:#fff;max-width:1000px}.committed h2{font-size:40px;text-shadow:0 2px 6px rgba(0,0,0,.5);margin:0 0 12px}.committed p{margin:0 auto 28px;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.48);max-width:980px}.short-line{display:block;width:44px;height:2px;background:#fff;margin:0 auto 24px}.projects{padding-top:58px;padding-bottom:105px}.section-heading.center{text-align:center}.section-heading h2{text-transform:uppercase;margin-bottom:10px}.heading-line{width:45px;height:2px;background:#5a5a5a;display:block;margin:0 auto 38px}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;width:min(860px,100%);margin:auto}.projects-grid .zoomable{aspect-ratio:1/1.05}
.footer{background:var(--footer);color:#fff}.footer-grid{display:grid;grid-template-columns:1fr 1.1fr 1.35fr 1.2fr;gap:55px;padding:42px 0 30px}.footer h3{font-size:16px;margin:0 0 15px}.footer ul{list-style:none;padding:0;margin:0;line-height:1.9}.footer-logo{width:225px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.14))}.footer-social{display:flex;gap:10px;margin-top:20px}.footer-social a{width:32px;height:32px;background:#fff;color:var(--footer);display:grid;place-items:center}.contact-list i,.footer li i{width:20px;color:#fff}.footer li a{text-decoration:underline;text-underline-offset:3px}.copyright{background:var(--green-dark);text-align:center;padding:12px 10px;font-size:12px}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px;opacity:0;visibility:hidden;transition:.25s}.lightbox.open{opacity:1;visibility:visible}.lightbox img{max-width:92vw;max-height:88vh;box-shadow:0 12px 50px rgba(0,0,0,.5)}.lightbox-close{position:absolute;right:24px;top:18px;color:#fff;background:none;border:0;font-size:34px;cursor:pointer}.back-to-top{position:fixed;right:20px;bottom:20px;width:48px;height:48px;border-radius:50%;border:0;background:#1199bd;color:#fff;display:grid;place-items:center;font-size:20px;box-shadow:0 10px 18px rgba(0,0,0,.18);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:.25s;z-index:500}.back-to-top.visible{opacity:1;visibility:visible;transform:none}

.page-banner{height:185px;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center 68%;background-attachment:scroll;position:relative}.page-banner:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.22)}.page-banner h1{position:relative;z-index:1;color:#fff;font-size:40px;line-height:1.15;text-align:center;margin:0;text-shadow:0 2px 6px rgba(0,0,0,.48)}
.about-intro{padding:56px 0 18px}.about-intro-grid{display:grid;grid-template-columns:270px 1fr;gap:48px;align-items:start;width:min(980px,100%);margin:auto}.owner-card{text-align:center}.owner-card img{width:235px;height:300px;object-fit:cover;margin:auto;border:4px solid #fff;box-shadow:0 3px 12px rgba(0,0,0,.28)}.owner-card strong{display:block;margin-top:4px;color:#0c9bb9;text-transform:uppercase;font:800 16px/1 'Avenir Next LT Pro','Avenir Next',Arial,sans-serif}.about-copy h2{font-size:32px;line-height:1.15;color:var(--green);text-transform:uppercase;margin:0 0 16px;padding-bottom:13px;border-bottom:1px solid #d7ddda}.about-values{padding:86px 0 62px;background:#fff;overflow:hidden}.about-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;align-items:stretch}.about-value{position:relative;background:var(--green);color:#fff;text-align:center;padding:64px 34px 54px;min-height:270px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),50% 100%,0 calc(100% - 30px))}.about-value-icon{position:absolute;top:-63px;left:50%;transform:translateX(-50%);width:108px;height:108px;border-radius:50%;background:#fff;border:10px solid #3c812b;display:grid;place-items:center;z-index:2;box-shadow:0 2px 4px rgba(0,0,0,.08)}.about-value-icon i{font-size:45px;color:#23322d}.about-value h3{font-size:24px;margin:0 0 18px}.about-value p{line-height:1.55;margin:0}.about-value+.about-value{border-left:1px solid rgba(255,255,255,.55)}
.services-page{padding-top:54px;padding-bottom:90px}.services-list-wrap{width:min(980px,100%)}.service-row{display:grid;grid-template-columns:200px 1fr;align-items:center;gap:28px;margin-bottom:28px}.service-row-media img{width:100%;aspect-ratio:1/1;object-fit:cover;border:4px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.22)}.service-row-copy h2{font-size:20px;color:#157c2b;margin:0 0 8px}.service-row-copy p{margin:0;color:#44524c;line-height:1.6}.services-cta-band{background:var(--green);padding:18px 0}.services-cta-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.services-cta-row h2{color:#fff;font-size:40px;margin:0}.services-cta-row .btn{flex:none}
.placeholder{min-height:55vh;display:grid;place-items:center;text-align:center;padding:80px 20px}.placeholder h2{color:var(--green);font-size:32px;margin-bottom:12px}.placeholder p{max-width:720px;margin:auto;color:#66736d}
@media(max-width:900px){.topbar-inner{justify-content:center}.topbar-inner>div:first-child{display:none}.topbar-right>a:first-child{display:none}.main-header{position:relative}.header-inner{height:84px}.brand img{width:190px;height:76px}.menu-toggle{display:block}.nav{position:absolute;left:20px;right:20px;top:78px;background:#fff;box-shadow:0 16px 32px rgba(0,0,0,.18);display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px 0;z-index:200}.nav.open{display:flex}.nav>a,.nav-drop-trigger{padding:13px 20px;text-align:left;width:100%}.nav>a:after,.nav-drop-trigger:after{display:none}.nav-drop-menu{position:static;width:100%;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;padding-left:14px}.nav-dropdown.open .nav-drop-menu{display:block}.hero{height:470px}.hero h1{font-size:40px}.page-banner{height:160px}.page-banner h1{font-size:32px}.about-intro-grid{grid-template-columns:1fr;gap:30px}.owner-card img{width:220px;height:280px}.about-copy{text-align:left}.about-values{padding-top:82px}.about-values-grid{grid-template-columns:1fr;gap:86px}.about-value+.about-value{border-left:0}.about-value{min-height:230px}.info-strip-wrap{height:auto}.info-strip{position:relative;transform:none;grid-template-columns:1fr;margin-top:0;width:100%}.info-box{min-height:70px}.section{padding:70px 0}.two-col,.coordination-grid,.service-row{grid-template-columns:1fr;gap:38px}.service-row{margin-bottom:42px}.award-card{max-width:360px;margin:auto}.video-band{min-height:auto;padding:70px 0;background-attachment:scroll}.video-grid{grid-template-columns:1fr}.values-panel{padding:34px 28px}.values-panel article{display:flex;gap:15px;min-height:0}.values-panel article>i{position:static;left:auto;top:auto;width:58px;height:58px;font-size:28px;flex:none}.committed{background-attachment:scroll;min-height:360px;padding:70px 0}.footer-grid{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:repeat(2,1fr);max-width:580px}.coord-thumbs{gap:12px}.parallax{background-attachment:scroll}.services-cta-row{flex-direction:column;text-align:center}.services-cta-row h2{font-size:32px}}
@media(max-width:560px){body{font-size:15px}.hero h1{font-size:34px}.dedicated h2{font-size:34px}.coordination h2,.section-heading h2{font-size:28px}.services-cta-row h2,.video-inner h2,.committed h2,.page-banner h1{font-size:28px}.about-copy h2,.placeholder h2{font-size:28px}.wrap{width:min(100% - 28px,var(--wrap))}.topbar{font-size:10px}.topbar-right{gap:11px}.estimate-link{padding:0 10px;font-size:9px;margin-left:0}.social-mini{gap:8px}.hero{height:390px}.hero h1{font-size:28px}.hero-arrow{font-size:21px}.service-mini-grid{grid-template-columns:1fr}.coord-thumbs{grid-template-columns:repeat(2,1fr)}.values-panel h3{font-size:20px}.values-panel article{gap:15px}.values-panel article>i{width:52px;height:52px;font-size:24px}.projects-grid{gap:10px}.footer-grid{grid-template-columns:1fr;gap:28px}.footer{text-align:center}.footer-logo{margin:auto}.footer-social{justify-content:center}.service-row-copy h2,.service-mini-grid h3{font-size:18px}}

/* Contact page */
.contact-banner{background-position:center 72%}
.contact-overview{position:relative;background:#fff;padding:60px 0 145px;overflow:hidden}
.contact-overview-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(460px,1.35fr);gap:70px;align-items:start;width:min(980px,calc(100% - 40px))}
.contact-info-panel h2,.contact-form-wrap>h2{margin:0 0 24px;color:#149bbb;font-size:32px;text-transform:uppercase;line-height:1.1}
.contact-group{margin-bottom:18px}
.contact-label{display:table;background:#149bbb;color:#fff;border-radius:2px;padding:2px 6px;margin-bottom:5px;font-family:'Avenir Next LT Pro','Avenir Next',Arial,sans-serif;font-size:12px;font-weight:700}
.contact-group a,.contact-group p{display:block;margin:3px 0;color:#263a35;font-size:16px;line-height:1.45}
.contact-group a:hover{color:var(--green)}
.contact-group i{width:20px;color:#183e38}
.contact-network-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}
.contact-network-buttons a{min-width:104px;height:42px;border:1px solid #9db3be;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px}
.contact-network-buttons a:nth-child(1) i{font-size:24px;color:#2f5fa7}.contact-network-buttons a:nth-child(2) i{font-size:24px;color:#d83478}.contact-network-buttons a:nth-child(3) i{font-size:22px;color:#4285f4}
.contact-map-wrap{height:380px;overflow:hidden;background:#f4f4f4}
.contact-map-wrap iframe{display:block}
.contact-diagonal{position:absolute;left:-3%;right:-3%;bottom:-1px;height:120px;background:#ffc95d;clip-path:polygon(0 5%,100% 100%,0 100%)}
.contact-form-section{background:#f7f8f9;padding:56px 0 30px}
.contact-form-wrap{width:min(920px,calc(100% - 40px))}
.contact-form-wrap>h2{text-align:center;margin-bottom:24px}
.contact-form-embed{height:921px;width:100%;background:transparent}
.contact-form-embed iframe{display:block}
.contact-copyright{background:var(--green-dark);color:#fff;text-align:center;padding:14px 10px;font-size:12px}

@media(max-width:900px){
  .contact-overview{padding:48px 0 105px}
  .contact-overview-grid{grid-template-columns:1fr;gap:34px;width:min(760px,calc(100% - 32px))}
  .contact-map-wrap{height:360px}
  .contact-diagonal{height:80px}
  .contact-form-wrap{width:min(760px,calc(100% - 28px))}
}
@media(max-width:560px){
  .contact-overview{padding-top:40px;padding-bottom:80px}
  .contact-info-panel h2,.contact-form-wrap>h2{font-size:28px}
  .contact-group a,.contact-group p{font-size:15px}
  .contact-map-wrap{height:300px}
  .contact-network-buttons a{flex:1 1 30%;min-width:0}
  .contact-diagonal{height:58px}
  .contact-form-section{padding-top:42px}
  .contact-form-embed{height:980px}
}


/* v6 refinements */
.about-values{padding:104px 0 62px;overflow:visible}
.about-values .wrap{width:100%;max-width:none;margin:0}
.about-values-grid{width:100%;max-width:none}
.about-value{overflow:visible;padding:72px 42px 54px;min-height:300px}
.about-value-icon{top:-74px;width:116px;height:116px}
.service-row{grid-template-columns:240px 1fr;gap:34px;margin-bottom:34px}
.service-row-media img{min-height:240px}
.testimonial-widget-section{padding:60px 0 24px}
.testimonials-heading{text-align:center;max-width:760px;margin:0 auto 30px}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;align-items:start}
.review-card{position:relative;background:#fff;border:1px solid #d8e3dc;border-top:6px solid var(--green);padding:28px 26px 24px;border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.08);transition:transform .28s ease, box-shadow .28s ease;overflow:hidden}
.review-card:before{content:"";position:absolute;inset:0 auto auto 0;width:90px;height:90px;background:linear-gradient(135deg,rgba(247,193,75,.24),rgba(247,193,75,0));border-radius:0 0 90px 0;pointer-events:none}
.review-card:hover{transform:translateY(-7px);box-shadow:0 18px 34px rgba(0,0,0,.14)}
.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.review-card h3{margin:0;color:var(--green);font-size:26px;line-height:1.1}
.review-location{margin:6px 0 0;color:#0ca5bf;font-weight:700;font-size:14px;letter-spacing:.02em;text-transform:uppercase}
.review-badge{width:48px;height:48px;flex:none;border-radius:50%;display:grid;place-items:center;background:#0ca5bf;color:#fff;box-shadow:0 8px 18px rgba(12,165,191,.25)}
.review-meta{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px;color:#44524c;font-size:15px}
.review-meta li strong{color:#23322d}
.review-stars{display:inline-block;color:#f0bd46;letter-spacing:.12em;font-weight:700}
.review-rating-note{display:inline-block;background:#eff3f1;border:1px solid #d5ddd8;color:#54635b;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:700}
.review-text{margin:0;color:#44524c;font-size:16px;line-height:1.78}
@media(max-width:1100px){.reviews-grid{grid-template-columns:1fr}.service-row{grid-template-columns:220px 1fr}}
@media(max-width:900px){.about-values{padding-top:92px}.about-values .wrap{width:100%;margin:0}.about-values-grid{grid-template-columns:1fr;gap:76px}.about-value{min-height:240px;padding:62px 24px 46px}.reviews-grid{grid-template-columns:1fr}.service-row{grid-template-columns:1fr}.service-row-media img{max-width:320px;margin:auto;display:block}}
@media(max-width:560px){.review-card{padding:24px 18px 20px;border-radius:14px}.review-card h3{font-size:22px}.review-text{font-size:15px;line-height:1.68}.about-value-icon{width:108px;height:108px;top:-68px}.about-value h3{font-size:22px}}


/* v7 refinements */
.about-values{padding:138px 0 72px;overflow:visible;margin-top:8px}
.about-value{padding:82px 40px 54px;overflow:visible}
.about-value-icon{top:-44px;width:124px;height:124px;z-index:4}
.about-value-icon i{font-size:48px}
.service-row{grid-template-columns:280px 1fr;gap:38px;margin-bottom:40px}
.service-row-media img{min-height:280px}
.service-row-copy h2{font-size:28px;line-height:1.15}
.portfolio-landing-section{padding-top:54px;padding-bottom:110px}
.portfolio-landing-wrap{width:min(960px,100%)}
.simple-carousel{position:relative;margin:0 auto 36px;overflow:hidden;background:#d8d8d8;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.carousel-track{position:relative;aspect-ratio:16/6.2}
.carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .55s ease}
.carousel-slide.active{opacity:1}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#23322d;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.16);z-index:2}
.carousel-arrow.prev{left:14px}.carousel-arrow.next{right:14px}
.simple-carousel .carousel-dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:2}
.simple-carousel .carousel-dots button{width:10px;height:10px;padding:0;border-radius:50%;border:1px solid #fff;background:rgba(255,255,255,.35)}
.simple-carousel .carousel-dots button.active{background:#fff}
.portfolio-gallery-wrap{margin-top:4px}
.portfolio-projects-grid{width:100%;max-width:none;grid-template-columns:repeat(4,1fr);gap:14px}
.portfolio-projects-grid .zoomable{aspect-ratio:1/1.02}
.portfolio-projects-grid img{width:100%;height:100%;object-fit:cover;display:block}
.portfolio-empty{background:#fff;border:1px solid #d8e3dc;border-top:5px solid var(--green);padding:28px 26px;text-align:center;box-shadow:0 10px 18px rgba(0,0,0,.08)}
.portfolio-empty p{margin:0;color:#4b5953;font-size:16px;line-height:1.75}
@media(max-width:1100px){.service-row{grid-template-columns:250px 1fr}.service-row-media img{min-height:250px}}
@media(max-width:900px){.about-values{padding:108px 0 56px}.about-value{padding:76px 26px 46px}.about-value-icon{top:-38px;width:116px;height:116px}.portfolio-projects-grid{grid-template-columns:repeat(3,1fr)}.carousel-track{aspect-ratio:16/8}.service-row{grid-template-columns:1fr}.service-row-media img{max-width:360px;min-height:0}}
@media(max-width:640px){.portfolio-projects-grid{grid-template-columns:repeat(2,1fr);gap:10px}.carousel-arrow{width:38px;height:38px}.carousel-track{aspect-ratio:16/10}.service-row-copy h2{font-size:24px}}
@media(max-width:560px){.about-values{padding-top:98px}.about-value-icon{top:-32px;width:104px;height:104px}.about-value-icon i{font-size:42px}.service-row-media img{max-width:100%}.service-row-copy h2{font-size:22px}}


/* Before & After landing */
.before-after-gallery{display:grid;gap:34px}
.before-after-main-grid,.before-after-secondary-grid{width:100%;max-width:none}
.before-after-secondary-block{padding-top:8px}
.comparison-section{padding-top:12px}
.comparison-heading{margin-bottom:8px}
.comparison-heading h2{font-size:28px;color:#1596b2;margin-bottom:6px}
.comparison-grid{width:min(720px,100%);margin:0 auto;grid-template-columns:repeat(4,1fr);gap:14px}
.comparison-grid .zoomable{aspect-ratio:1/1.05}
@media(max-width:900px){.comparison-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.comparison-grid{grid-template-columns:repeat(2,1fr);gap:10px}.comparison-heading h2{font-size:24px}}

/* v10 portfolio no-carousel refinements */
.portfolio-landing-section.no-carousel{padding-top:54px}
.portfolio-gallery-wrap>.portfolio-projects-grid{margin-top:0}
@media(min-width:901px){
  .portfolio-gallery-wrap>.portfolio-projects-grid{grid-template-columns:repeat(4,1fr)}
}


/* v11 global width, alignment, animation, and interaction refinements */
:root{--wrap:1380px}
.wrap{width:min(var(--wrap),calc(100% - 56px))}
.nav>a:after,.nav-drop-trigger:after{background:#f5bf42}
.eyebrow{font-family:Roboto,Arial,sans-serif;font-style:italic;font-weight:400}

/* Wider home content */
.dedicated-grid{width:min(1320px,calc(100% - 56px))}
.coordination-grid{width:min(1320px,calc(100% - 56px));grid-template-columns:minmax(0,1.5fr) minmax(420px,.9fr);gap:82px}
.video-inner{max-width:1280px}
.video-grid{width:min(1240px,100%)}
.committed-content{max-width:1180px}
.projects>.wrap{width:min(1280px,calc(100% - 56px))}
.projects-grid{width:min(1120px,100%)}

/* Wider inner pages */
.about-intro-grid{width:min(1180px,100%);grid-template-columns:300px 1fr;gap:64px}
.services-list-wrap{width:min(1220px,100%)}
.contact-overview-grid{width:min(1200px,calc(100% - 56px));grid-template-columns:minmax(340px,.85fr) minmax(560px,1.4fr);gap:82px}
.contact-form-wrap{width:min(1120px,calc(100% - 56px))}
.portfolio-landing-wrap{width:min(1180px,100%)}
.testimonial-widget-section>.wrap,.extra-reviews>.wrap{width:min(1240px,calc(100% - 56px))}

/* Services */
.service-row{grid-template-columns:320px 1fr;gap:42px;margin-bottom:44px;scroll-margin-top:130px}
.service-row-media img{min-height:320px}
.service-row-copy h2{font-size:28px}

/* About values: full width, unclipped icons, double white/green rings */
.about-values{padding:122px 0 84px;overflow:visible}
.about-values .wrap{width:100%;max-width:none;margin:0;overflow:visible}
.about-values-grid{width:100%;max-width:none;overflow:visible}
.about-value{clip-path:none;overflow:visible;padding:82px 46px 58px;min-height:290px;position:relative}
.about-value:after{content:"";position:absolute;left:0;right:0;bottom:-28px;height:30px;background:var(--green);clip-path:polygon(0 0,50% 100%,100% 0);z-index:0}
.about-value-icon{top:-72px;width:126px;height:126px;background:#fff;border:8px solid #fff;box-shadow:0 0 0 10px #34752c,0 8px 18px rgba(0,0,0,.14);z-index:5;overflow:visible}
.about-value-icon i{font-size:48px}
.about-value h3,.about-value p{position:relative;z-index:2}

/* Portfolio galleries: full working width and centered incomplete rows */
.portfolio-projects-grid,.comparison-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%;max-width:none;margin-left:auto;margin-right:auto}
.portfolio-projects-grid .zoomable,.comparison-grid .zoomable{flex:0 0 calc((100% - 42px)/4);aspect-ratio:1/1.02}
.comparison-section{width:100%;padding-top:28px}
.comparison-heading{width:100%;margin-bottom:16px}
.comparison-grid{width:100%;max-width:none}
.portfolio-landing-section .section-heading h2,.comparison-heading h2{text-transform:uppercase}

/* Home value icons: flip the icon tile horizontally on hover */
.values-panel article>i{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;will-change:transform}
.values-panel article:hover>i{transform:rotateY(180deg);box-shadow:0 8px 18px rgba(0,0,0,.18)}

/* Zoom entrance for major image bands */
.reveal-zoom{opacity:0;transform:scale(.82);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal-zoom.in-view{opacity:1;transform:scale(1)}
@media(prefers-reduced-motion:reduce){.reveal-zoom{opacity:1;transform:none;transition:none}.values-panel article>i{transition:none}}

.footer li a:hover{color:#ffe08a}

@media(max-width:1100px){
  .wrap,.dedicated-grid,.coordination-grid,.projects>.wrap,.contact-overview-grid,.contact-form-wrap,.testimonial-widget-section>.wrap,.extra-reviews>.wrap{width:min(100% - 40px,var(--wrap))}
  .coordination-grid{grid-template-columns:1fr;gap:46px}
  .service-row{grid-template-columns:280px 1fr}.service-row-media img{min-height:280px}
}
@media(max-width:900px){
  .about-values{padding-top:112px}.about-values-grid{gap:96px}.about-value{padding:76px 28px 48px}.about-value-icon{top:-68px;width:118px;height:118px}
  .service-row{grid-template-columns:1fr}.service-row-media img{max-width:400px;min-height:0}
  .portfolio-projects-grid .zoomable,.comparison-grid .zoomable{flex-basis:calc((100% - 28px)/3)}
}
@media(max-width:640px){
  .wrap,.dedicated-grid,.coordination-grid,.projects>.wrap,.contact-overview-grid,.contact-form-wrap,.testimonial-widget-section>.wrap,.extra-reviews>.wrap{width:min(100% - 28px,var(--wrap))}
  .portfolio-projects-grid,.comparison-grid{gap:10px}
  .portfolio-projects-grid .zoomable,.comparison-grid .zoomable{flex-basis:calc((100% - 10px)/2)}
  .about-values{padding-top:104px}.about-values-grid{gap:92px}.about-value-icon{top:-62px;width:110px;height:110px;box-shadow:0 0 0 8px #34752c,0 7px 15px rgba(0,0,0,.12)}
}

/* v12 mobile refinements */
@media(max-width:900px){
  /* Home mobile alignment */
  .dedicated-copy,
  .coord-left{
    text-align:center;
  }
  .dedicated-copy .eyebrow,
  .coord-left .eyebrow{
    display:block;
    text-align:center;
  }
  .service-mini-grid{
    text-align:left;
    max-width:680px;
    margin-left:auto;
    margin-right:auto;
  }
  .coord-thumbs{
    max-width:640px;
    margin-left:auto;
    margin-right:auto;
  }

  /* About: center content and give each mobile value card a top + bottom point */
  .about-intro,
  .about-copy,
  .owner-card{
    text-align:center;
  }
  .about-copy h2{
    text-align:center;
  }
  .about-copy p{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .about-values{
    padding-top:118px;
    padding-bottom:76px;
  }
  .about-values-grid{
    gap:112px;
  }
  .about-value{
    padding:82px 28px 56px;
    min-height:280px;
  }
  .about-value:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-34px;
    height:35px;
    background:var(--green);
    clip-path:polygon(0 100%,50% 0,100% 100%);
    z-index:0;
  }
  .about-value:after{
    bottom:-34px;
    height:35px;
  }
  .about-value-icon{
    top:-72px;
    width:120px;
    height:120px;
    border:9px solid #fff;
    box-shadow:0 0 0 10px #34752c,0 7px 15px rgba(0,0,0,.12);
    z-index:6;
  }
  .about-value-icon i{
    font-size:47px;
  }

  /* Services: centered copy with smaller images on mobile */
  .services-list-wrap{
    text-align:center;
  }
  .service-row{
    justify-items:center;
    text-align:center;
    gap:24px;
    margin-bottom:48px;
  }
  .service-row-media{
    width:min(290px,78vw);
  }
  .service-row-media img{
    width:100%;
    max-width:290px;
    min-height:0;
    margin:auto;
  }
  .service-row-copy{
    max-width:680px;
    margin:0 auto;
  }
  .service-row-copy h2,
  .service-row-copy p{
    text-align:center;
  }

  /* Portfolio mobile gutters */
  .portfolio-landing-wrap{
    width:min(100% - 36px,1180px);
  }
  .portfolio-gallery-wrap,
  .comparison-section,
  .simple-carousel{
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:640px){
  .dedicated-copy,
  .coord-left,
  .about-copy,
  .services-list-wrap{
    text-align:center;
  }
  .service-mini-grid{
    text-align:center;
  }
  .service-mini-grid article{
    align-items:flex-start;
    justify-content:center;
  }
  .service-mini-grid article>i{
    flex:none;
  }
  .service-mini-grid article>div{
    text-align:left;
  }
  .about-values{
    padding-top:116px;
  }
  .about-values-grid{
    gap:108px;
  }
  .about-value{
    padding:80px 24px 54px;
  }
  .about-value-icon{
    top:-68px;
    width:114px;
    height:114px;
    border:8px solid #fff;
    box-shadow:0 0 0 9px #34752c,0 7px 15px rgba(0,0,0,.12);
  }
  .about-value-icon i{
    font-size:44px;
  }
  .service-row-media{
    width:min(250px,76vw);
  }
  .service-row-media img{
    max-width:250px;
  }
  .portfolio-landing-wrap{
    width:min(100% - 32px,1180px);
  }
}


/* v13 width and hover refinements */
.coordination-grid{
  width:min(1500px,calc(100% - 42px));
  grid-template-columns:minmax(0,1.05fr) minmax(560px,1.25fr);
  gap:72px;
}
.values-panel{
  padding:54px 68px 54px 172px;
}
.values-panel article>i{
  left:-216px;
}

/* Interactive buttons */
.btn,.estimate-link{
  transition:transform .28s ease,box-shadow .28s ease,filter .28s ease,background-color .28s ease;
}
.btn:hover,.estimate-link:hover{
  transform:translateY(-3px) scale(1.025);
  box-shadow:0 10px 22px rgba(0,0,0,.22);
  filter:brightness(1.08);
}
.btn:active,.estimate-link:active{
  transform:translateY(-1px) scale(.99);
}

/* Home portfolio image hover */
.projects-grid .zoomable{
  transition:transform .3s ease,box-shadow .3s ease;
}
.projects-grid .zoomable:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 26px rgba(0,0,0,.18);
}
.projects-grid .zoomable:hover img{
  transform:scale(1.08);
}

/* Larger owner portrait */
.about-intro-grid{
  grid-template-columns:340px 1fr;
}
.owner-card img{
  width:285px;
  height:360px;
}

@media(max-width:1250px){
  .coordination-grid{
    width:min(100% - 42px,var(--wrap));
    grid-template-columns:minmax(0,1.05fr) minmax(480px,1.05fr);
    gap:60px;
  }
  .values-panel{padding:48px 48px 48px 150px}
  .values-panel article>i{left:-198px}
}
@media(max-width:1100px){
  .coordination-grid{grid-template-columns:1fr;gap:46px}
  .values-panel{padding:38px 34px}
  .values-panel article>i{left:auto}
}
@media(max-width:900px){
  .about-intro-grid{grid-template-columns:1fr}
  .owner-card img{width:250px;height:320px}
}
