.joinery-projects{scroll-margin-top:120px}.joinery-more-projects{margin-top:40px;border-top:1px solid var(--divider-color)}.joinery-more-projects summary{width:-moz-fit-content;width:fit-content;padding-block:24px;cursor:pointer;color:var(--primary-color);text-decoration:underline;text-underline-offset:4px}.joinery-more-projects-open,.joinery-more-projects[open] .joinery-more-projects-closed{display:none}.joinery-more-projects[open] .joinery-more-projects-open{display:inline}.joinery-more-projects summary:focus-visible{outline:2px solid var(--accent-color);outline-offset:4px}.joinery-landing-page .joinery-page-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;grid-gap:24px;gap:24px;padding-block:24px;border-bottom:1px solid var(--divider-color)}.joinery-page-nav>a:not(.btn-default),.joinery-resource-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;color:var(--primary-color)}.joinery-planning{scroll-margin-top:120px}.joinery-process-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:64px;gap:64px;align-items:start}.joinery-process-summary{margin-top:0;margin-bottom:28px}.joinery-workshop-photo{margin:0}.joinery-workshop-photo img{display:block;width:100%;height:auto}.joinery-workshop-photo figcaption{margin-top:12px}.joinery-process-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;margin-top:28px}.joinery-process-intro>a{margin-top:16px;text-decoration:underline;text-underline-offset:4px}.joinery-process-list{list-style:none;padding:0;margin:0}.joinery-process-list li{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:20px;gap:20px;padding-block:28px;border-top:1px solid var(--divider-color)}.joinery-process-list li:first-child{padding-top:0;border-top:0}.joinery-step-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--divider-color);border-radius:50%;color:var(--primary-color)}.joinery-planning .joinery-step-detail{margin-top:16px;padding-left:16px;border-left:2px solid var(--divider-color)}.joinery-section-intro{max-width:900px;margin-bottom:40px}.joinery-why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.joinery-why-card{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0;padding:32px;border:1px solid var(--divider-color);background:var(--white-color)}.joinery-why-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--secondery-color);color:var(--primary-color)}.joinery-why-card h3,.joinery-why-card p{margin:0}.joinery-why-card .joinery-resource-link{width:100%;margin-top:auto;text-decoration:underline;text-underline-offset:4px}.joinery-why-card .joinery-resource-link span{flex-shrink:0}.joinery-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.joinery-scope-card{display:flex;flex-direction:column;gap:20px;padding:32px;border:1px solid var(--divider-color);background:var(--white-color)}.joinery-scope-card:nth-child(2){background:var(--secondery-color)}.joinery-scope-card h3,.joinery-scope-card p{margin:0}.joinery-scope-card .joinery-scope-boundary{margin-top:auto;padding-top:20px;border-top:1px solid var(--divider-color)}.joinery-scope-card a{text-decoration:underline;text-underline-offset:4px}.joinery-enquiry-brief{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:32px;gap:32px;margin-top:32px;padding:32px;border:1px solid var(--divider-color)}.joinery-enquiry-brief p+p{margin-top:16px}.joinery-enquiry-brief p a{color:var(--primary-color);text-decoration:underline;text-underline-offset:4px}.joinery-landing-page .joinery-signature-note{margin-top:20px}.joinery-landing-page .joinery-portrait-card__caption{display:block;padding:16px;background:var(--white-color);color:var(--primary-color)}.joinery-landing-page a:focus-visible{outline:2px solid var(--primary-color);outline-offset:4px}.joinery-landing-page .res-justified-card__img-wrap{min-height:320px}.joinery-landing-page .res-justified-card:focus-within .res-justified-card__details{opacity:1;transform:none}.joinery-landing-page .res-justified-card:focus-within .res-justified-card__overlay{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.95))}@media (max-width:991px){.joinery-landing-page .joinery-page-nav{grid-template-columns:minmax(0,1fr);gap:12px}.joinery-process-layout{grid-template-columns:minmax(0,1fr);gap:40px}.joinery-workshop-photo{max-width:720px}.joinery-enquiry-brief{grid-template-columns:minmax(0,1fr)}.joinery-enquiry-brief>a{justify-self:start}}@media (max-width:767px){.joinery-scope-grid,.joinery-why-grid{grid-template-columns:minmax(0,1fr)}.joinery-enquiry-brief,.joinery-scope-card,.joinery-why-card{padding:24px}}@media (max-width:399px){.joinery-landing-page .joinery-page-nav{grid-template-columns:minmax(0,1fr);gap:12px}.joinery-process-list li{grid-template-columns:minmax(0,1fr);gap:16px}}.filtered-gallery-lightbox{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:10000;display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,34px);box-sizing:border-box}.filtered-gallery-lightbox .lightbox-image-container{position:relative;width:100%;height:100%;min-height:0;max-width:100%;max-height:none;display:flex;align-items:center;justify-content:center}.filtered-gallery-lightbox .lightbox-thumbnails{width:100%;display:flex;justify-content:center;gap:8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 4px 8px;box-sizing:border-box}.filtered-gallery-lightbox .lightbox-thumbnail:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.filtered-gallery-lightbox .lightbox-stage{display:flex;align-items:stretch;justify-content:center;gap:clamp(18px,2.4vw,34px);width:100%;height:100%;min-height:0;min-width:0}.filtered-gallery-lightbox.has-photo-story .lightbox-stage .lightbox-image-container{flex:1 1 auto;min-width:0}.filtered-gallery-lightbox .lightbox-details{flex:0 0 clamp(230px,24vw,330px);align-self:center;max-height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;text-align:left;border-left:1px solid rgba(255,255,255,.16);padding-left:clamp(18px,2vw,28px);box-sizing:border-box}.filtered-gallery-lightbox .lightbox-details__title{margin:0 0 12px;color:var(--white-color);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:700;line-height:1.25}.filtered-gallery-lightbox .lightbox-details__meta{margin:-6px 0 14px;display:flex;flex-direction:column;gap:2px;color:rgba(255,255,255,.55);font-size:var(--text-micro);letter-spacing:.13em;text-transform:uppercase;line-height:1.5}.filtered-gallery-lightbox .lightbox-details__meta-client{color:rgba(255,255,255,.78)}.filtered-gallery-lightbox .lightbox-details__text{margin:0;color:rgba(255,255,255,.72);font-size:var(--text-small);line-height:1.65}.filtered-gallery-lightbox .lightbox-details__link{display:inline-block;margin-top:16px;color:var(--white-color);font-size:var(--text-small);font-weight:600;line-height:1.4;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px;transition:border-color .2s ease,opacity .2s ease}.filtered-gallery-lightbox .lightbox-details__link:focus-visible,.filtered-gallery-lightbox .lightbox-details__link:hover{border-bottom-color:var(--white-color);opacity:.85}@media (max-width:899px){.filtered-gallery-lightbox.has-photo-story .lightbox-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;grid-gap:14px;gap:14px}.filtered-gallery-lightbox.has-photo-story .lightbox-stage .lightbox-image-container{min-height:0}.filtered-gallery-lightbox .lightbox-details{align-self:stretch;max-height:40vh;border-left:none;padding-left:0}.filtered-gallery-lightbox .lightbox-details__title{margin-bottom:8px;font-size:var(--text-md)}.filtered-gallery-lightbox .lightbox-details__link{margin-top:12px}}.filtered-gallery-lightbox .lightbox-note{max-width:62ch;margin:8px auto 0;color:rgba(255,255,255,.72);font-size:var(--text-small);line-height:1.55}@media (max-width:480px){.filtered-gallery-lightbox .lightbox-note{font-size:var(--text-2xs)}}@media (max-width:768px){.filtered-gallery-lightbox .lightbox-thumbnails{justify-content:flex-start;padding-bottom:6px}}@media (max-width:480px){.filtered-gallery-lightbox{padding:10px}}.filtered-gallery-lightbox .lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);cursor:pointer}.filtered-gallery-lightbox .lightbox-close:hover{opacity:1}.filtered-gallery-lightbox .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s ease;color:var(--white-color);font-size:var(--text-md);z-index:10;opacity:.6}.filtered-gallery-lightbox .lightbox-nav:hover{opacity:1}.filtered-gallery-lightbox .lightbox-next{right:0}@media (max-width:768px){.filtered-gallery-lightbox .lightbox-nav{width:32px;height:32px;font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing)}.filtered-gallery-lightbox .lightbox-next{right:0}}@media (max-width:480px){.filtered-gallery-lightbox .lightbox-nav{width:28px;height:28px;font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing)}.filtered-gallery-lightbox .lightbox-next{right:0}}.before-after-lightbox .lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:1}.before-after-lightbox .lightbox-close:hover{opacity:1}.before-after-lightbox .lightbox-close i,.before-after-lightbox .lightbox-close svg{color:#fff;font-size:var(--text-lg);width:18px;height:18px}.before-after-lightbox .lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s ease;z-index:10;opacity:.6}.before-after-lightbox .lightbox-nav:hover{opacity:1}.before-after-lightbox .lightbox-nav i,.before-after-lightbox .lightbox-nav svg{color:#fff;font-size:var(--text-md);width:16px;height:16px}.before-after-lightbox .lightbox-next{right:-60px}@media (max-width:1200px){.before-after-lightbox .lightbox-next{right:10px}}@media (max-width:899px){.before-after-lightbox .lightbox-nav{width:32px;height:32px}}@media (max-width:767px){.before-after-lightbox .lightbox-nav{width:28px;height:28px;font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing)}.before-after-lightbox .lightbox-next{right:5px}}.location-case-studies{--vc-gutter:var(--container-fluid-padding-x)}.vc-case+.vc-case{margin-top:56px;padding-top:56px;border-top:1px solid var(--divider-color)}@media (min-width:1000px){.vc-case+.vc-case{margin-top:72px;padding-top:72px}}.vc-case__top{display:grid;grid-gap:24px;gap:24px;align-items:center}@media (min-width:1000px){.vc-case__top{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px}.vc-case:nth-of-type(2n) .vc-case__lead{order:2}}.vc-case__lead{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--secondery-color)}.vc-case__leadimg{object-fit:cover;object-position:center}.vc-case__index{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;min-width:52px;padding:10px 14px;color:var(--white-color);font-family:var(--heading-font);font-size:var(--text-md);font-weight:700;line-height:1;background:var(--primary-color);z-index:1;pointer-events:none}.vc-case__zoom{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.vc-case__zoom img{transition:transform .5s ease}.vc-case__zoom:hover img{transform:scale(1.04)}.vc-case__zoom:focus-visible{outline:2px solid var(--accent-color);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.vc-case__zoom img,.vc-case__zoom:hover img{transition:none;transform:none}}.vc-case__kicker{margin:0 0 8px;color:var(--text-muted);font-family:var(--heading-font);font-size:var(--text-xs);letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.vc-case__name{margin:0 0 14px;color:var(--primary-color);font-family:var(--heading-font);font-size:var(--text-lead);font-weight:700;line-height:1.2;letter-spacing:var(--heading-letter-spacing)}.vc-case__narrative{max-width:56ch;margin:0 0 20px;color:var(--text-color);font-size:var(--text-small);line-height:1.6}.vc-case__palette{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px;padding:0;list-style:none}.vc-case__palette li{position:relative;padding:6px 12px 6px 22px;color:var(--primary-color);font-size:var(--text-2xs);letter-spacing:var(--label-letter-spacing);text-transform:uppercase;background:var(--secondery-color)}.vc-case__palette li:before{content:"";position:absolute;top:50%;left:10px;width:5px;height:5px;background:var(--accent-color);transform:translateY(-50%)}.vc-case__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 20px;gap:16px 20px;margin:0;padding-top:20px;border-top:1px solid var(--divider-color)}@media (min-width:600px){.vc-case__stats{grid-template-columns:repeat(3,minmax(0,1fr))}}.vc-case__stats dt{margin-bottom:5px;color:var(--text-muted);font-family:var(--heading-font);font-size:var(--text-2xs);letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.vc-case__stats dd{margin:0;color:var(--primary-color);font-family:var(--heading-font);font-size:var(--text-sm);font-weight:700;line-height:1.25}.vc-case__railhint{display:flex;align-items:center;gap:8px;margin:26px 0 10px;color:var(--text-muted);font-family:var(--heading-font);font-size:var(--text-2xs);letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.vc-case__railhint:after{content:"";flex:1 1;height:1px;background:var(--divider-color)}.vc-case__rail{display:grid;grid-auto-flow:column;grid-auto-columns:78%;grid-gap:12px;gap:12px;margin:0 calc(var(--vc-gutter) * -1);padding:0 var(--vc-gutter);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-left:var(--vc-gutter);list-style:none;-webkit-overflow-scrolling:touch;scrollbar-width:none}.vc-case__rail::-webkit-scrollbar{display:none}@media (min-width:600px){.vc-case__rail{grid-auto-columns:300px}}@media (min-width:1000px){.vc-case__rail{grid-auto-columns:320px}}.vc-case__rail>li{scroll-snap-align:start}.vc-room{margin:0}.vc-room__frame{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--secondery-color)}.vc-room__img{object-fit:cover;object-position:center}.vc-room figcaption{padding-top:12px;color:var(--text-color);font-size:var(--text-2xs);line-height:1.5}.vc-room figcaption strong{display:block;margin-bottom:3px;color:var(--primary-color);font-family:var(--heading-font);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.joinery-portraits-grid-body{display:flex;flex-direction:column;gap:10px;padding:0 10px}.joinery-portraits-grid-row{display:flex;gap:10px;width:100%;align-items:flex-start}.joinery-portrait-card{position:relative;overflow:hidden;cursor:pointer;text-decoration:none;display:block;flex-shrink:0;flex:1 1;min-width:0}.joinery-portrait-card__img-wrap{position:relative;width:100%;aspect-ratio:.75;overflow:hidden}.joinery-portrait-card__img-wrap img{display:block;width:100%;height:100%;object-fit:cover!important;transition:transform .6s ease}.joinery-portrait-card:hover .joinery-portrait-card__img-wrap img{transform:scale(1.05)}.joinery-portrait-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55));transition:background .4s ease;z-index:1;pointer-events:none}.joinery-portrait-card:hover .joinery-portrait-card__overlay{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.65))}@media (max-width:899px){.joinery-portraits-grid-body{gap:4px;padding:0 4px}.joinery-portraits-grid-row{gap:4px}}@media (max-width:767px){.joinery-portraits-grid-body{gap:2px;padding:0 2px}.joinery-portraits-grid-row{gap:2px;flex-wrap:wrap}.joinery-portrait-card{min-width:calc(50% - 1px);max-width:calc(50% - 1px)}.joinery-portrait-card:last-child:nth-child(odd){min-width:100%;max-width:100%}}@media (max-width:575px){.joinery-portrait-card{min-width:100%;max-width:100%}}.lead-form-title{font-size:var(--text-card-title);font-weight:600;display:block;margin-bottom:5px;color:var(--primary-color)}.lead-form-optional{color:var(--text-muted);font-weight:400;text-transform:none}.landing-lead-form-content{padding-right:28px}.landing-lead-form-content .lead-form-eyebrow{color:var(--text-color);font-size:var(--body-font-size);font-weight:600;letter-spacing:2.2px;line-height:1.2;margin:0 0 20px;text-transform:uppercase}.landing-lead-form-content .landing-lead-form-heading{margin-bottom:24px}.landing-lead-form-content .landing-lead-form-heading span{display:inline}.landing-lead-form-content .landing-lead-form-intro{color:#4b534e;font-size:var(--body-font-size);font-weight:400;letter-spacing:.02em;line-height:1.75;margin-top:28px;max-width:540px}.landing-lead-form-benefits .lead-form-title{color:#101513;display:block;font-size:var(--text-small);font-weight:600;letter-spacing:1.25px;margin-bottom:8px;text-transform:uppercase}@media (max-width:899px){.landing-lead-form-content{padding-right:0}}.bg-video{position:relative;display:block;width:100%;height:100%}.bg-video__loader{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}.bg-video__loader[data-visible=true]{animation:bgVideoLoaderIn .2s ease .35s forwards}@keyframes bgVideoLoaderIn{to{opacity:1}}.bg-video__loader--corner{align-items:flex-end;justify-content:flex-end;padding:clamp(16px,2vw,32px)}.bg-video__disc{position:relative;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:rgba(12,12,12,.55);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.bg-video__spinner{position:relative;width:36px;height:36px;border:3px solid rgba(255,255,255,.35);border-top:3px solid var(--accent-color,#a89076);border-radius:50%;animation:spin .8s linear infinite}@media (max-width:899px){.bg-video__disc{width:46px;height:46px}.bg-video__spinner{width:24px;height:24px;border-width:2px}}@media (prefers-reduced-motion:reduce){.bg-video__loader[data-visible=true]{animation:none;opacity:1}.bg-video__spinner{animation:none;border-top-color:rgba(255,255,255,.75)}}.res-justified-grid-header__description{margin:16px auto 0;font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--body-letter-spacing);color:var(--text-color)}.res-justified-grid-body{--res-jg-row-h:calc((100vw - 40px) / 4);display:flex;flex-direction:column;gap:10px;padding:0 10px}.res-justified-grid-row{display:flex;gap:10px;width:100%}.res-justified-card{position:relative;overflow:hidden;cursor:pointer;text-decoration:none;display:block;transition:flex-basis .45s ease,flex-grow .45s ease}.res-justified-card__img-wrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.res-justified-video-card{cursor:default}.res-justified-video-card .res-justified-card__img-wrap video{display:block;width:100%;height:100%;object-fit:cover}.res-justified-card:hover .res-justified-card__img-wrap img{transform:scale(1.05)}.res-justified-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55));transition:background .4s ease;z-index:1}.res-justified-card:hover .res-justified-card__overlay{background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.7) 70%,rgba(0,0,0,.95))}.res-justified-card__content{position:absolute;bottom:12px;left:12px;right:12px;display:flex;flex-direction:column-reverse;align-items:stretch;gap:20px;z-index:2;pointer-events:none}.res-justified-card__details{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;max-width:100%;width:100%;display:flex;flex-direction:column;align-items:flex-start;padding-left:0}.res-justified-card__label{align-self:flex-end}.res-justified-card__details:focus-visible{outline:1px solid rgba(255,255,255,.6);outline-offset:4px}.res-justified-card__description{color:white;font-size:var(--body-font-size);line-height:1.5;margin:0 0 8px;text-shadow:0 1px 3px rgba(0,0,0,.3);text-align:left}.res-justified-card__tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.res-justified-card__tag{font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing);color:rgba(255,255,255,.9);background:rgba(255,255,255,.213);padding:4px 10px;border:1px solid rgba(255,255,255,.2);transition:border-color .2s ease}.res-justified-card__tag:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.3)}.res-justified-card__keywords{margin:8px 0 0;padding:0 0 0 16px;list-style:disc;color:rgba(255,255,255,.95);font-size:var(--body-font-size);line-height:1.45;opacity:0;max-height:0;overflow:hidden;transform:translateY(8px);transition:opacity .3s ease,max-height .3s ease,transform .3s ease}.res-justified-card__keyword-item{margin-bottom:4px}.res-justified-card__keyword-item:last-child{margin-bottom:0}@media (max-width:1199px){.res-justified-grid-body{--res-jg-row-h:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.res-justified-grid-row{display:contents}}@media (max-width:899px){.res-justified-grid-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0 4px}.res-justified-grid-row{gap:4px}.res-justified-card__content{bottom:10px;left:10px;right:10px}.res-justified-card__description{font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--body-letter-spacing);margin:0 0 6px}.res-justified-card__tag{padding:3px 8px}.res-justified-card__keywords,.res-justified-card__tag{font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing)}}@media (max-width:767px){.res-justified-grid-body{--res-jg-row-h:auto;grid-template-columns:1fr}.res-justified-card__content{bottom:8px;left:8px;right:8px;gap:16px}.res-justified-card__description{font-size:var(--body-font-size);line-height:1.4;margin:0 0 5px}.res-justified-card__tags{gap:4px}.res-justified-card__tag{padding:3px 7px}.res-justified-card__keywords,.res-justified-card__tag{font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing)}}.google-review-card--stacked{position:relative;text-align:left;height:100%;border-color:var(--divider-color);padding:30px 24px 24px;box-shadow:none}.testimonial-quote-icon{position:absolute;top:14px;right:14px;font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing);color:var(--primary-color);opacity:.2}.google-review-header--stacked{align-items:center;margin-bottom:12px}.testimonial-rating{margin-bottom:20px}.testimonial-rating i{font-size:var(--text-lg);color:var(--primary-color);margin-right:2px}.testimonial-content{margin-bottom:40px}.testimonial-content p{font-size:var(--text-card-title);color:var(--primary-color);margin:0}.testimonial-controls{margin-top:20px;display:inline-flex;align-items:center;gap:12px}.testimonial-next,.testimonial-prev{background:transparent;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s ease;color:var(--primary-color);font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing);padding:0;opacity:.5}.testimonial-next:hover,.testimonial-prev:hover{opacity:1}.testimonial-dots{display:flex;gap:8px}.testimonial-dot{width:6px;height:6px;border-radius:50%;background:var(--primary-color);cursor:pointer;transition:all .2s ease;opacity:.3}.testimonial-rating-counter{display:flex;align-items:center;gap:20px}.testimonial-client-rating{display:block;background:var(--primary-color);padding:0 5px 3px;line-height:1em;width:-moz-fit-content;width:fit-content}.testimonial-client-rating i{font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing);color:var(--white-color)}.testimonial-rating-content p{color:var(--primary-color);font-weight:500;margin:0}.google-review-card{background:var(--white-color);border:1px solid #e0e0e0;margin-right:2px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.google-review-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.profile-image-wrapper{position:relative;width:44px;height:44px;flex-shrink:0}.profile-icon-placeholder{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--secondery-color);border:1px solid var(--divider-color)}.profile-icon{font-size:var(--text-md);color:var(--primary-color);opacity:.6}.google-badge{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;background:var(--white-color);border-radius:50%;padding:2px;box-shadow:0 1px 2px rgba(0,0,0,.15)}.google-review-card .testimonial-content{margin-bottom:0}.our-testimonials--centered .our-testimonial-content{padding:0}.our-testimonials--centered .testimonial-slider{max-width:100%;margin:0 auto 40px}.google-review-header--centered .profile-image-wrapper{width:56px;height:56px}.google-review-header--centered .reviewer-info{text-align:center}.google-review-header--centered .reviewer-info h3{font-size:var(--text-small)}.google-review-card--centered .testimonial-rating{justify-content:center}.google-review-card--centered .testimonial-content p{font-size:var(--body-font-size);line-height:1.7}.testimonial-controls--centered{justify-content:center;width:100%}.testimonial-rating-counter--centered{justify-content:center}@media (max-width:767px){.google-review-card{margin-right:0;width:100%;max-width:100%}.testimonial-rating{margin-bottom:15px}.testimonial-content{margin-bottom:20px}.testimonial-content p{font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--body-letter-spacing)}.testimonial-controls{gap:10px}.testimonial-next,.testimonial-prev{width:28px;height:28px;font-size:var(--body-font-size);line-height:1.55;letter-spacing:var(--label-letter-spacing)}.testimonial-dot{width:5px;height:5px}}.project-photo-hero{align-items:flex-end;min-height:min(100vh,820px);min-height:min(100svh,820px)}.project-photo-hero:before{background:linear-gradient(180deg,rgba(8,12,13,.62),rgba(8,12,13,.14) 26%,rgba(8,12,13,.52) 62%,rgba(8,12,13,.92))}.project-photo-detail-page .villa-renovation-hero__title{max-width:20ch;font-size:clamp(1.9rem,1.1rem + 2.1vw,3.25rem)}.project-photo-overview .row>.project-photo-overview__copy{padding-right:3%}.project-photo-overview__links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:clamp(24px,2.4vw,34px);font-size:var(--text-small)}.project-photo-links a,.project-photo-overview__links a{display:inline-flex;align-items:center;gap:6px;padding-bottom:2px;color:var(--primary-color);text-decoration:none;border-bottom:1px solid var(--divider-color);transition:color .25s ease,border-color .25s ease}.project-photo-links a:focus-visible,.project-photo-links a:hover,.project-photo-overview__links a:focus-visible,.project-photo-overview__links a:hover{color:var(--accent-color);border-bottom-color:var(--accent-color)}@media (min-width:1200px){.project-photo-narrative-band .villa-outcome-layout{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}}.project-photo-narrative{max-width:68rem;gap:clamp(18px,2vw,26px)}.project-photo-narrative p{max-width:none;margin:0;color:var(--text-muted);font-size:var(--body-font-size);line-height:1.85;letter-spacing:var(--body-letter-spacing)}.project-photo-scope-list{margin:0;padding:0;list-style:none;column-count:3;column-gap:clamp(36px,4vw,70px)}.project-photo-scope-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:baseline;grid-gap:10px;gap:10px;padding:15px 0;border-bottom:1px solid var(--divider-color);page-break-inside:avoid;break-inside:avoid}.project-photo-scope-item__index{color:var(--accent-color);font-family:var(--heading-font);font-size:var(--text-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.08em}.project-photo-scope-item__label{color:var(--primary-color);font-size:var(--text-small);line-height:1.45;transition:color .3s ease,transform .3s ease}.project-photo-scope-item:hover .project-photo-scope-item__label{color:var(--accent-color);transform:translateX(3px)}.project-photo-scope-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:clamp(30px,3vw,44px) 0 0;color:var(--text-muted);font-size:var(--text-caption);letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.project-photo-scope-total strong{color:var(--accent-color);font-family:var(--heading-font);font-size:var(--text-xl);font-weight:500;line-height:1}.project-photo-services .villa-process-heading p{margin:16px 0 0;color:rgba(255,255,255,.72)}.project-photo-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:clamp(16px,1.6vw,22px);gap:clamp(16px,1.6vw,22px)}.project-photo-service{position:relative;display:grid;align-content:start;grid-gap:18px;gap:18px;padding:clamp(24px,2.3vw,32px);background:rgba(10,12,13,.42);border:1px solid rgba(255,255,255,.18);transition:background .35s ease,border-color .35s ease,transform .35s ease}.project-photo-service:hover{background:rgba(10,12,13,.16);border-color:rgba(255,255,255,.4);transform:translateY(-4px)}.project-photo-service__index{position:absolute;top:14px;right:18px;color:rgba(255,255,255,.3);font-family:var(--heading-font);font-size:var(--text-md);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.project-photo-service__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--white-color);border:1px solid rgba(255,255,255,.32);border-radius:50%;transition:background .35s ease,border-color .35s ease,color .35s ease}.project-photo-service:hover .project-photo-service__icon{color:var(--primary-color);background:var(--accent-color);border-color:var(--accent-color)}.project-photo-service h3{margin:0;color:var(--white-color);font-family:var(--heading-font);font-size:var(--text-lg);font-weight:500;line-height:1.3}.project-photo-materials-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-photo-materials-grid .project-photo-material--crop .team-include-image img{transform:scale(2.4)}.project-photo-materials-grid .project-photo-material--crop:hover .team-include-image img{transform:scale(2.6)}.project-photo-tags__label{margin:8px 0 0;color:var(--text-muted);font-size:var(--text-caption);letter-spacing:var(--label-letter-spacing);text-transform:uppercase}.project-photo-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.project-photo-tags li{padding:6px 14px;color:var(--text-muted);font-size:var(--text-caption);line-height:1.4;border:1px solid var(--divider-color);border-radius:999px}.project-photo-links{margin:8px 0 0;font-size:var(--text-small)}.project-photo-detail-page .villa-outcome-card{min-height:168px;align-content:space-between}.project-photo-detail-page .villa-why-choose-grid{row-gap:clamp(22px,2.2vw,30px)}.project-photo-detail-page .villa-why-choose-card__body{gap:4px}.project-photo-detail-page .villa-why-choose-card__body h3{margin-bottom:0}.project-photo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:clamp(28px,3vw,44px);gap:clamp(28px,3vw,44px)}.project-photo-card{display:flex;flex-direction:column;max-width:560px;text-decoration:none}.project-photo-card__frame{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--divider-color)}.project-photo-card__frame img{object-fit:cover;transition:transform .6s ease-out}.project-photo-card:hover .project-photo-card__frame img{transform:scale(1.04)}.project-photo-card__body{display:flex;flex-direction:column}.project-photo-card__space{margin-top:20px;color:var(--accent-color);font-size:var(--text-caption);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.project-photo-card__title{margin-top:8px;color:var(--primary-color);font-family:var(--heading-font);font-size:var(--text-md);line-height:1.3;letter-spacing:var(--heading-letter-spacing)}.project-photo-card__text{margin-top:10px;color:var(--text-muted);font-size:var(--text-small);line-height:1.6}.project-photo-card__cta{display:inline-flex;align-items:center;gap:6px;margin-top:16px;color:var(--primary-color);font-size:var(--text-small);letter-spacing:var(--label-letter-spacing)}.project-photo-card:hover .project-photo-card__cta{color:var(--accent-color)}@media (min-width:992px){.project-photo-cards--single{grid-template-columns:minmax(0,1fr)}.project-photo-cards--single .project-photo-card{flex-direction:row;align-items:center;gap:clamp(32px,3.4vw,56px);max-width:none}.project-photo-cards--single .project-photo-card__frame{flex:1 1 58%;aspect-ratio:3/2}.project-photo-cards--single .project-photo-card__body{flex:1 1 42%}.project-photo-cards--single .project-photo-card__space{margin-top:0}}@media (max-width:1199px){.project-photo-scope-list{column-count:2}.project-photo-materials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:991px){.project-photo-detail-page .villa-renovation-hero__title{max-width:none}.project-photo-overview .row>.project-photo-overview__copy{padding-right:0}}@media (max-width:767px){.project-photo-hero{min-height:78vh;min-height:78svh}.project-photo-scope-list{column-count:1}.project-photo-cards,.project-photo-materials-grid{grid-template-columns:minmax(0,1fr)}}.trust-score-item{text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:32px 24px;transition:all .3s ease}.joinery-trust-scores{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-top:30px}.joinery-trust-scores.joinery-trust-scores--4col{grid-template-columns:repeat(4,1fr);gap:14px}.joinery-trust-scores.joinery-trust-scores--4col .trust-score-item{padding:18px 10px}.joinery-trust-scores.joinery-trust-scores--4col .trust-score-number{font-size:var(--text-card-title)}.joinery-trust-scores .trust-score-item:hover{background:var(--white-color);border-color:var(--primary-color);transform:translateY(-2px)}.joinery-trust-scores .trust-score-number{font-size:var(--text-section-title);font-weight:700;color:var(--primary-color);line-height:1;margin-bottom:8px;font-family:var(--heading-font)}.joinery-intro-row>[class*=col-]:first-child{display:flex;flex-direction:column;justify-content:center}.joinery-intro-row>[class*=col-]:last-child{display:flex;flex-direction:column}.joinery-intro-image{position:relative;height:100%;min-height:400px;flex:1 1}@media (max-width:899px){.joinery-intro-row{align-items:center!important}.joinery-intro-image{height:auto;min-height:unset;margin-top:24px}.trust-score-item{padding:24px 18px}.joinery-trust-scores{gap:15px;margin-top:25px}.joinery-trust-scores .trust-score-item{padding:18px 14px}.joinery-trust-scores .trust-score-number{font-size:var(--text-card-title);margin-bottom:6px}}@media (max-width:767px){.trust-score-item{padding:20px 16px}.joinery-trust-scores{grid-template-columns:1fr;gap:12px;margin-top:20px}.joinery-trust-scores.joinery-trust-scores--4col{grid-template-columns:repeat(2,1fr)}.joinery-trust-scores .trust-score-item{padding:16px 12px}.joinery-trust-scores .trust-score-number{font-size:var(--text-xl);margin-bottom:6px}}.page-services--minimal .service-item{height:auto;margin-bottom:24px;border:1px solid rgba(35,32,31,.08);background:var(--white-color);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.page-services--minimal .service-item:hover{transform:translateY(-4px);border-color:rgba(35,32,31,.18);box-shadow:0 18px 40px rgba(0,0,0,.08)}.page-services--minimal .service-image img{aspect-ratio:4/3;transition:transform .35s ease}.page-services--minimal .service-item:hover .service-image img{transform:scale(1.04)}.page-services--minimal .service-btn{top:16px;right:16px}.page-services--minimal .service-btn a{width:36px;height:36px;background:var(--white-color);border:1px solid rgba(35,32,31,.12);box-shadow:0 10px 25px rgba(0,0,0,.08)}.page-services--minimal .service-btn a img{max-width:16px;transform:rotate(0);filter:brightness(0) saturate(100%)}.page-services--minimal .service-btn a:hover{background:var(--primary-color);border-color:var(--primary-color)}.page-services--minimal .service-btn a:hover img{transform:rotate(0);filter:brightness(0) invert(1)}.page-services--minimal .service-content{position:static;padding:18px 20px 24px}.page-services--minimal .service-content h3{font-size:var(--text-md);margin-bottom:8px;color:var(--primary-color)}.page-services--minimal .service-content p{color:rgba(35,32,31,.7);margin-bottom:0}@media (max-width:899px){.page-services--minimal .service-btn{top:12px;right:12px}.page-services--minimal .service-content{padding:16px 18px 20px}}.why-choose-images{display:flex;flex-wrap:wrap;gap:20px;margin-left:30px}@media (min-width:992px){.property-inspection-page .why-choose-us .why-choose-images{display:flex;flex-direction:column;flex:1 1 auto;width:100%;gap:20px}.property-inspection-page .why-choose-us .why-choose-img-box-1,.property-inspection-page .why-choose-us .why-choose-img-box-2{flex:1 1;min-height:0}.property-inspection-page .why-choose-us .why-choose-img-box-1>div,.property-inspection-page .why-choose-us .why-choose-img-box-2>div{display:flex;min-height:0}.property-inspection-page .why-choose-us .why-choose-img-1 figure,.property-inspection-page .why-choose-us .why-choose-img-2 figure,.property-inspection-page .why-choose-us .why-choose-img-3 figure,.property-inspection-page .why-choose-us .why-choose-img-4 figure{display:block;width:100%;height:100%}.property-inspection-page .why-choose-us .why-choose-img-1 img,.property-inspection-page .why-choose-us .why-choose-img-2 img,.property-inspection-page .why-choose-us .why-choose-img-3 img,.property-inspection-page .why-choose-us .why-choose-img-4 img{width:100%;height:100%!important;aspect-ratio:auto;object-fit:cover}}.why-choose-img-box-1,.why-choose-img-box-2{display:flex;gap:20px;width:100%}.why-choose-img-1 figure,.why-choose-img-2 figure,.why-choose-img-3 figure,.why-choose-img-4 figure{display:block}.why-choose-img-1,.why-choose-img-2{width:calc(50% - 10px)}.why-choose-img-2 img{width:100%;aspect-ratio:1/.65;object-fit:cover}.why-choose-img-3{width:calc(50% - 10px)}.why-choose-img-3 img{width:100%;aspect-ratio:1/.65;object-fit:cover}.why-choose-img-4{width:calc(50% - 10px)}.why-choose-img-4 img{width:100%;aspect-ratio:1/.65;object-fit:cover}@media (max-width:899px){.why-choose-images{margin-left:0;margin-top:40px}}