.elementor-kit-7{--e-global-color-primary:#1E1E1E;--e-global-color-secondary:#3EB1CB;--e-global-color-text:#000000;--e-global-color-accent:#FFFFFF;--e-global-color-dfde3e2:#FCFCFC;--e-global-color-36509fb:#63666A;--e-global-typography-primary-font-family:"Raleway";--e-global-typography-primary-font-size:70px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:72px;--e-global-typography-primary-letter-spacing:0%;--e-global-typography-secondary-font-family:"Raleway";--e-global-typography-secondary-font-size:48px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:100%;--e-global-typography-secondary-letter-spacing:0%;--e-global-typography-text-font-family:"Raleway";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:26px;--e-global-typography-text-letter-spacing:0%;--e-global-typography-accent-font-family:"Raleway";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:100%;--e-global-typography-accent-letter-spacing:0%;--e-global-typography-11bce7a-font-family:"Raleway";--e-global-typography-11bce7a-font-size:20.25px;--e-global-typography-11bce7a-font-weight:700;--e-global-typography-11bce7a-line-height:100%;--e-global-typography-11bce7a-letter-spacing:3%;--e-global-typography-107a663-font-family:"Raleway";--e-global-typography-107a663-font-size:14px;--e-global-typography-107a663-font-weight:300;--e-global-typography-107a663-line-height:20px;--e-global-typography-107a663-letter-spacing:0%;--e-global-typography-b8fe5af-font-family:"Raleway";--e-global-typography-b8fe5af-font-size:14.09px;--e-global-typography-b8fe5af-font-weight:600;--e-global-typography-b8fe5af-line-height:100%;--e-global-typography-b8fe5af-letter-spacing:0%;--e-global-typography-aed9d43-font-family:"Raleway";--e-global-typography-aed9d43-font-size:20px;--e-global-typography-aed9d43-font-weight:600;--e-global-typography-aed9d43-line-height:120%;--e-global-typography-aed9d43-letter-spacing:0%;--e-global-typography-8b7fd80-font-family:"Raleway";--e-global-typography-8b7fd80-font-size:77.93px;--e-global-typography-8b7fd80-font-weight:300;--e-global-typography-8b7fd80-line-height:100%;--e-global-typography-8b7fd80-letter-spacing:0%;--e-global-typography-2d79a8f-font-family:"Raleway";--e-global-typography-2d79a8f-font-size:222.44px;--e-global-typography-2d79a8f-font-weight:900;--e-global-typography-2d79a8f-line-height:100%;--e-global-typography-2d79a8f-letter-spacing:9%;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:60px;--e-global-typography-secondary-font-size:40px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:clamp(36px, 11.25vw, 45px);--e-global-typography-primary-line-height:50px;--e-global-typography-secondary-font-size:clamp(30px, 9.375vw, 40px);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */.e-tabs-menu-base .e-tab-base .e-paragraph-base {
    font-weight: 600 !important;
}

.e-tabs-menu-base .e-tab-base:hover .e-paragraph-base,
.e-tabs-menu-base .e-tab-base.e--selected .e-paragraph-base {
    font-weight: 700 !important;
}

/* ===== FPW CASE STUDY SLIDERS =====
   Figma "FPW Website Refresh":
     service + division pages = node 132:1566 "case studies internal" (intro above, compact cards)
     homepage                 = node 154:1014 (intro on the left, big cards) -> its two containers also have class fpw-cs--side
   Used by every Loop Carousel showing card template 2482 "Case Study Card". The compact card sizes are set
   in template 2482 itself; the big homepage sizes are the fpw-cs--side overrides below.
   Hooks (Advanced > CSS Classes on the two containers around the carousel):
     fpw-cs__intro  = "Case Studies" heading / subtitle / text
     fpw-cs__slider = container holding the Loop Carousel (runs to the right screen edge)
   Carousel settings: Slides on Display 1 at every breakpoint; the card width is fixed here (--cs-card)
   and the following cards show to the right. */

/* ---------- shared ---------- */
.e-con:has(> .e-con > .fpw-cs__slider){ padding-left: 0 !important; padding-right: 0 !important; }
.e-con:has(> .fpw-cs__slider){
  --cs-min: 20px;                                       /* smallest side margin */
  --cs-edge: max(var(--cs-min), calc((100% - 1120px) / 2)); /* lines up with the 1120px content width */
  --cs-card: 470px;
}
.fpw-cs__slider .elementor-widget-loop-carousel{
  width: 100% !important;
  max-width: none !important;
  overflow: hidden; /* hides cards that slid off to the left; screen edge on the right */
}
.fpw-cs__slider .elementor-loop-container.swiper{
  width: min(var(--cs-card), calc(100% - 40px)) !important;
  margin: 0 !important;
  overflow: visible !important; /* following cards stay visible to the right */
}
.fpw-cs__slider .swiper-pagination{
  position: static !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  display: flex;
  justify-content: center;
  margin-top: 8px; /* + the carousel's own 39px dot spacing = ~48px, as in Figma */
}

/* ---------- service + division pages: intro above, compact cards ---------- */
.e-con > .fpw-cs__intro:not(.fpw-cs--side){
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: var(--cs-edge) !important;
  padding-right: var(--cs-edge) !important;
}
.e-con > .fpw-cs__slider:not(.fpw-cs--side){
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  margin: 0 !important;
  padding: 40px 0 0 var(--cs-edge) !important;
}
.fpw-cs__slider:not(.fpw-cs--side) .swiper-pagination{
  padding-right: max(var(--cs-min), calc(100% - 1120px)); /* centres the dots on the page, not on the slider */
}

/* ---------- homepage: intro on the left, big cards ---------- */
.e-con:has(> .fpw-cs__slider.fpw-cs--side){
  --cs-card: 660px;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: clamp(40px, 6.5vw, 96px) !important;
  padding-left: var(--cs-edge) !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}
.e-con > .fpw-cs__intro.fpw-cs--side{
  flex: 0 0 clamp(280px, 27vw, 380px) !important;
  width: clamp(280px, 27vw, 380px) !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}
.e-con > .fpw-cs__slider.fpw-cs--side{
  flex: 1 1 0 !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
@media (min-width: 768px){
  .fpw-cs--side .elementor-2482 .elementor-element-00b1b04{ padding: 40px !important; gap: 40px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-7f1df83{ flex: 0 0 330px !important; width: 330px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-bd254dc img{ height: 432px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-c5f2d05{ min-height: 432px !important; gap: 28px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-1007617 .elementor-heading-title{ font-size: 24px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-1007617{ margin-bottom: 18px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-36a8595 .elementor-heading-title,
  .fpw-cs--side .elementor-2482 .elementor-element-9f6317d .elementor-heading-title{ font-size: 18px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-85d22ed{ gap: 14px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-3d01770 .elementor-heading-title{ font-size: 12px !important; line-height: 1.6 !important; }
}

/* ---------- tablet ---------- */
@media (max-width: 1024px){
  .e-con:has(> .fpw-cs__slider){ --cs-min: 40px; }
  .e-con:has(> .fpw-cs__slider.fpw-cs--side){ --cs-card: 640px; flex-direction: column !important; gap: 36px !important; }
  .e-con > .fpw-cs__intro.fpw-cs--side{ flex: none !important; width: calc(100% - var(--cs-edge)) !important; max-width: 640px !important; }
  .e-con > .fpw-cs__slider.fpw-cs--side{ flex: none !important; width: 100% !important; }
}
@media (min-width: 768px) and (max-width: 1024px){
  .fpw-cs--side .elementor-2482 .elementor-element-7f1df83{ flex: 0 0 300px !important; width: 300px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-bd254dc img{ height: 400px !important; }
  .fpw-cs--side .elementor-2482 .elementor-element-c5f2d05{ min-height: 400px !important; }
}

/* ---------- phones ---------- */
@media (max-width: 767px){
  .e-con:has(> .fpw-cs__slider){ --cs-min: 20px; }
  .e-con > .fpw-cs__slider:not(.fpw-cs--side){ padding-top: 28px !important; }
  .fpw-cs__slider .elementor-loop-container.swiper{ width: calc(100% - 44px) !important; }
  .fpw-cs__slider .swiper-pagination{ margin-top: 0; }
}
/* ===== /FPW CASE STUDY SLIDERS ===== */

/* ===== FPW CAROUSEL DOT TARGETS — 2026-10-26 =====
   Shared case-study carousels and homepage testimonials.
   Keep 7px square indicators; each has its own non-overlapping target, 44px tall.
   24px wide, 16px on phones so 20 dots fit (changed from 44px wide 2026-11-02).
   Elementor's dot-size control cannot size the indicator and target separately. */
.fpw-cs__slider .swiper-pagination,
.rc .rc__dots {
  gap: 0;
  align-items: center;
}
.elementor .fpw-cs__slider .elementor-widget-loop-carousel .swiper-pagination .swiper-pagination-bullet,
.rc .rc__dot {
  position: relative;
  flex: 0 0 24px;
  width: 24px !important;
  height: 44px !important;
  min-width: 24px;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  opacity: 1;
  box-shadow: none;
  vertical-align: middle;
}
.elementor .fpw-cs__slider .elementor-widget-loop-carousel .swiper-pagination .swiper-pagination-bullet::before,
.rc .rc__dot::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #63666A;
  pointer-events: none;
}
.elementor .fpw-cs__slider .elementor-widget-loop-carousel .swiper-pagination .swiper-pagination-bullet-active::before,
.rc .rc__dot[aria-current="true"]::before {
  background: #9ADBE8;
}
.rc .rc__dot:hover {
  transform: none;
}
.elementor .fpw-cs__slider .elementor-widget-loop-carousel .swiper-pagination .swiper-pagination-bullet:focus-visible,
.rc .rc__dot:focus-visible {
  outline: 2px solid #3EB1CB;
  outline-offset: -2px;
}
@media (max-width: 767px) {
  .elementor .fpw-cs__slider .elementor-widget-loop-carousel .swiper-pagination .swiper-pagination-bullet,
  .rc .rc__dot {
    flex-basis: 16px;
    width: 16px !important;
    min-width: 16px;
  }
}
/* ===== /FPW CAROUSEL DOT TARGETS ===== */

/* ===== FPW NO SIDEWAYS STRETCH — 2026-11-02 =====
   Slide-in animations start a full screen off to the right. Without this they
   stretch the phone layout (390 to 720px) and the header with it. */
html,
body {
  overflow-x: clip !important;
}
/* ===== /FPW NO SIDEWAYS STRETCH ===== */


/* ===== FPW SERVICE PAGE RHYTHM — 2026-11-02 =====
   Baseline: dev Graphic Design. A page opts in through fpw-svc-* classes on its sections.
   FPW Difference uses fpw-svc-difference, fpw-svc-cta-inner, fpw-svc-cta-text and fpw-svc-cta-button on every page that has it, not only service pages.
   Side margins: 20px phones, 40px tablets, centered 1120px column above that.
   Section gaps: 96px phones, 112px larger. Have a Project and FPW Difference: 72/80px above and below. */
:root { --fpw-side: max(40px, calc((100% - 1120px) / 2)); }

.fpw-svc-hero-row, .fpw-svc-what, .fpw-svc-services-outer, .fpw-svc-project, .fpw-svc-difference {
  padding-left: var(--fpw-side) !important;
  padding-right: var(--fpw-side) !important;
}
.fpw-svc-hero-text { padding-left: 0 !important; }
.fpw-svc-hero-text > .e-con-inner { max-width: 100%; margin-left: 0; justify-content: flex-start !important; }
.fpw-svc-hero-text { justify-content: flex-start !important; }
.fpw-svc-hero-row { min-height: 287px !important; --min-height: 287px; }
/* Long titles wrap before the corner art */
.fpw-svc-hero-text { flex: 0 1 auto !important; min-width: 0; max-width: calc(100% - 316px) !important; }
@media (max-width: 1024px) {
  .fpw-svc-hero-text { max-width: calc(100% - 160px) !important; }
}
@media (max-width: 767px) {
  .fpw-svc-hero-text { max-width: 100% !important; }
}

/* What We Do: stacks below 1200px, top-aligned beside the image above that */
.fpw-svc-what { padding-top: 60px !important; padding-bottom: 60px !important; }
.fpw-svc-what-wrap { row-gap: 24px !important; }
.fpw-svc-what-row { align-items: flex-start !important; justify-content: space-between !important; }
.fpw-svc-what-text { align-self: flex-start !important; }
.fpw-svc-what-text p:last-child { margin-bottom: 0; }
.fpw-svc-what-row img { height: 466px !important; object-fit: cover; }
@media (max-width: 767px) {
  .fpw-svc-what-row img { height: 250px !important; }
}
@media (max-width: 1199px) {
  .fpw-svc-what-row { flex-direction: column !important; row-gap: 40px !important; }
  .fpw-svc-what-row > .elementor-element { width: 100% !important; max-width: 100%; }
}

/* What We Do, two columns (Graphic Design pattern, 2026-11-09).
   Heading and text in the left column, image in the right column, top-aligned, 60px apart, from 1025px.
   At 1024px and below the image is hidden and the text runs full width.
   Classes: fpw-svc-what-copy (left column container), fpw-svc-what-media (right column container),
   fpw-title-bar (any Heading widget: teal bar under the title, centered on phones). */
.fpw-svc-what-row:has(> .fpw-svc-what-copy) { column-gap: 60px !important; justify-content: flex-start !important; }
.fpw-svc-what-row > .fpw-svc-what-copy,
.fpw-svc-what-row > .fpw-svc-what-media { flex: 1 1 0 !important; width: auto !important; min-width: 0; padding: 0 !important; }
.fpw-svc-what-copy { row-gap: 20px !important; }
.fpw-svc-what-copy .fpw-svc-what-text { width: 100% !important; max-width: 100% !important; margin-top: 14px !important; }
.fpw-svc-what-media .elementor-widget-image { width: 100% !important; max-width: 100% !important; }
.fpw-svc-what-row .fpw-svc-what-media img { width: 100% !important; height: auto !important; object-fit: contain !important; object-position: top center; }
@media (min-width: 1025px) and (max-width: 1199px) {
  .fpw-svc-what-row:has(> .fpw-svc-what-copy) { flex-direction: row !important; }
  .fpw-svc-what-row > .fpw-svc-what-copy,
  .fpw-svc-what-row > .fpw-svc-what-media { width: auto !important; }
}
@media (max-width: 1024px) {
  .fpw-svc-what-row > .fpw-svc-what-media { display: none !important; }
  .fpw-svc-what-row > .fpw-svc-what-copy { flex: 1 1 100% !important; width: 100% !important; }
}
/* Heading across the top with the bar (text-only What We Do pages): room for the bar before the text, same 34px as the two-column layout */
.fpw-svc-what-wrap:has(> .fpw-title-bar) { row-gap: 34px !important; }
.fpw-title-bar .elementor-heading-title { position: relative; }
.fpw-title-bar .elementor-heading-title::after { content: ''; position: absolute; left: 0; bottom: -20px; width: 1.5em; height: 6px; background: #3EB1CB; }
@media (max-width: 767px) {
  .fpw-title-bar .elementor-heading-title::after { left: calc(50% - 0.75em); }
}

/* Photo carousel */
.fpw-svc-photos { padding-top: 52px !important; padding-bottom: 50px !important; }
.fpw-svc-photo-carousel .pc2__dots { margin-top: 36px !important; }

/* Services */
.fpw-svc-services { padding: 66px 0 38px !important; }
.fpw-svc-services-inner { width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }

/* Case Studies */
.fpw-svc-case { padding-top: 78px !important; padding-bottom: 38px !important; }
.fpw-svc-case-sub { margin-top: 0 !important; margin-bottom: 9px !important; }
.fpw-svc-case-wrap > .fpw-cs__slider.e-con { padding-top: 24px !important; }
.fpw-svc-case .swiper-pagination { margin-top: -22px !important; }
@media (min-width: 1025px) {
  .fpw-svc-case-wrap { --cs-min: 40px !important; }
}

/* Have a Project and FPW Difference */
.fpw-svc-art img { width: 123px; height: auto; }
.fpw-svc-project { margin-top: 10px !important; padding-top: 10px !important; padding-bottom: 80px !important; }
.fpw-svc-difference { padding-top: 84px !important; padding-bottom: 80px !important; }
.fpw-svc-project, .fpw-svc-difference, .fpw-svc-cta-inner { min-height: 0 !important; --min-height: 0px; }
.fpw-svc-cta-inner { padding: 0 !important; }
.fpw-svc-cta-inner > .e-con-inner { max-width: min(100%, 845px) !important; padding: 0 !important; margin-left: auto !important; margin-right: auto !important; }
.fpw-svc-cta-text { margin-top: 7px; }
.fpw-svc-cta-button { margin-top: -18px; }

@media (max-width: 1024px) {
  .fpw-svc-photos { padding-bottom: 56px !important; }
  .fpw-svc-services { padding: 60px 0 !important; background-size: 123px 64px !important; }
  .fpw-svc-case { padding-top: 56px !important; padding-bottom: 60px !important; }
  .fpw-svc-difference { padding-bottom: 80px !important; }
}
@media (max-width: 767px) {
  :root { --fpw-side: 20px; }
  .fpw-svc-photos { padding-top: 36px !important; padding-bottom: 30px !important; }
  .fpw-svc-services { padding: 70px 0 50px !important; }
  .fpw-svc-case { padding-top: 50px !important; padding-bottom: 50px !important; }
  .fpw-svc-case-sub { margin-bottom: 14px !important; }
  .fpw-svc-project { margin-top: 12px !important; padding-top: 0 !important; padding-bottom: 72px !important; }
  .fpw-svc-difference { padding-top: 76px !important; padding-bottom: 72px !important; }
}

/* Page variations: no photo carousel, two text columns, video sections, feature sections after Services */
.fpw-svc-what:has(+ .fpw-svc-services) { padding-bottom: 50px !important; }
.fpw-svc-what-row > .elementor-element { align-self: flex-start !important; }
.fpw-svc-what-row p:last-child { margin-bottom: 0; }
.fpw-svc-what-row > .e-con .elementor-widget-text-editor { width: 100% !important; max-width: 100%; }
.fpw-svc-video { padding: 52px var(--fpw-side) 50px !important; }
.fpw-svc-video:has(+ .fpw-svc-photos) { padding-bottom: 60px !important; }
.fpw-svc-extra { padding: 74px var(--fpw-side) 38px !important; }
.fpw-svc-extra > .e-con-inner { padding: 0 !important; }
.fpw-svc-what-row > .e-con { padding-left: 0 !important; padding-right: 0 !important; }
.fpw-svc-video:has(.elementor-heading-title) { padding-top: 46px !important; }
.fpw-svc-video .elementor-widget-video { width: 100% !important; max-width: 100%; }
@media (max-width: 1024px) {
  .fpw-svc-what:has(+ .fpw-svc-services) { padding-bottom: 56px !important; }
  .fpw-svc-video { padding-bottom: 56px !important; }
  .fpw-svc-video:has(+ .fpw-svc-photos) { padding-bottom: 60px !important; }
  .fpw-svc-extra { padding-top: 52px !important; padding-bottom: 60px !important; }
}
@media (max-width: 767px) {
  .fpw-svc-what:has(+ .fpw-svc-services) { padding-bottom: 30px !important; }
  .fpw-svc-video { padding-top: 36px !important; padding-bottom: 30px !important; }
  .fpw-svc-video:has(.elementor-heading-title) { padding-top: 30px !important; }
  .fpw-svc-video:has(+ .fpw-svc-photos) { padding-bottom: 60px !important; }
  .fpw-svc-extra { padding-top: 46px !important; padding-bottom: 50px !important; }
}

/* Division pages: same margins and rhythm as service pages */
.fpw-svc-div-services { padding: 60px var(--fpw-side) 38px !important; }
.fpw-svc-div-inner { width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.fpw-svc-div-inner > .e-con-inner { max-width: 100% !important; }
.fpw-svc-div-stack { row-gap: 0 !important; }
.fpw-svc-div-stack > .e-con-inner { row-gap: 0 !important; }
.fpw-svc-div-sub { margin-top: 10px !important; margin-bottom: 19px !important; }
.fpw-svc-testi { margin-top: 28px !important; padding: 10px 0 40px !important; }
.fpw-svc-testi-head { width: 100% !important; max-width: 100% !important; padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
@media (max-width: 1024px) {
  .fpw-svc-div-services { padding-bottom: 60px !important; }
  .fpw-svc-testi { padding-bottom: 52px !important; }
}
@media (max-width: 767px) {
  .fpw-svc-div-services { padding-bottom: 50px !important; }
  .fpw-svc-testi { margin-top: 30px !important; padding: 0 0 44px !important; }
}

/* Services section content, replaces the style block once pasted into each page */
.fpw-svc-services .brand-strategy { font-family: 'Raleway', 'Raleway Fallback', sans-serif; width: 100%; box-sizing: border-box; }
.fpw-svc-services .brand-strategy h2 {
  margin: 0; padding: 0;
  font-family: 'Raleway', 'Raleway Fallback', sans-serif;
  font-size: var(--e-global-typography-secondary-font-size);
  line-height: var(--e-global-typography-secondary-line-height);
  font-weight: 500; font-style: normal; text-transform: uppercase; letter-spacing: 0; color: #1E1E1E;
}
.fpw-svc-services .brand-strategy h2 strong { font-weight: 900; }
.fpw-svc-services .brand-strategy .subtitle {
  margin-top: 10px; margin-bottom: 0;
  font-family: 'Raleway', 'Raleway Fallback', sans-serif; font-size: 20px; line-height: 120%; font-weight: 600; color: #3EB1CB;
}
.fpw-svc-services .brand-strategy .content { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 16px; }
.fpw-svc-services .brand-strategy .description {
  margin: 0;
  font-family: 'Raleway', 'Raleway Fallback', sans-serif; font-size: 16px; line-height: 26px; font-weight: 400; font-style: normal; letter-spacing: 0; color: #1E1E1E;
}
.fpw-svc-services .brand-strategy .services {
  font-family: 'Raleway', 'Raleway Fallback', sans-serif; font-size: 20px; line-height: 35px; font-weight: 500; text-transform: uppercase;
}
.fpw-svc-services .brand-strategy .services a { text-decoration: none !important; }
.fpw-svc-services .brand-strategy .services span { display: inline-block; }
.fpw-svc-services .brand-strategy .blue { color: #3EB1CB; }
.fpw-svc-services .brand-strategy .light-blue { color: #9ADBE8; }
.fpw-svc-services .brand-strategy .gray { color: #888E97; }
.fpw-svc-services .brand-strategy .black { color: #1E1E1E; }
.fpw-svc-services .brand-strategy .talk-button {
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 28px; padding: 16px 48px;
  border: 2px solid #3EB1CB; border-radius: 6px; background: transparent;
  color: #1E1E1E; font-family: 'Raleway', 'Raleway Fallback', sans-serif; font-size: 18px; line-height: 1; font-weight: 600;
  text-decoration: none; box-sizing: border-box; transition: all 0.3s ease;
}
.fpw-svc-services .brand-strategy .talk-button:hover { background-color: #3EB1CB; color: #FFFFFF; }
@media (max-width: 1024px) {
  .fpw-svc-services .brand-strategy .content { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 767px) {
  .fpw-svc-services .brand-strategy { text-align: center; }
  .fpw-svc-services .brand-strategy .content { margin-top: 21px; }
  /* Font size 0 removes the spaces between items, so wrapped rows stay centered */
  .fpw-svc-services .brand-strategy .services { font-size: 0; line-height: 0; }
  .fpw-svc-services .brand-strategy .services span { font-size: clamp(14px, 4.2vw, 18px); line-height: 175%; margin: 0 9px; }
}
/* ===== /FPW SERVICE PAGE RHYTHM ===== */

/* ===== FPW HEADER FOOTER MARGINS — 2026-11-02 =====
   Lines the header and footer up with the page margins (--fpw-side).
   Logo's negative margin offsets blank space in its image, so the visible logo lands on the margin. */
#fpw-header { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
#fpw-header [data-id="c4e0f0a"] { width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important; }
#fpw-header [data-id="d4856d1"] { padding-left: 0 !important; }
#fpw-header [data-id="665cf3d"] { text-align: left !important; margin-left: -22px !important; }
@media (min-width: 1200px) {
  #fpw-header [data-id="665cf3d"] { margin-left: -24px !important; }
}
@media (min-width: 1025px) {
  #fpw-header [data-id="6225d9a"] { padding-right: 0 !important; }
  #fpw-header [data-id="04ac282"] { display: flex !important; justify-content: flex-end !important; }
}
@media (max-width: 1024px) {
  #fpw-header [data-id="a3b1fb2"] { padding-right: 0 !important; margin-right: -9px !important; }
}
@media (max-width: 767px) {
  #fpw-header [data-id="a3b1fb2"] { margin-right: -7px !important; }
}
@media (min-width: 768px) {
  [data-elementor-type="footer"] [data-id="b655008"] { padding-left: 0 !important; padding-right: 0 !important; }
  [data-elementor-type="footer"] [data-id="afbc5ea"],
  [data-elementor-type="footer"] [data-id="46dbbd3"] { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; width: 100% !important; max-width: 100% !important; }
  [data-elementor-type="footer"] [data-id="a76a37f"] { margin-left: var(--fpw-side) !important; margin-right: var(--fpw-side) !important; width: auto !important; max-width: none !important; align-self: stretch; }
  [data-elementor-type="footer"] :is([data-id="b2ee10d"], [data-id="eaed6ec"], [data-id="c447896"]) { margin-right: 24px !important; width: 16% !important; flex: 0 0 16% !important; }
  [data-elementor-type="footer"] :is([data-id="91bb602"], [data-id="9e3c26c"], [data-id="1805f50"], [data-id="7c1d5cf"], [data-id="3421baa"], [data-id="41b8241"], [data-id="56b554d"], [data-id="15ce5ff"], [data-id="66206ec"], [data-id="abc796c"], [data-id="23404a2"], [data-id="6431520"]) { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
  [data-elementor-type="footer"] [data-id="b5be826"] :is(.elementor-social-icons-wrapper, .elementor-grid) { flex-wrap: nowrap !important; display: flex !important; }
  [data-elementor-type="footer"] :is([data-id="afbc5ea"], [data-id="46dbbd3"]) > .e-con-inner { max-width: 100% !important; padding-left: 0; padding-right: 0; }
}
/* Blue footer bar: three tidy centered lines on phones */
@media (max-width: 767px) {
  [data-elementor-type="footer"] [data-id="d8a856d"] { padding: 16px 20px !important; }
  [data-elementor-type="footer"] [data-id="b4a4b3d"],
  [data-elementor-type="footer"] [data-id="b4a4b3d"] p { text-align: center !important; line-height: 20px !important; }
  .fpw-bar-line { display: block; }
  .fpw-bar-sep { display: none; }
}
/* Blue footer bar on tablets (2026-11-09): kept clear of the chat button (left) and the cookie and accessibility icons (right).
   Three centered lines below 1024px, one centered line from 1024px. */
@media (min-width: 768px) and (max-width: 1199px) {
  [data-elementor-type="footer"] [data-id="d8a856d"] { padding-left: 96px !important; padding-right: 96px !important; }
  [data-elementor-type="footer"] [data-id="b4a4b3d"],
  [data-elementor-type="footer"] [data-id="b4a4b3d"] p { text-align: center !important; }
  [data-elementor-type="footer"] .fpw-bar-line { white-space: nowrap; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  [data-elementor-type="footer"] [data-id="d8a856d"] { padding-top: 16px !important; padding-bottom: 16px !important; }
  [data-elementor-type="footer"] [data-id="b4a4b3d"] p { line-height: 1.7 !important; }
  [data-elementor-type="footer"] .fpw-bar-line { display: block; }
  [data-elementor-type="footer"] .fpw-bar-sep { display: none; }
}
/* ===== /FPW HEADER FOOTER MARGINS ===== */

/* ===== FPW NEWS POST TEMPLATE — 2026-11-02 =====
   Template 4002: same margins and rhythm as other pages. */
.elementor-location-single[data-elementor-id="4002"] { padding: 0 !important; }
[data-elementor-id="4002"] [data-id="c669ebd"],
[data-elementor-id="4002"] [data-id="abfc085"],
[data-elementor-id="4002"] [data-id="9dea2c9"],
[data-elementor-id="4002"] [data-id="dad4306"] { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
/* Its class fixes this section at 1440px wide; full width keeps --fpw-side from squeezing it on wider screens */
[data-elementor-id="4002"] [data-id="abfc085"] { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
[data-elementor-id="4002"] [data-id="fa86b3d"] { padding-left: 0 !important; justify-content: flex-start !important; flex: 0 1 auto !important; min-width: 0; max-width: calc(100% - 316px) !important; }
[data-elementor-id="4002"] [data-id="fa86b3d"] > .e-con-inner { max-width: 100%; margin-left: 0; justify-content: flex-start !important; }
/* Article column: 760px is temporary until a reading width is chosen. Sidebar stays on the right margin. */
[data-elementor-id="4002"] [data-id="78567ab"] { padding-top: 8px !important; justify-content: space-between !important; }
[data-elementor-id="4002"] [data-id="2d173a1"] { max-width: 760px; }
/* Gaps: 56px from the hero, 160px into FPW Difference; an unused gallery takes no space */
[data-elementor-id="4002"] [data-id="abfc085"] { padding-top: 60px !important; padding-bottom: 80px !important; }
[data-elementor-id="4002"] [data-id="9dea2c9"]:not(:has(img[src])) { display: none !important; }
[data-elementor-id="4002"] [data-id="abfc085"]:has(+ [data-id="9dea2c9"] img[src]) { padding-bottom: 56px !important; }
[data-elementor-id="4002"] [data-id="9dea2c9"] { padding-top: 56px !important; padding-bottom: 80px !important; }
[data-elementor-id="4002"] [data-id="dad4306"] { padding-top: 84px !important; padding-bottom: 80px !important; min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="4002"] [data-id="7b37240"] { min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="4002"] [data-id="7b37240"] > .e-con-inner { max-width: min(100%, 845px) !important; }
[data-elementor-id="4002"] [data-id="f772345"] { margin-top: 7px; }
[data-elementor-id="4002"] [data-id="dac06a9"] { margin-top: -18px; }
@media (max-width: 1024px) {
  [data-elementor-id="4002"] [data-id="fa86b3d"] { max-width: calc(100% - 160px) !important; }
  [data-elementor-id="4002"] [data-id="2d173a1"] { max-width: 100%; }
  [data-elementor-id="4002"] [data-id="8855a99"] { min-height: 0 !important; --min-height: 0px; }
}
@media (max-width: 767px) {
  [data-elementor-id="4002"] [data-id="fa86b3d"] { max-width: 100% !important; }
  [data-elementor-id="4002"] [data-id="abfc085"] { padding-bottom: 72px !important; }
  [data-elementor-id="4002"] [data-id="abfc085"]:has(+ [data-id="9dea2c9"] img[src]) { padding-bottom: 48px !important; }
  [data-elementor-id="4002"] [data-id="9dea2c9"] { padding-top: 48px !important; padding-bottom: 72px !important; }
  [data-elementor-id="4002"] [data-id="dad4306"] { padding-top: 76px !important; padding-bottom: 72px !important; }
}
/* ===== /FPW NEWS POST TEMPLATE ===== */

/* ===== FPW CASE STUDY LIST LABELS — 2026-11-02 =====
   Template 3892: a bold label starting a list item is FPW blue. */
[data-elementor-id="3892"] .elementor-widget-text-editor li > :is(strong, b):first-child,
[data-elementor-id="3892"] .elementor-widget-text-editor li > span:first-child > :is(strong, b):first-child { color: #3EB1CB; }
/* ===== /FPW CASE STUDY LIST LABELS ===== */

/* ===== FPW PROJECT TEMPLATE — 2026-11-02 =====
   Template 30751: same margins and rhythm as other pages. Hero and title level untouched. */
[data-elementor-id="30751"] [data-id="2c884f2b"],
[data-elementor-id="30751"] [data-id="6b106431"] { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
/* Its class fixes this section at 1440px wide; full width keeps --fpw-side from squeezing it on wider screens */
[data-elementor-id="30751"] [data-id="2c884f2b"] { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
/* Gaps: 56px from the hero, 24px title to text, 44px text to video or gallery */
[data-elementor-id="30751"] [data-id="2c884f2b"] { padding-top: 60px !important; padding-bottom: 72px !important; }
[data-elementor-id="30751"] [data-id="2c884f2b"]:has(+ [data-id="243ab99"] img) { padding-bottom: 44px !important; }
[data-elementor-id="30751"] [data-id="51a649ee"] { padding-top: 6px !important; }
[data-elementor-id="30751"] [data-id="47895ade"] :is(ul, ol, li):last-child { margin-bottom: 0 !important; }
[data-elementor-id="30751"] [data-id="2c884f2b"] .elementor-widget-video { margin-top: 24px !important; }
[data-elementor-id="30751"] [data-id="474bef72"] { min-height: 0 !important; --min-height: 0px; }
/* Gallery starts on the page margin and runs off the right edge; an unused one takes no space */
[data-elementor-id="30751"] [data-id="243ab99"] { padding-left: 0 !important; padding-top: 0 !important; }
[data-elementor-id="30751"] [data-id="243ab99"] .gal { padding-left: var(--fpw-side) !important; }
[data-elementor-id="30751"] [data-id="243ab99"]:not(:has(img)) { display: none !important; }
/* Additional Projects: same values as Case Studies on service pages */
[data-elementor-id="30751"] [data-id="964ed48"] { padding-top: 78px !important; padding-bottom: 38px !important; }
[data-elementor-id="30751"] [data-id="87dc92e"] { margin-top: 0 !important; margin-bottom: 0 !important; }
[data-elementor-id="30751"] [data-id="053ae86"].e-con { padding-top: 24px !important; }
[data-elementor-id="30751"] [data-id="964ed48"] .swiper-pagination { margin-top: -22px !important; }
/* FPW Difference: 160px in from the dots, 80px to the footer */
[data-elementor-id="30751"] [data-id="6b106431"] { padding-top: 126px !important; padding-bottom: 80px !important; min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="30751"] [data-id="b5beb92"] { min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="30751"] [data-id="b5beb92"] > .e-con-inner { max-width: min(100%, 845px) !important; }
[data-elementor-id="30751"] [data-id="600d9416"] { margin-top: 7px; }
[data-elementor-id="30751"] [data-id="68cb8e1f"] { margin-top: -18px; }
@media (min-width: 768px) {
  /* Text and sidebar share the row without the sidebar spilling past the margin */
  [data-elementor-id="30751"] [data-id="51a649ee"] { justify-content: space-between !important; }
  [data-elementor-id="30751"] [data-id="4d900f3d"] { flex: 0 1 898px !important; width: auto !important; min-width: 0; }
  [data-elementor-id="30751"] [data-id="474bef72"] { flex: 0 0 128px !important; }
}
@media (min-width: 1025px) {
  [data-elementor-id="30751"] [data-id="56c45e2"] { --cs-min: 40px !important; }
}
@media (max-width: 1024px) {
  [data-elementor-id="30751"] [data-id="964ed48"] { padding-top: 56px !important; padding-bottom: 60px !important; }
  [data-elementor-id="30751"] [data-id="6b106431"] { padding-top: 104px !important; }
}
@media (max-width: 767px) {
  [data-elementor-id="30751"] [data-id="964ed48"] { padding-top: 50px !important; padding-bottom: 50px !important; }
  [data-elementor-id="30751"] [data-id="6b106431"] { padding-top: 98px !important; padding-bottom: 72px !important; }
}
/* ===== /FPW PROJECT TEMPLATE ===== */

/* ===== FPW WHITE PAPER TEMPLATE — 2026-11-02 =====
   Template 4507: same margins and rhythm as other pages. Duplicate title and button target untouched. */
[data-elementor-id="4507"] [data-id="5d52aee"],
[data-elementor-id="4507"] [data-id="b86ef2a"],
[data-elementor-id="4507"] [data-id="d714b6c"] { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
/* Hero title starts on the margin and wraps before the art */
[data-elementor-id="4507"] [data-id="2f8a31b"] { padding-left: 0 !important; justify-content: flex-start !important; flex: 0 1 auto !important; min-width: 0; max-width: calc(100% - 316px) !important; }
[data-elementor-id="4507"] [data-id="2f8a31b"] > .e-con-inner { max-width: 100%; margin-left: 0; justify-content: flex-start !important; }
/* Gaps: 56px from the hero, 24px title to text and intro to text, 32px text to button */
[data-elementor-id="4507"] [data-id="b86ef2a"] { padding-top: 60px !important; padding-bottom: 59px !important; }
[data-elementor-id="4507"] [data-id="0947fd5"] { padding-top: 6px !important; }
[data-elementor-id="4507"] [data-id="3f301ae"] { gap: 24px !important; }
[data-elementor-id="4507"] [data-id="552459b"] > p:last-child,
[data-elementor-id="4507"] [data-id="552459b"] :is(ul, ol, li):last-child { margin-bottom: 0 !important; }
[data-elementor-id="4507"] [data-id="1303d7b"] { min-height: 0 !important; --min-height: 0px; }
/* Button keeps straddling the white and gray sections, at every size */
[data-elementor-id="4507"] [data-id="5272084"] { padding-top: 40px !important; padding-bottom: 40px !important; }
/* FPW Difference: 160px in from the button, 80px to the footer */
[data-elementor-id="4507"] [data-id="d714b6c"] { padding-top: 111px !important; padding-bottom: 80px !important; min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="4507"] [data-id="c741d6f"] { min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="4507"] [data-id="c741d6f"] > .e-con-inner { max-width: min(100%, 845px) !important; }
[data-elementor-id="4507"] [data-id="0f1faee"] { margin-top: 7px; }
[data-elementor-id="4507"] [data-id="c8c8115"] { margin-top: -18px; }
@media (min-width: 768px) {
  /* Text and sidebar share the row without the sidebar spilling past the margin */
  [data-elementor-id="4507"] [data-id="0947fd5"] { justify-content: space-between !important; }
  [data-elementor-id="4507"] [data-id="3f301ae"] { flex: 0 1 870px !important; width: auto !important; min-width: 0; }
  [data-elementor-id="4507"] [data-id="1303d7b"] { flex: 0 0 128px !important; }
}
@media (max-width: 1024px) {
  [data-elementor-id="4507"] [data-id="2f8a31b"] { max-width: calc(100% - 160px) !important; }
}
@media (max-width: 767px) {
  [data-elementor-id="4507"] [data-id="2f8a31b"] { max-width: 100% !important; }
  [data-elementor-id="4507"] [data-id="d714b6c"] { padding-top: 95px !important; padding-bottom: 72px !important; }
}
/* ===== /FPW WHITE PAPER TEMPLATE ===== */
/* ===== FPW LISTING PAGES — 2026-11-02 =====
   Case Study 27374, Projects 27430, News 27444, Project Landing 30718, search results 3928.
   Same margins and rhythm as other pages. Card grids: 1 column phones, 2 tablets, 3 above; 30px gaps. Card designs untouched. */
/* Side margins */
:is([data-elementor-id="27374"] [data-id="8d2e73f"], [data-elementor-id="27430"] [data-id="37823ad"], [data-elementor-id="27444"] [data-id="322e253"], [data-elementor-id="30718"] [data-id="3bab4b2"], [data-elementor-id="3928"] [data-id="ef491bb"],
 [data-elementor-id="27374"] [data-id="aea5ce4"], [data-elementor-id="27430"] [data-id="62a4527"], [data-elementor-id="27444"] [data-id="1b67ee1"], [data-elementor-id="30718"] [data-id="956e784"], [data-elementor-id="3928"] [data-id="a3557d0"]) {
  padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important;
}
:is([data-elementor-id="27374"] [data-id="d2b9cae"], [data-elementor-id="27430"] [data-id="5e8f0ec"], [data-elementor-id="27444"] [data-id="d0844a3"], [data-elementor-id="30718"] [data-id="1070c49"]) {
  width: 100% !important; max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;
}
:is([data-elementor-id="27374"] [data-id="d2b9cae"], [data-elementor-id="27430"] [data-id="5e8f0ec"], [data-elementor-id="27444"] [data-id="d0844a3"], [data-elementor-id="30718"] [data-id="1070c49"]) > .e-con-inner { max-width: 100% !important; }
/* Hero title starts on the margin and wraps before the art */
:is([data-elementor-id="27374"] [data-id="561f884"], [data-elementor-id="27430"] [data-id="3aae957"], [data-elementor-id="27444"] [data-id="c959a58"], [data-elementor-id="30718"] [data-id="8ee41da"], [data-elementor-id="3928"] [data-id="76c7789"]) {
  padding-left: 0 !important; flex: 0 1 auto !important; min-width: 0; max-width: calc(100% - 316px) !important;
}
:is([data-elementor-id="27374"] [data-id="561f884"], [data-elementor-id="27430"] [data-id="3aae957"], [data-elementor-id="27444"] [data-id="c959a58"], [data-elementor-id="30718"] [data-id="8ee41da"], [data-elementor-id="3928"] [data-id="76c7789"]) > .e-con-inner { max-width: 100%; margin-left: 0; }
:is([data-elementor-id="27444"] [data-id="c959a58"], [data-elementor-id="3928"] [data-id="76c7789"]), :is([data-elementor-id="27444"] [data-id="c959a58"], [data-elementor-id="3928"] [data-id="76c7789"]) > .e-con-inner { justify-content: flex-start !important; }
/* Card grids */
:is([data-elementor-id="27374"], [data-elementor-id="27430"], [data-elementor-id="27444"]) .elementor-widget-loop-grid .elementor-loop-container,
[data-elementor-id="3928"] [data-id="762c146"] .elementor-posts-container {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 30px !important; row-gap: 30px !important;
}
:is([data-elementor-id="27374"], [data-elementor-id="27430"], [data-elementor-id="27444"]) .elementor-widget-loop-grid .e-loop-item { width: 100% !important; max-width: 100% !important; }
/* Stacked hero text lines up on the left margin; the hero keeps its vertical centering */

:is([data-elementor-id="27374"] [data-id="561f884"], [data-elementor-id="27430"] [data-id="3aae957"], [data-elementor-id="30718"] [data-id="8ee41da"]) > .e-con-inner > .elementor-element { align-self: flex-start !important; text-align: left; }
:is([data-elementor-id="27374"] [data-id="561f884"], [data-elementor-id="27430"] [data-id="3aae957"], [data-elementor-id="30718"] [data-id="8ee41da"]) .elementor-heading-title { text-align: left !important; }
/* Cards fill their column */
:is([data-elementor-id="27374"], [data-elementor-id="27430"], [data-elementor-id="27444"]) .elementor-widget-loop-grid { width: 100% !important; max-width: 100% !important; align-self: stretch !important; }
:is([data-elementor-id="27374"], [data-elementor-id="27430"], [data-elementor-id="27444"]) .e-loop-item > .e-con { width: 100% !important; max-width: 100% !important; --width: 100%; }
/* Gaps: 56px from the hero, 160px into FPW Difference (144 on phones), 80px to the footer on search */
[data-elementor-id="27374"] [data-id="aea5ce4"] { padding-top: 64px !important; padding-bottom: 81px !important; }
[data-elementor-id="27430"] [data-id="62a4527"] { padding-top: 56px !important; padding-bottom: 81px !important; }
[data-elementor-id="27444"] [data-id="1b67ee1"] { padding-top: 57px !important; padding-bottom: 76px !important; }
[data-elementor-id="30718"] [data-id="956e784"] { padding-top: 51px !important; padding-bottom: 80px !important; }
[data-elementor-id="3928"] [data-id="a3557d0"] > .e-con-inner { padding-top: 66px !important; padding-bottom: 82px !important; }
@media (max-width: 767px) {
  [data-elementor-id="27374"] [data-id="aea5ce4"] { padding-top: 55px !important; padding-bottom: 72px !important; }
  [data-elementor-id="27430"] [data-id="62a4527"] { padding-top: 56px !important; padding-bottom: 72px !important; }
  [data-elementor-id="27444"] [data-id="1b67ee1"] { padding-top: 57px !important; padding-bottom: 68px !important; }
  [data-elementor-id="30718"] [data-id="956e784"] { padding-top: 55px !important; padding-bottom: 72px !important; }
  [data-elementor-id="3928"] [data-id="a3557d0"] > .e-con-inner { padding-top: 59px !important; padding-bottom: 74px !important; }
}
@media (max-width: 1024px) {
  :is([data-elementor-id="27374"] [data-id="561f884"], [data-elementor-id="27430"] [data-id="3aae957"], [data-elementor-id="27444"] [data-id="c959a58"], [data-elementor-id="30718"] [data-id="8ee41da"], [data-elementor-id="3928"] [data-id="76c7789"]) { max-width: calc(100% - 160px) !important; }
  :is([data-elementor-id="27374"], [data-elementor-id="27430"], [data-elementor-id="27444"]) .elementor-widget-loop-grid .elementor-loop-container,
  [data-elementor-id="3928"] [data-id="762c146"] .elementor-posts-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
  :is([data-elementor-id="27374"] [data-id="561f884"], [data-elementor-id="27430"] [data-id="3aae957"], [data-elementor-id="27444"] [data-id="c959a58"], [data-elementor-id="30718"] [data-id="8ee41da"], [data-elementor-id="3928"] [data-id="76c7789"]) { max-width: 100% !important; }
  :is([data-elementor-id="27374"], [data-elementor-id="27430"], [data-elementor-id="27444"]) .elementor-widget-loop-grid .elementor-loop-container,
  [data-elementor-id="3928"] [data-id="762c146"] .elementor-posts-container { grid-template-columns: minmax(0, 1fr) !important; }
}
/* ===== /FPW LISTING PAGES ===== */
/* ===== FPW RESOURCES AND TEAM — 2026-11-02 =====
   Resources 3793 and Our Team 3568: same margins and rhythm as other pages. Card and row designs untouched. */
/* Side margins */
:is([data-elementor-id="3793"] [data-id="9bb7df4"], [data-elementor-id="3568"] [data-id="e4aa0d9"],
 [data-elementor-id="3793"] [data-id="d2f9e45"], [data-elementor-id="3793"] [data-id="c407389"], [data-elementor-id="3793"] [data-id="84dcf7d"],
 [data-elementor-id="3568"] [data-id="01ab680"]) {
  padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; max-width: 100% !important;
}
:is([data-elementor-id="3793"] [data-id="9731c95"], [data-elementor-id="3793"] [data-id="ad029c7"], [data-elementor-id="3793"] [data-id="95a6e53"], [data-elementor-id="3568"] [data-id="374327b"]) { padding-left: 0 !important; padding-right: 0 !important; }
:is([data-elementor-id="3793"] [data-id="d2f9e45"], [data-elementor-id="3793"] [data-id="c407389"], [data-elementor-id="3793"] [data-id="84dcf7d"], [data-elementor-id="3568"] [data-id="01ab680"]) { width: 100% !important; }
:is([data-elementor-id="3793"] [data-id="d2f9e45"], [data-elementor-id="3793"] [data-id="c407389"], [data-elementor-id="3793"] [data-id="84dcf7d"], [data-elementor-id="3568"] [data-id="01ab680"]) > .e-con-inner { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
/* 56px from the hero to the first heading */
[data-elementor-id="3793"] [data-id="9731c95"] { padding-top: 40px !important; }
[data-elementor-id="3568"] [data-id="374327b"] { padding-top: 60px !important; }
/* Feature rows: text and image sit on the margins */
:is([data-elementor-id="3793"] [data-id="d2f9e45"], [data-elementor-id="3793"] [data-id="c407389"], [data-elementor-id="3793"] [data-id="84dcf7d"]) > .e-con-inner { justify-content: space-between !important; }
:is([data-elementor-id="3793"] [data-id="dbf6dc5"], [data-elementor-id="3793"] [data-id="d0d97e5"], [data-elementor-id="3793"] [data-id="3d931f5"], [data-elementor-id="3793"] [data-id="4d8b5fb"], [data-elementor-id="3793"] [data-id="581be7c"], [data-elementor-id="3793"] [data-id="0598c49"]) { padding-left: 0 !important; padding-right: 0 !important; }
/* Hero title starts on the margin and wraps before the art */
:is([data-elementor-id="3793"] [data-id="29ad72f"], [data-elementor-id="3568"] [data-id="e87cdbd"]) {
  padding-left: 0 !important; flex: 0 1 auto !important; min-width: 0; max-width: calc(100% - 316px) !important;
}
:is([data-elementor-id="3793"] [data-id="29ad72f"], [data-elementor-id="3568"] [data-id="e87cdbd"]) > .e-con-inner { max-width: 100%; margin-left: 0; }
[data-elementor-id="3568"] [data-id="e87cdbd"], [data-elementor-id="3568"] [data-id="e87cdbd"] > .e-con-inner { justify-content: flex-start !important; }
[data-elementor-id="3793"] [data-id="29ad72f"] > .e-con-inner > .elementor-element { align-self: flex-start !important; text-align: left; }
/* Team cards: four columns that fit the 1120px column */
@media (min-width: 1025px) {
  [data-elementor-id="3568"] .elementor-widget-loop-grid .elementor-loop-container { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: 30px !important; row-gap: 30px !important; }
  [data-elementor-id="3568"] .elementor-widget-loop-grid { width: 100% !important; max-width: 100% !important; }
  [data-elementor-id="3568"] .e-loop-item, [data-elementor-id="3568"] .e-loop-item > .e-con { width: 100% !important; max-width: 100% !important; --width: 100%; }
}
/* Have a Project: grows with its text instead of spilling into the sections around it */
[data-elementor-id="3793"] [data-id="4a13592"], [data-elementor-id="3793"] [data-id="4a13592"] > * { height: auto !important; }
@media (min-width: 1025px) {
  [data-elementor-id="3793"] [data-id="4a13592"] > * > :first-child { margin-top: -86px; }
}
@media (max-width: 1024px) {
  [data-elementor-id="3793"] [data-id="4a13592"] > * > :first-child { height: auto !important; }
  [data-elementor-id="3793"] [data-id="4a13592"] > * > :first-child img { width: 123px; height: auto; }
}
/* Our Team: 160px from Meet The Whole Team to FPW Difference (144 on phones) */
[data-elementor-id="3568"] [data-id="374327b"] { margin-bottom: -37px; }
@media (max-width: 1024px) {
  :is([data-elementor-id="3793"] [data-id="29ad72f"], [data-elementor-id="3568"] [data-id="e87cdbd"]) { max-width: calc(100% - 160px) !important; }
}
@media (max-width: 767px) {
  :is([data-elementor-id="3793"] [data-id="29ad72f"], [data-elementor-id="3568"] [data-id="e87cdbd"]) { max-width: 100% !important; }
}
@media (max-width: 767px) {
  [data-elementor-id="3793"] [data-id="4a13592"] > * > :last-child { padding-bottom: 72px !important; }
  [data-elementor-id="3568"] [data-id="374327b"] { margin-bottom: -29px; }
}
/* Our Team tabs on phones (2026-11-09): room on both sides so the chat, cookie and accessibility buttons
   in the bottom corners never sit on a tab. The tabs wrap two to a row. */
@media (max-width: 767px) {
  .elementor-3568 [data-id="9b39bbe"] > .e-n-tabs > .e-n-tabs-heading { padding-left: 64px !important; padding-right: 64px !important; box-sizing: border-box; }
}
/* ===== /FPW RESOURCES AND TEAM ===== */
/* ===== FPW HOME AND ABOUT — 2026-11-03 =====
   Home 12 and About 2775: About hero title, tablet margins, two About gaps. Desktop margins and section designs untouched. */
/* About hero title starts on the margin */
[data-elementor-id="2775"] [data-id="934ac7d"] { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
[data-elementor-id="2775"] [data-id="7b51ba1"] { padding-left: 0 !important; padding-right: 0 !important; }
[data-elementor-id="2775"] [data-id="7b51ba1"] > .e-con-inner { max-width: 100% !important; margin-left: 0 !important; justify-content: flex-start !important; }
[data-elementor-id="2775"] [data-id="7b51ba1"] .elementor-heading-title { text-align: left !important; }
/* About: room between the Benefits text and the Confidentiality band */
[data-elementor-id="2775"] [data-id="06f5b49"] { min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="2775"] [data-id="2f93a0b"] { padding-bottom: 58px !important; }
/* About: 160px from Meet The Team to FPW Difference (144 on phones) */
[data-elementor-id="2775"] [data-id="bf47e68"] { min-height: 0 !important; --min-height: 0px; }
[data-elementor-id="2775"] [data-id="284c0d7"] { margin-bottom: 70px !important; }
/* Tablets: 40px side margins */
@media (min-width: 768px) and (max-width: 1024px) {
  [data-elementor-id="12"] [data-id="237daa9"] { padding-left: 30px !important; padding-right: 30px !important; }
  [data-elementor-id="12"] [data-id="5bd3b36"] { padding-left: 40px !important; padding-right: 40px !important; }
  :is([data-elementor-id="2775"] [data-id="b268f13"], [data-elementor-id="2775"] [data-id="cfa192f"], [data-elementor-id="2775"] [data-id="8566f32"]) { padding-left: 40px !important; padding-right: 40px !important; }
  [data-elementor-id="2775"] [data-id="2f93a0b"] { padding-left: 30px !important; padding-right: 30px !important; padding-bottom: 58px !important; }
  [data-elementor-id="2775"] [data-id="7b6ea88"] { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 767px) {
  [data-elementor-id="2775"] [data-id="2f93a0b"] { padding-bottom: 60px !important; }
  [data-elementor-id="2775"] [data-id="284c0d7"] { margin-bottom: 62px !important; }
}
/* ===== /FPW HOME AND ABOUT ===== */
/* ===== FPW ABOUT BADGES — 2026-11-03 =====
   About 2775: award badges two per row on phones instead of one (desktop already shows 3 x 2). */
@media (max-width: 767px) {
  [data-elementor-id="2775"] [data-id="40bcb77"] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 20px !important; row-gap: 32px !important; align-items: center !important; justify-items: center !important; }
  [data-elementor-id="2775"] [data-id="40bcb77"] > .elementor-element { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
  [data-elementor-id="2775"] [data-id="40bcb77"] > .elementor-element img { width: auto !important; max-width: 100% !important; max-height: 150px !important; height: auto !important; margin: 0 auto; display: block; }
}
/* ===== /FPW ABOUT BADGES ===== */
/* ===== FPW 404 PAGE — 2026-11-03 =====
   Styles the "FPW 404" Elementor template (Theme Builder, Error 404). Edit the words in the template; the look is here, on its f404-* classes. */
.f404 { --teal: #3eb1cb; --ink: #1e1e1e; --side: max(40px, calc((100% - 1120px) / 2)); font-family: Raleway, 'Raleway Fallback', sans-serif; }
.f404, .f404 .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
.f404 a { text-decoration: none; }
.f404 .elementor-widget { margin: 0; }
/* Dark hero, like Home */
.f404 .f404-hero { position: relative; overflow: hidden; background: #0b0c0f; margin-top: 124px; padding: 80px var(--side) 96px; }
.f404 .f404-in { position: relative; z-index: 1; max-width: 640px; align-items: flex-start; }
.f404 .f404-noise-w { position: absolute !important; inset: 0; z-index: 0; pointer-events: none; }
.f404 .f404-noise-w .elementor-widget-container, .f404-noise { position: absolute; inset: 0; }
.f404-noise i { position: absolute; display: block; background: var(--teal); animation: f404-drift var(--d) ease-in-out infinite alternate; animation-delay: var(--dl); }
@keyframes f404-drift { from { transform: translate(0, 0) rotate(0); } to { transform: translate(var(--x), var(--y)) rotate(var(--r)); } }
@media (prefers-reduced-motion: reduce) { .f404-noise i { animation: none; } }
.f404 .f404-eyebrow .elementor-heading-title { margin: 0 0 8px; color: var(--teal); font: 600 20px/1.2 Raleway, 'Raleway Fallback', sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.f404-num { display: flex; color: #fff; font: 900 clamp(132px, 26vw, 240px)/.82 Raleway, 'Raleway Fallback', sans-serif; letter-spacing: -.02em; margin: 0 0 28px; }
.f404-zero { color: transparent; -webkit-text-stroke: 3px var(--teal); }
.f404-last { -webkit-mask-image: linear-gradient(90deg, #000 35%, transparent 100%); mask-image: linear-gradient(90deg, #000 35%, transparent 100%); }
.f404 .f404-title .elementor-heading-title { margin: 0 0 20px; color: #fff; font: 500 clamp(37px, 5vw, 48px)/1.1 Raleway, 'Raleway Fallback', sans-serif; text-transform: uppercase; }
.f404 .f404-title .elementor-heading-title b { font-weight: 900; }
.f404 .f404-text, .f404 .f404-text p { margin: 0; color: #c9ced6; font: 400 16px/1.6 Raleway, 'Raleway Fallback', sans-serif; max-width: 520px; }
.f404 .f404-text { margin-bottom: 32px !important; }
.f404 .f404-actions { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-bottom: 40px; width: auto; }
.f404 .f404-btn .elementor-button { background: transparent; border: 2px solid var(--teal); border-radius: 6px; padding: 16px 48px; color: #fff; font: 600 18px/1.2 Raleway, 'Raleway Fallback', sans-serif; transition: background .2s, color .2s; }
.f404 .f404-btn .elementor-button:hover, .f404 .f404-btn .elementor-button:focus-visible { background: var(--teal); color: #0b0c0f; }
.f404 .f404-link .elementor-heading-title, .f404 .f404-link .elementor-heading-title a { color: var(--teal); font: 600 16px/1.4 Raleway, 'Raleway Fallback', sans-serif; text-transform: none; }
.f404 .f404-search-w { width: 100%; max-width: 420px !important; }
.f404-search { display: flex; border-bottom: 2px solid rgba(255,255,255,.25); margin: 0; }
.f404-search:focus-within { border-color: var(--teal); }
.f404-search input[type="search"] { flex: 1; min-width: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; color: #fff; font: 400 16px Raleway, 'Raleway Fallback', sans-serif; padding: 12px 0; outline: none; }
.f404-search input::placeholder { color: #8b929c; }
.f404-search button { background: none; border: 0; color: var(--teal); padding: 0 4px; cursor: pointer; }
/* Division cards */
.f404 .f404-paths { background: #f4f6f8; padding: 96px var(--side) 80px; align-items: center; text-align: center; }
.f404 .f404-h2 .elementor-heading-title { margin: 0; color: var(--ink); font: 500 clamp(37px, 4vw, 48px)/1.1 Raleway, 'Raleway Fallback', sans-serif; text-transform: uppercase; }
.f404 .f404-h2 .elementor-heading-title b { font-weight: 900; }
.f404 .f404-sub .elementor-heading-title { margin: 12px 0 48px; color: var(--teal); font: 600 20px/1.3 Raleway, 'Raleway Fallback', sans-serif; text-transform: uppercase; }
.f404 .f404-cards { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; width: 100%; text-align: left; }
.f404 .f404-card { display: flex; flex-direction: column; gap: 12px; background: #fff; padding: 32px 28px; border-bottom: 3px solid var(--teal); color: var(--ink); transition: transform .2s, box-shadow .2s; }
.f404 .f404-card:hover, .f404 .f404-card:focus-visible { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,.08); }
.f404 .f404-card-k .elementor-heading-title { margin: 0; color: var(--ink); font: 900 24px/1.2 Raleway, 'Raleway Fallback', sans-serif; text-transform: uppercase; }
.f404 .f404-card-t, .f404 .f404-card-t p { margin: 0; color: #444; font: 400 16px/1.5 Raleway, 'Raleway Fallback', sans-serif; }
.f404 .f404-card-t { flex: 1; }
.f404 .f404-card-a .elementor-heading-title { margin: 0; color: var(--teal); font: 600 16px/1.4 Raleway, 'Raleway Fallback', sans-serif; text-transform: none; }
@media (max-width: 1024px) { .f404 .f404-hero { margin-top: 105px; } }
@media (max-width: 767px) {
  .f404 { --side: 20px; }
  .f404 .f404-hero { margin-top: 65px; padding-bottom: 76px; }
  .f404 .f404-paths { padding: 76px var(--side) 72px; }
  .f404 .f404-sub .elementor-heading-title { margin-bottom: 32px; }
  .f404 .f404-cards { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
/* ===== /FPW 404 PAGE ===== */
/* ===== FPW INDUSTRIES TABS — 2026-11-03 =====
   Industries 29289 nested tabs a664679: side tabs on tablet and desktop show an arrow on the selected tab, not accordion +/-. Phones keep +/- (there it is an accordion). */
@media (min-width: 768px) {
  [data-elementor-id="29289"] [data-id="a664679"] .e-n-tabs-heading .e-n-tab-title .e-n-tab-icon { display: none !important; }
  [data-elementor-id="29289"] [data-id="a664679"] .e-n-tabs-heading .e-n-tab-title { justify-content: space-between !important; }
  [data-elementor-id="29289"] [data-id="a664679"] .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]::after { content: ""; flex: none; width: 9px; height: 9px; margin: 0 6px 0 16px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
}
/* ===== /FPW INDUSTRIES TABS ===== */
/* ===== FPW HERO TITLES — 2026-11-03 =====
   Hero title starts on the page margin (20/40/80) and wraps before the corner art, like About, Resources and the listing pages:
   Careers 4265, Talent 32651, Client Questionnaire 32475, case study template 3892, Industries 29289. */
:is([data-elementor-id="4265"] [data-id="dfffaf1"], [data-elementor-id="32651"] [data-id="dfffaf1"], [data-elementor-id="32475"] [data-id="dfffaf1"], [data-elementor-id="3892"] [data-id="f6c308d"], [data-elementor-id="29289"] [data-id="3488ec1"]) { padding-left: var(--fpw-side) !important; padding-right: var(--fpw-side) !important; }
:is([data-elementor-id="4265"] [data-id="dcf8788"], [data-elementor-id="32651"] [data-id="dcf8788"], [data-elementor-id="32475"] [data-id="dcf8788"], [data-elementor-id="3892"] [data-id="d702419"], [data-elementor-id="29289"] [data-id="ebc37f2"]) { padding-left: 0 !important; padding-right: 0 !important; min-width: 0; max-width: calc(100% - 316px) !important; }
:is([data-elementor-id="4265"] [data-id="dcf8788"], [data-elementor-id="32651"] [data-id="dcf8788"], [data-elementor-id="32475"] [data-id="dcf8788"], [data-elementor-id="3892"] [data-id="d702419"], [data-elementor-id="29289"] [data-id="ebc37f2"]) > .e-con-inner { max-width: 100% !important; margin-left: 0 !important; justify-content: flex-start !important; }
[data-elementor-id="29289"] [data-id="c41604d"] .elementor-heading-title { text-align: left !important; }
@media (max-width: 1024px) {
  :is([data-elementor-id="4265"] [data-id="dcf8788"], [data-elementor-id="32651"] [data-id="dcf8788"], [data-elementor-id="32475"] [data-id="dcf8788"], [data-elementor-id="3892"] [data-id="d702419"], [data-elementor-id="29289"] [data-id="ebc37f2"]) { max-width: calc(100% - 160px) !important; }
}
@media (max-width: 767px) {
  :is([data-elementor-id="4265"] [data-id="dcf8788"], [data-elementor-id="32651"] [data-id="dcf8788"], [data-elementor-id="32475"] [data-id="dcf8788"], [data-elementor-id="3892"] [data-id="d702419"], [data-elementor-id="29289"] [data-id="ebc37f2"]) { max-width: 100% !important; }
}
/* ===== /FPW HERO TITLES ===== */
/* ===== FPW PIXELS AND SUBHEADS — 2026-11-04 =====
   Our Team pixel triangle on the band, Industries crisp SVG triangle, service-page blue subheaders in caps. */
/* Our Team 3568: the pixel triangle sits on top of the FPW Difference band (its base was hidden under the band's overlap) */
[data-elementor-id="3568"] [data-id="d52d154"] { transform: translateY(-37px); }
@media (max-width: 767px) { [data-elementor-id="3568"] [data-id="d52d154"] { transform: translateY(-29px); } }
/* Industries 29289: the section above the industry cards used a stretched 1024px raster for its triangle and gray band. Same crisp SVG triangle as the other pages, sitting on a plain #f6f7f8 band. */
[data-elementor-id="29289"] [data-id="64cfcea"] { background: url("/wp-content/uploads/2026/10/pixels-triangle-up-light-gray.svg") no-repeat 0 0 / 342px 177px, linear-gradient(#f6f7f8, #f6f7f8) no-repeat 0 177px / 100% calc(100% - 177px) !important; }
@media (max-width: 767px) {
  [data-elementor-id="29289"] [data-id="64cfcea"] { background: url("/wp-content/uploads/2026/10/pixels-triangle-up-light-gray.svg") no-repeat 0 0 / 195px 101px, linear-gradient(#f6f7f8, #f6f7f8) no-repeat 0 101px / 100% calc(100% - 101px) !important; }
}
/* Service pages: blue subheaders in all caps, like the division pages, Home and Industries */
.fpw-svc-services-inner .subtitle, .fpw-svc-case-sub .elementor-heading-title, .fpw-svc-video .elementor-heading-title { text-transform: uppercase !important; }
/* ===== /FPW PIXELS AND SUBHEADS ===== */
/* ===== FPW INTRO PIXELS — 2026-11-04 =====
   "What We Do" pixel triangle (fpw-intro-pixels): fixed size like the other pages' pixel art (84px diamonds; 48px on phones), instead of 80% of the section height */
.fpw-intro-pixels { background-size: 268px auto !important; background-position: 0 100% !important; }
@media (max-width: 767px) { .fpw-intro-pixels { background-size: 153px auto !important; } }
/* ===== /FPW INTRO PIXELS ===== */
/* ===== FPW INDUSTRIES ACTIVE TAB — 2026-11-04 =====
   Industries 29289 tabs a664679, tablet and desktop: the selected tab is bold blue text and arrow on white with a 3px underline (inset shadow, so no layout shift), not a filled teal box. Phones keep the teal accordion header. */
@media (min-width: 768px) {
  body .elementor-29289 .elementor-element.elementor-element-a664679 .e-n-tabs-heading .e-n-tab-title[aria-selected="true"],
  body .elementor-29289 .elementor-element.elementor-element-a664679 .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]:hover,
  body .elementor-29289 .elementor-element.elementor-element-a664679 .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]:focus { background: transparent !important; border-radius: 0 !important; color: #3eb1cb !important; box-shadow: inset 0 -2px 0 #3eb1cb, 0 1px 2px rgba(0,0,0,.05) !important; }
  body .elementor-29289 .elementor-element.elementor-element-a664679 .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text { color: #3eb1cb !important; font-weight: 700 !important; }
  body .elementor-29289 .elementor-element.elementor-element-a664679 .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] .e-n-tab-icon svg { fill: #3eb1cb !important; }
}
/* ===== /FPW INDUSTRIES ACTIVE TAB ===== */


/* FPW SEARCH DROPDOWN (2026-11-09): header live search results (widget 088ae92 in header 1689, item template 33085).
   The site's Hide Title setting (--page-title-display: none) also hid the result titles; each title links to its page and
   stretches over the whole result so the full card is clickable. Width 380px is set in the widget; capped to the screen here. */
.e-search-results-container { --page-title-display: block; --e-search-results-padding: 6px; --e-search-results-row-gap: 0px; max-width: calc(100vw - 32px); }
.e-search-results-container .e-search-results-list { row-gap: 0; }
.e-search-results-container .e-loop-item { position: relative; padding: 12px; border-bottom: 1px solid #E6E6E6; transition: background-color .15s ease; }
.e-search-results-container .e-loop-item > .elementor-element { padding: 0; }
.e-search-results-container .e-loop-item .elementor-element { position: static; }
.e-search-results-container .e-loop-item:last-child { border-bottom: 0; }
.e-search-results-container .e-loop-item:hover, .e-search-results-container .e-loop-item:focus-within { background-color: #F3FAFC; }
.e-search-results-container .elementor-widget-theme-post-title a::after { content: ""; position: absolute; inset: 0; }
.e-search-results-container .elementor-widget-theme-post-title a:focus-visible { outline: none; }
.e-search-results-container .e-loop-item:has(a:focus-visible) { box-shadow: inset 0 0 0 2px #3EB1CB; }
.e-search-results-container .elementor-widget-theme-post-excerpt { color: #555555; }
.e-search-results-container .elementor-widget-theme-post-excerpt :last-child { margin-bottom: 0; }
/* result type labels from WPCode 33141 (Service, Case study · Client, Project · Client, Article) */
.fpw-result-label { display: block; margin: 0 0 4px; font-family: Raleway, 'Raleway Fallback', sans-serif; font-size: 12px; font-weight: 600; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase; color: #2A9AB3; }
.e-search-results-container .fpw-result-label-wrap .elementor-shortcode { line-height: 0; }
.e-search-results-container .fpw-result-label-wrap .fpw-result-label { line-height: 1.3; }
.elementor-post__text .fpw-result-label { margin-bottom: 8px; }/* End custom CSS */