.elementor-539 .elementor-element.elementor-element-c418465{--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;--margin-top:-55px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-4f8b0f0 */.www-site {
  --www-green-dark: #24362c;
  --www-green: #687f64;
  --www-green-light: #aebba8;
  --www-pale-green: #eef2eb;
  --www-cream: #faf8f3;
  --www-coral: #dc8f8b;
  --www-dark: #242924;
  --www-grey: #697069;
  --www-border: #e5e8e2;
  --www-white: #ffffff;

  font-family: Arial, Helvetica, sans-serif;
  color: var(--www-dark);
  line-height: 1.55;
}

.www-site * {
  box-sizing: border-box;
}

.www-site a {
  text-decoration: none;
}

.www-container {
  width: min(1380px, calc(100% - 40px));
  margin: 0 auto;
}

.www-site h1,
.www-site h2,
.www-site h3 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  margin: 0;
  color: var(--www-dark);
}

.www-site p {
  margin: 0;
  color: var(--www-grey);
}

.www-kicker {
  color: var(--www-coral);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  line-height: 1.2;
  margin-bottom: 16px;
}

.www-kicker-light {
  color: #f4c7c4;
}


/* BUTTONS */

.www-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  padding: 0 24px;

  border-radius: 4px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;

  transition: 0.2s ease;
}

.www-btn:hover {
  transform: translateY(-2px);
}

.www-btn-green {
  background: var(--www-green);
  color: #ffffff;
}

.www-btn-coral {
  background: var(--www-coral);
  color: #ffffff;
}

.www-btn-outline {
  border: 1px solid #9fa99f;
  background: rgba(255,255,255,0.8);
  color: var(--www-dark);
}

.www-btn-white {
  border: 1px solid rgba(255,255,255,0.55);
  color: #ffffff;
}


/* HERO */

.www-hero {
  min-height: 680px;
  position: relative;

  display: flex;
  align-items: center;

  overflow: hidden;

  background-image:
    url("https://images.squarespace-cdn.com/content/v1/54dfaf64e4b0541797869ca1/1663756355792-MJX5VZLNF4AJTV7EW03W/158345775_10158454915842639_6435165717620054246_n.jpg");

  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.www-hero-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(250,248,243,0.99) 0%,
      rgba(250,248,243,0.95) 32%,
      rgba(250,248,243,0.65) 50%,
      rgba(250,248,243,0.15) 72%,
      rgba(250,248,243,0) 100%
    );
}

.www-hero-content {
  position: relative;
  z-index: 2;
}

.www-hero-text {
  width: 1550px;
  max-width: 100%;
}


/* PROMINENT BUSINESS NAME */

.www-business-name {
  font-family: Georgia, "Times New Roman", serif;

  font-size: clamp(40px, 4.4vw, 68px);
  font-weight: 600;
  line-height: 0.98;

  letter-spacing: -2px;

  color: var(--www-green-dark);

  margin-bottom: 22px;

  max-width: 1060px;
}

.www-business-name::after {
  content: "";
  display: block;

  width: 155px;
  height: 4px;

  margin-top: 17px;

  background: var(--www-coral);
}


.www-hero h1 {
  font-size: clamp(60px, 7vw, 96px);
  line-height: 0.89;
  letter-spacing: -4px;
}

.www-hero h1 span {
  display: block;
  color: var(--www-green);
}

.www-hero-text > p {
  max-width: 430px;
  margin-top: 25px;

  font-size: 18px;
  color: #3e493f;
}

.www-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;

  margin-top: 28px;
}


/* TRUST */

.www-trust {
  background: var(--www-cream);
  border-bottom: 1px solid var(--www-border);
}

.www-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.www-trust-item {
  min-height: 115px;

  padding: 26px 28px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  border-right: 1px solid var(--www-border);
}

.www-trust-item:last-child {
  border-right: 0;
}

.www-trust-item strong {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.www-trust-item span {
  margin-top: 3px;

  color: var(--www-grey);
  font-size: 13px;
}


/* GENERAL SECTIONS */

.www-section {
  padding: 95px 0;
}

.www-heading-row {
  display: grid;
  grid-template-columns: 1fr 1fr;

  align-items: end;

  gap: 70px;

  margin-bottom: 45px;
}

.www-heading-row h2 {
  font-size: clamp(42px,5vw,65px);
  line-height: 1.03;
  letter-spacing: -2px;
}

.www-heading-row h2 span {
  display: block;
  color: var(--www-green);
}

.www-heading-intro {
  max-width: 500px;

  font-size: 16px;
}


/* SERVICES */

.www-service-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
}

.www-service-card {
  min-height: 275px;

  padding: 30px;

  display: flex;
  flex-direction: column;

  background: var(--www-cream);

  border: 1px solid var(--www-border);
  border-radius: 12px;

  transition: 0.2s ease;
}

.www-service-card:first-child {
  background: var(--www-pale-green);
}

.www-service-card:hover {
  transform: translateY(-4px);

  box-shadow:
    0 15px 35px rgba(40,55,45,0.09);
}

.www-service-number {
  margin-bottom: 45px;

  color: var(--www-coral);

  font-size: 12px;
  font-weight: 700;
}

.www-service-card h3 {
  font-size: 24px;
  line-height: 1.1;

  margin-bottom: 14px;
}

.www-service-card p {
  font-size: 14px;
}


/* ABOUT */

.www-about {
  display: grid;
  grid-template-columns: 1fr 1fr;

  background: var(--www-cream);
}

.www-about-image {
  min-height: 700px;
  overflow: hidden;
}

.www-about-image img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  display: block;
}

.www-about-content {
  display: flex;
  align-items: center;

  padding: 80px 70px;
}

.www-about-inner {
  max-width: 570px;
}

.www-about h2 {
  margin-bottom: 26px;

  font-size: clamp(42px,4vw,62px);
  line-height: 1.05;
  letter-spacing: -2px;
}

.www-about p {
  margin-bottom: 18px;

  font-size: 16px;
}

.www-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 12px 25px;

  margin: 28px 0 35px;

  color: #536154;

  font-size: 14px;
}


/* LARGE IMAGE */

.www-image-feature {
  position: relative;

  min-height: 560px;

  overflow: hidden;

  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.www-image-feature > img {
  position: absolute;

  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  display: block;
}

.www-image-feature-overlay {
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(36,54,44,0) 20%,
      rgba(36,54,44,0.10) 45%,
      rgba(36,54,44,0.88) 100%
    );
}

.www-image-feature-text {
  position: relative;
  z-index: 2;

  width: 470px;

  margin-right:
    max(
      40px,
      calc((100vw - 1180px) / 2)
    );

  color: #ffffff;
}

.www-image-feature-text h2 {
  margin-bottom: 20px;

  color: #ffffff;

  font-size: clamp(48px,5vw,72px);
  line-height: 0.98;
}

.www-image-feature-text p {
  color: rgba(255,255,255,0.82);

  font-size: 17px;
}


/* RESULTS SECTION */

.www-results {
  background: #ffffff;
}


/*
   Wider than the standard 1180px content,
   but still centred and clearly boxed.
*/
.www-results-wrap {
  width: min(1320px, calc(100% - 60px));
  margin: 0 auto;
}


/* Heading remains comfortably inside the wider section */

.www-results-heading {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto 38px;

  display: grid;
  grid-template-columns: 1fr 1fr;

  align-items: end;

  gap: 70px;
}

.www-results-heading h2 {
  font-size: clamp(42px,5vw,65px);
  line-height: 1.03;
  letter-spacing: -2px;
}

.www-results-heading h2 span {
  display: block;
  color: var(--www-green);
}

.www-results-heading > p {
  max-width: 500px;

  font-size: 16px;
}


/* The actual boxed results feature */

.www-result-box {
  width: 100%;

  display: grid;
  grid-template-columns: 1.65fr 0.75fr;

  overflow: hidden;

  background: var(--www-cream);

  border: 1px solid var(--www-border);
  border-radius: 18px;

  box-shadow:
    0 18px 45px rgba(40,55,45,0.08);
}

.www-result-image {
  min-height: 570px;

  overflow: hidden;
}

.www-result-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}

.www-result-content {
  padding: 55px 48px;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.www-result-label {
  display: inline-block;

  width: fit-content;

  margin-bottom: 22px;

  padding: 7px 13px;

  background: var(--www-green);

  border-radius: 20px;

  color: #ffffff;

  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
}

.www-result-content h3 {
  margin-bottom: 20px;

  font-size: 34px;
  line-height: 1.13;
}

.www-result-content p {
  margin-bottom: 20px;

  font-size: 15px;
}

.www-text-link {
  color: var(--www-green);

  font-size: 14px;
  font-weight: 700;
}


/* TESTIMONIAL */

.www-testimonial {
  padding: 95px 0;

  background: var(--www-pale-green);
}

.www-testimonial-inner {
  max-width: 850px;

  margin: 0 auto;

  text-align: center;
}

.www-testimonial blockquote {
  margin: 0 0 20px;

  font-family: Georgia, "Times New Roman", serif;

  color: var(--www-green-dark);

  font-size: clamp(34px,4vw,54px);
  line-height: 1.2;
}


/* CONTACT */

.www-contact {
  padding: 65px 0;

  background: var(--www-green-dark);

  color: #ffffff;
}

.www-contact-grid {
  display: grid;
  grid-template-columns: 1fr auto;

  align-items: center;

  gap: 50px;
}

.www-contact h2 {
  color: #ffffff;

  font-size: clamp(38px,4vw,56px);
  line-height: 1.02;
}

.www-contact p {
  margin-top: 14px;

  color: rgba(255,255,255,0.72);
}

.www-contact-buttons {
  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}


/* TABLET */

@media (max-width: 950px) {

  .www-trust-grid {
    grid-template-columns: 1fr 1fr;
  }

  .www-service-grid {
    grid-template-columns: 1fr 1fr;
  }

  .www-about {
    grid-template-columns: 1fr;
  }

  .www-about-image {
    min-height: 600px;
  }

  .www-heading-row,
  .www-results-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .www-result-box {
    grid-template-columns: 1fr;
  }

  .www-result-image {
    min-height: 480px;
  }

}


/* MOBILE */

@media (max-width: 650px) {

  .www-container {
    width: calc(100% - 28px);
  }

  .www-hero {
    min-height: 650px;

    background-position: 58% center;
  }

  .www-hero-overlay {
    background:
      rgba(250,248,243,0.86);
  }

  .www-business-name {
    font-size: 42px;
    letter-spacing: -1.5px;
  }

  .www-hero h1 {
    font-size: 61px;
    letter-spacing: -3px;
  }

  .www-trust-grid {
    grid-template-columns: 1fr;
  }

  .www-trust-item {
    border-right: 0;
    border-bottom: 1px solid var(--www-border);
  }

  .www-service-grid {
    grid-template-columns: 1fr;
  }

  .www-section {
    padding: 70px 0;
  }

  .www-about-content {
    padding: 65px 25px;
  }

  .www-about-image {
    min-height: 480px;
  }

  .www-check-grid {
    grid-template-columns: 1fr;
  }

  .www-image-feature {
    min-height: 520px;

    justify-content: flex-start;
  }

  .www-image-feature-overlay {
    background:
      rgba(36,54,44,0.58);
  }

  .www-image-feature-text {
    width: auto;
    margin: 0 28px;
  }

  .www-results-wrap {
    width: calc(100% - 28px);
  }

  .www-results-heading {
    width: 100%;
  }

  .www-result-image {
    min-height: 360px;
  }

  .www-result-content {
    padding: 36px 25px;
  }

  .www-contact-grid {
    grid-template-columns: 1fr;
  }

}/* End custom CSS */