.elementor-160548 .elementor-element.elementor-element-22be35b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-160548 .elementor-element.elementor-element-23f35f3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-160548 .elementor-element.elementor-element-ae03301{--display:flex;}.elementor-160548 .elementor-element.elementor-element-ae03301.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-160548 .elementor-element.elementor-element-0cbba17{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-160548 .elementor-element.elementor-element-994a4f8{--display:flex;}.elementor-160548 .elementor-element.elementor-element-b78ac77{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;}.elementor-160548 .elementor-element.elementor-element-4916ade{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-160548 .elementor-element.elementor-element-b1f62bb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-160548 .elementor-element.elementor-element-8d04083 .elementor-icon-wrapper{text-align:center;}.elementor-160548 .elementor-element.elementor-element-67e0807{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-160548 .elementor-element.elementor-element-741810b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-160548 .elementor-element.elementor-element-f2d457e .elementor-icon-wrapper{text-align:center;}.elementor-160548 .elementor-element.elementor-element-dd939b8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-160548 .elementor-element.elementor-element-53a6584{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-160548 .elementor-element.elementor-element-dbb5d8e .elementor-icon-wrapper{text-align:center;}.elementor-160548 .elementor-element.elementor-element-e7d6f0e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;}.elementor-160548 .elementor-element.elementor-element-44721b6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-160548 .elementor-element.elementor-element-f8e641f .elementor-icon-wrapper{text-align:center;}@media(min-width:768px){.elementor-160548 .elementor-element.elementor-element-23f35f3{--content-width:1240px;}.elementor-160548 .elementor-element.elementor-element-ae03301{--width:52.593%;}.elementor-160548 .elementor-element.elementor-element-994a4f8{--content-width:1240px;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-160548 .elementor-element.elementor-element-b78ac77{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-160548 .elementor-element.elementor-element-b78ac77{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-22be35b */.elementor-160548 .elementor-element.elementor-element-22be35b {
  --sand: #f0ebdf;
  --stone: #ddd4c4;
  --navy: #20304a;
  --ink: #202838;
  --text: #555965;
  --muted: #77746d;
  --line: #ded7c8;
  --coral: #df826a;
  --coral-dark: #a85644;
  --shadow: 0 32px 80px -42px rgba(23,34,54,.42);

  background: var(--sand);
  border-top: 1px solid var(--line);
  font-family: "Poppins", Arial, sans-serif;
  padding: 118px 0 108px;
}

/* Shared content width */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-site-wrap {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1240px;
  width: calc(100% - 80px);
}

/* Editorial introduction */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-row {
  align-items: center;
  display: grid;
  gap: clamp(55px, 7vw, 105px);
  grid-template-columns: 1.08fr .92fr;
}

/* Editorial image */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image {
  aspect-ratio: 4 / 4.45;
  background: var(--stone);
  border-radius: 3px;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image::after {
  border: 1px solid rgba(255,255,255,.55);
  bottom: 16px;
  content: "";
  left: 16px;
  pointer-events: none;
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image .elementor-widget-image,
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image .elementor-widget-container,
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image img {
  height: 100%;
  width: 100%;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image img {
  display: block;
  object-fit: cover;
}

/* Editorial copy */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-copy {
  max-width: 520px;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-chapter-number .elementor-heading-title {
  color: var(--coral-dark);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .28em;
  margin: 0;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-eyebrow .elementor-heading-title {
  color: var(--muted);
  font-family: "Poppins", Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .25em;
  line-height: 1.4;
  margin-top: 13px;
  text-transform: uppercase;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-heading .elementor-heading-title {
  color: var(--ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(42px, 5vw, 65px);
  font-weight: 500;
  line-height: 1.03;
  margin: 17px 0 25px;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-description p {
  color: var(--text);
  font-size: 15px;
  line-height: 1.85;
  margin: 0 0 30px;
}

/* Editorial link */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-text-link .elementor-button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--navy);
  border-radius: 0;
  color: var(--navy);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  padding: 0 0 6px;
  text-transform: uppercase;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-text-link .elementor-button:hover {
  background: transparent;
  color: var(--ink);
}

/* Service grid */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-chapter-index {
  margin-top: 92px;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Individual service tile */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-grid > .pc-fvc-service-tile {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --gap: 0px;

  aspect-ratio: 4 / 5;
  background: transparent !important;
  border: 0 !important;
  border-radius: 3px;
  box-shadow: none !important;
  color: white;
  display: grid;
  gap: 0;
  grid-template-areas: "card-stack";
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  isolation: isolate;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  padding: 0 !important;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile:hover {
  color: white;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile:focus-visible {
  outline: 3px solid var(--coral);
  outline-offset: 4px;
}

/* Card image layer */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile > .pc-fvc-service-visual {
  align-self: stretch;
  border: 0;
  grid-area: card-stack;
  height: 100%;
  inset: auto !important;
  margin: 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  padding: 0 !important;
  position: relative !important;
  width: 100%;
  z-index: 0;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-visual::after {
  background: linear-gradient(
    180deg,
    rgba(16,24,40,.02) 35%,
    rgba(15,22,36,.73) 100%
  );
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-visual .elementor-widget-container {
  border: 0;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0 !important;
  width: 100%;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-visual img {
  display: block;
  height: 100%;
  margin: 0;
  object-fit: cover;
  padding: 0;
  transition: transform .7s ease;
  width: 100%;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile:hover .pc-fvc-service-visual img {
  transform: scale(1.035);
}

/* Image fallback colors */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-skin-one {
  background: linear-gradient(145deg, #e1d7c8, #66778a);
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-skin-two {
  background: linear-gradient(145deg, #d8cfbf, #728193);
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-skin-three {
  background: linear-gradient(150deg, #596a7e, #e5ddd2);
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-skin-four {
  background: linear-gradient(140deg, #ba9f94, #283b57);
}

/* Card caption layer */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile > .pc-fvc-service-caption {
  align-self: end;
  background: transparent;
  border: 0;
  box-sizing: border-box;
  grid-area: card-stack;
  inset: auto !important;
  margin: 0;
  padding: 26px;
  position: relative !important;
  width: 100%;
  z-index: 2;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-kicker .elementor-heading-title {
  color: rgba(255,255,255,.72);
  font-family: "Poppins", Arial, sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.4;
  margin: 0 0 8px;
  text-transform: uppercase;
}

.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-title .elementor-heading-title {
  color: white;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 500;
  line-height: 1.05;
  margin: 0;
  padding-right: 34px;
}

/* Arrow inside caption */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-caption .pc-fvc-service-arrow {
  bottom: 28px;
  color: white;
  position: absolute;
  right: 24px;
}

/* Supports arrow as a direct tile child */
.elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile > .pc-fvc-service-arrow {
  align-self: end;
  color: white;
  grid-area: card-stack;
  justify-self: end;
  margin: 0 24px 28px 0;
  position: relative !important;
  z-index: 3;
}

/* Smaller desktop */
@media (max-width: 1080px) {
  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-site-wrap {
    width: calc(100% - 48px);
  }
}

/* Tablet */
@media (max-width: 860px) {
  .elementor-160548 .elementor-element.elementor-element-22be35b {
    padding: 86px 0 78px;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-row {
    gap: 54px;
    grid-template-columns: 1fr;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image {
    aspect-ratio: 4 / 3.3;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-chapter-index {
    margin-top: 60px;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 600px) {
  .elementor-160548 .elementor-element.elementor-element-22be35b {
    padding: 72px 0 65px;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-site-wrap {
    width: calc(100% - 36px);
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-image {
    aspect-ratio: 4 / 4.65;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-editorial-heading .elementor-heading-title {
    font-size: 43px;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-grid {
    gap: 12px;
    grid-template-columns: 1fr;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile > .pc-fvc-service-caption {
    padding: 23px;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-caption .pc-fvc-service-arrow {
    bottom: 25px;
    right: 21px;
  }

  .elementor-160548 .elementor-element.elementor-element-22be35b .pc-fvc-service-tile > .pc-fvc-service-arrow {
    margin: 0 21px 25px 0;
  }
}/* End custom CSS */