.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}.apartment-renovation-page,.landscaping-pools-page,.office-renovation-page,.restaurant-fitout-page,.retail-stores-page{overflow:clip}.apartment-renovation-page .apartment-pathways-grid .landscaping-pathway-card,.restaurant-fitout-page .restaurant-pathways-grid .landscaping-pathway-card,.retail-stores-page .retail-pathways-grid .landscaping-pathway-card{grid-template-rows:auto auto 1fr auto;align-content:stretch}.landscaping-project-notes article{display:grid;grid-row:span 3;grid-template-rows:subgrid;grid-row-gap:14px;row-gap:14px;padding:clamp(26px,3vw,38px);background:var(--white-color)}.landscaping-project-notes article>span{color:var(--accent-color);font-family:var(--heading-font);font-size:var(--text-lg)}.landscaping-pathway-card h3,.landscaping-project-notes h3{margin:0;color:var(--primary-color);font-family:var(--heading-font);font-size:var(--text-lg);font-weight:500;line-height:1.3}.landscaping-pathway-card p,.landscaping-project-notes p{margin:0;color:var(--text-color);font-size:var(--body-font-size);line-height:1.6}.landscaping-project-notes strong{color:var(--primary-color);font-weight:500}.landscaping-pathway-card{display:grid;align-content:start;grid-gap:16px;gap:16px;min-height:100%;padding:clamp(26px,3vw,38px);background:var(--white-color)}.landscaping-pathway-card>span{color:rgba(35,32,31,.25);font-family:var(--heading-font);font-size:var(--text-xl)}.landscaping-pathway-card a{align-self:end;margin-top:10px;color:var(--primary-color);font-family:var(--heading-font);font-size:var(--text-xs);letter-spacing:var(--label-letter-spacing);text-decoration:underline;text-underline-offset:6px;text-transform:uppercase}.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)}}