.elementor-kit-3{--e-global-color-primary:#0F2019;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#0F2019;--e-global-color-accent:#FFFFFF;--e-global-color-44f4837:#8D9B56;--e-global-color-0880a91:#1E2C24;--e-global-typography-primary-font-family:"Bebas Neue";--e-global-typography-primary-font-size:70px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Bebas Neue";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:19px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Bebas Neue";--e-global-typography-accent-font-size:35px;--e-global-typography-accent-font-weight:700;--e-global-typography-ef3bc15-font-family:"Instrument Serif";--e-global-typography-ef3bc15-font-size:40px;--e-global-typography-ef3bc15-font-weight:500;}.elementor-kit-3 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);}.elementor-lightbox{background-color:var( --e-global-color-secondary );--lightbox-ui-color:var( --e-global-color-primary );--lightbox-ui-color-hover:var( --e-global-color-primary );--lightbox-text-color:var( --e-global-color-primary );--lightbox-header-icons-size:20px;--lightbox-navigation-icons-size:15px;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-3{--e-global-typography-primary-font-size:70px;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-size:50px;--e-global-typography-secondary-line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-3{--e-global-typography-primary-font-size:45px;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* ---- Shared base (both buttons) ---- */
.cta {
  border: none;
  background: none;
  cursor: pointer;
}
.cta:hover { background: none; }

.cta span {
  padding-bottom: 7px;
  padding-right: 15px;
  letter-spacing: 0;
  font-weight: 300;
}

.cta svg {
  transform: translateX(-8px);
  transition: all 0.3s ease;
}
.cta:hover svg  { transform: translateX(0); }
.cta:active svg { transform: scale(0.9); }

.hover-underline-animation {
  position: relative;
  padding-bottom: 20px;
}
.hover-underline-animation:after {
  content: "";
  position: absolute;
  width: 90%;
  height: 1px;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}
.cta:hover .hover-underline-animation:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

/* ---- White buttons (service links) ---- */
.cta-white span {
  font-size: 40px;
  font-family: "Instrument Serif", serif;
}
.cta-white .hover-underline-animation        { color: #ffffff; }
.cta-white .hover-underline-animation:after  { background-color: #ffffff; }

/* Tablet */
@media (max-width: 1024px) {
  .cta-white span { font-size: 32px; }
}

/* Mobile */
@media (max-width: 767px) {
  .cta-white span { font-size: 29px; }
}

/* ---- Black button (Get in Touch) ---- */
.cta-black span {
  font-size: 29px;
  font-family: "Instrument Serif", sans-serif;
}
.cta-black .hover-underline-animation        { color: #1D1D1D; }
.cta-black .hover-underline-animation:after  { background-color: #1D1D1D; }

.dot {
  color: #8d9b56; /* your accent colour */
}


.corner-title {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 20px;
}

/* Corner setup */
.corner-title::before,
.corner-title::after,
.corner-title span::before,
.corner-title span::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border: 2px solid transparent; /* invisible until hover */
  transition: all 0.3s ease;
}

/* Top-left */
.corner-title::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}

/* Bottom-right */
.corner-title::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

/* Top-right */
.corner-title span::before {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
}

/* Bottom-left */
.corner-title span::after {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
}

/* Hover state — corners draw in */
.corner-title:hover::before,
.corner-title:hover::after,
.corner-title:hover span::before,
.corner-title:hover span::after {
  width: 20px;   /* corner length */
  height: 20px;
  border-color: #F6F5ED; /* only visible on hover */
}


#lottie-static {
    display: none;
}

#lottie-static-mob {
    display: none;
}


.corner-button {
  position: relative;
  border: none;
  padding: 5px 20px;
  background: transparent;
  color: #202020;
  cursor: pointer;
  overflow: hidden;
}

/* Four corners - visible by default */
.corner-button::before,
.corner-button::after,
.corner-button span::before,
.corner-button span::after {
  content: "";
  position: absolute;
  width: 15px;   /* visible default corner length */
  height: 15px;
  border: 2px solid #202020;
  transition: all 0.4s ease;
}

/* top-left */
.corner-button::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}

/* bottom-right */
.corner-button::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

/* top-right */
.corner-button span::before {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
}

/* bottom-left */
.corner-button span::after {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
}

/* Hover state - corners expand */
.corner-button:hover::before,
.corner-button:hover::after,
.corner-button:hover span::before,
.corner-button:hover span::after {
  width: 35px;   /* expand corners on hover */
  height: 35px;
}

.corner-button-white {
  position: relative;
  border: none;
  padding: 5px 15px;
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  overflow: hidden;
}
.corner-button-white::before,
.corner-button-white::after,
.corner-button-white span::before,
.corner-button-white span::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  border: 2px solid #ffffff;
  transition: all 0.4s ease;
}
.corner-button-white::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}
.corner-button-white::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}
.corner-button-white span::before {
  top: 0;
  right: 0;
  border-left: none;
  border-bottom: none;
}
.corner-button-white span::after {
  bottom: 0;
  left: 0;
  border-right: none;
  border-top: none;
}
.corner-button-white:hover::before,
.corner-button-white:hover::after,
.corner-button-white:hover span::before,
.corner-button-white:hover span::after {
  width: 35px;
  height: 35px;
}

.box{
    backdrop-filter:blur(3px);
}/* End custom CSS */