.elementor-32249 .elementor-element.elementor-element-fq0073{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0013{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0001{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0012{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0003{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0002{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0005{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0004{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0008{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0007{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0010{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fqstars01{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-ms100{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms101{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms102{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms103{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-ms104{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms105{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-ms106{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-pwgrid1{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-32249 .elementor-element.elementor-element-pwgrid1 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.66 * 100% );}.elementor-32249 .elementor-element.elementor-element-pwgrid1:after{content:"0.66";}.elementor-32249 .elementor-element.elementor-element-pwgrid1 .elementor-post__thumbnail__link{width:100%;}.elementor-32249 .elementor-element.elementor-element-pwgrid1.elementor-posts--thumbnail-left .elementor-post__thumbnail__link{margin-right:20px;}.elementor-32249 .elementor-element.elementor-element-pwgrid1.elementor-posts--thumbnail-right .elementor-post__thumbnail__link{margin-left:20px;}.elementor-32249 .elementor-element.elementor-element-pwgrid1.elementor-posts--thumbnail-top .elementor-post__thumbnail__link{margin-bottom:20px;}.elementor-32249 .elementor-element.elementor-element-ms200{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms201{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms202{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms203{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-ms204{--display:flex;}.elementor-32249 .elementor-element.elementor-element-ms205{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-ms206{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-mx2000{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mx2001{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mx2002{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mx2003{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-mx2004{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mx2005{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-mx2006{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-mv1008{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mv1009{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mv1010{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mv1011{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-mv1012{--display:flex;}.elementor-32249 .elementor-element.elementor-element-mv1013{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-mv1014{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0072{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0071{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0063{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0062{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0065{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0064{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0066{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}.elementor-32249 .elementor-element.elementor-element-fq0069{--display:flex;}.elementor-32249 .elementor-element.elementor-element-fq0070{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;}@media(max-width:767px){.elementor-32249 .elementor-element.elementor-element-pwgrid1 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-32249 .elementor-element.elementor-element-pwgrid1:after{content:"0.5";}.elementor-32249 .elementor-element.elementor-element-pwgrid1 .elementor-post__thumbnail__link{width:100%;}}/* Start custom CSS *//* LV-PW-RESPONSIVE */
@media (max-width:1024px){
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-wrap, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-wrap-l{padding-left:40px!important;padding-right:40px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec:not(.bq-hero):not(.pw-work){padding-top:100px!important;padding-bottom:100px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec.pw-work{padding-top:100px!important;padding-bottom:120px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec.bq-hero{padding-top:105px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-eb-t{font-size:16px!important;line-height:1.1!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec p, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede-l, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede p, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede-l p{font-size:17px!important;line-height:1.62!important}
}
@media (max-width:767px){
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-wrap, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-wrap-l{padding-left:24px!important;padding-right:24px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec:not(.bq-hero):not(.pw-work){padding-top:76px!important;padding-bottom:76px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec.pw-work{padding-top:76px!important;padding-bottom:92px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec.bq-hero{padding-top:82px!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-eb-t{font-size:15px!important;line-height:1.1!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec p, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede-l, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede p, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-lede-l p{font-size:17px!important;line-height:1.62!important}
}
/* LV-PW-STARS */
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-stars, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-stars *, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .lvf-rating, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .lvf-rating *{font-family:'Cormorant Infant',Cormorant,Georgia,serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:2px!important;line-height:1.5!important}
/* LV-PW-TONESYNC */
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) #mv-fx-bg{transition:background-color 0.5s cubic-bezier(0.32,0.24,0.4,1)!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-sec.bq-fx{transition:background-color 0.5s cubic-bezier(0.32,0.24,0.4,1)!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .elementor-heading-title, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root p, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root li, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root a, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root h1, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root h2, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root h3, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root h4, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root span, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root em, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root strong, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root time, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root dt, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root dd{transition:color 0.5s cubic-bezier(0.32,0.24,0.4,1),border-color 0.5s cubic-bezier(0.32,0.24,0.4,1)!important}
/* LV-PW-CTA-CENTER */
@media (max-width:767px){
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-btns{align-items:center!important;justify-content:center!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-cta{text-align:center!important}
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .bq-cta .elementor-widget-container{text-align:center!important}
}
/* LV-PW-SERIF-BODY */
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .pw-d, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .pw-d p{font-family:'Cormorant Infant',Cormorant,Georgia,serif!important;font-weight:300!important;font-size:clamp(17px,1.3vw,18.5px)!important;line-height:1.62!important;letter-spacing:normal!important}
@media (max-width:1024px){html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .pw-d, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .pw-d p{font-size:17px!important;line-height:1.62!important}}
/* LV-PW-TOWN-MICRO */
@media (max-width:1024px){
html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .pw-town, html body.page-id-32249:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .bq-root .pw-town *{font-family:'Cormorant Infant',Cormorant,Georgia,serif!important;font-size:12px!important;font-weight:500!important;letter-spacing:2px!important;line-height:1.5!important}
}


/* ===== LV-PW-EYEBROW-OUT =====
   The closing band opened on a centred eyebrow reading - Work with us - with a rule either
   side of it. It comes out whole, dashes included, rather than just blanking the words, so
   the band starts on its headline and no empty lockup is left holding space. ===== */
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .elementor-element-fq0063{ display:none !important; }

/* ===== LV-PW-WORK-MOTION =====
   Looked at the page properly and found two separate faults, one of them mine.

   1. The parallax is a per-frame scrub, not a one-shot: the offset reads 0px on a plate
      that has passed, 4.8px on one near the top of the screen and 22px on one further
      down, recomputed as you scroll. I had put a 3s ease on it, which on a value that
      changes every frame does not read as slow - it reads as rubbery, because the image
      can never catch the number. A scrub wants smoothing, not easing: .35s linear takes
      the jitter out and still tracks the scroll honestly.

   2. The real jerk was never the motion. The photographs are lazy-loaded and arrive at
      full opacity the instant they decode, so a plate is a hollow #0D0D0D box and then,
      abruptly, a house. That is the hard cut you see as each one comes into the screen.
      They now materialise over 1.6s while the frame settles from a 3.5% oversize over
      2s, so the picture resolves into its window instead of appearing in it.

   The held state is only applied to images that have not loaded yet - one already painted
   is never touched, so nothing can flash - and the script releases on load, on error and
   on a timer. The card and caption keep transition:none, exactly as they were. ===== */
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail img{
  transition:transform .35s linear, filter 1.6s ease !important;
}
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail{
  overflow:hidden !important;
  transition:transform 1.6s cubic-bezier(.16,.84,.24,1) !important;
}
@keyframes lvpwPlateIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes lvpwFrameIn{ from{ transform:scale(1.045); } to{ transform:scale(1); } }
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail img.lvpw-hold{ opacity:0 !important; }
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail img.lvpw-in{ animation:lvpwPlateIn 2.2s cubic-bezier(.4,0,.2,1) both !important; }
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail.lvpw-in{ animation:lvpwFrameIn 2.6s cubic-bezier(.33,0,.15,1) both !important; }
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post:hover .elementor-post__thumbnail{ transform:scale(1.035) !important; }
html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post:hover .elementor-post__thumbnail img{ filter:brightness(1.05) !important; }
@media (prefers-reduced-motion:reduce){
  html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail,
  html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail img{ transition:none !important; animation:none !important; }
  html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post .elementor-post__thumbnail img.lvpw-hold{ opacity:1 !important; }
  html body:not(#lvW1):not(#lvW2):not(#lvW3):not(#lvW4):not(#lvW5) .elementor-32249 .pw-work .pw-grid .elementor-post:hover .elementor-post__thumbnail{ transform:none !important; }
}

/* Curve note: the entrance used cubic-bezier(.16,1,.3,1), which is the site's arrival
   curve and correct for something travelling into place - but on a fade it dumps most of
   the change into the first quarter. Measured at 550ms of a 2.2s fade the opacity was
   already .83, so it read as a fast fade with a long invisible tail, which is exactly the
   quick entrance this was meant to remove. Both entrances now run on even curves that
   spend their time where the eye can see it. */

/* Blur note: the entrance also tried a defocus - blur(14px) resolving to 0 - and it never
   rendered. Measured at every step of the fade the blur read 0px, because the theme sets
   filter on these images with !important, and an important author declaration outranks an
   animation in the cascade. The dead property is removed rather than left in looking like
   it does something. The fade and the frame settle carry the entrance on their own. */

/* Layer note: checked whether the plate images were being promoted to their own
   compositor layers by this stylesheet - they are not, nothing here sets will-change. The
   theme sets will-change:transform on each .elementor-post itself, which is defensible
   since the scrub animates that element's transform. Left alone. *//* End custom CSS */