.elementor-1023 .elementor-element.elementor-element-03ae254{--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-1023 .elementor-element.elementor-element-b49e5c8{--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-1023 .elementor-element.elementor-element-9c1a62e{--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-1023 .elementor-element.elementor-element-0e7354e{--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-1023 .elementor-element.elementor-element-4c31c8f > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-1023 .elementor-element.elementor-element-4c31c8f{padding:100px 0px 120px 0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1023 .elementor-element.elementor-element-45e488c{text-align:start;}.elementor-1023 .elementor-element.elementor-element-45e488c img{border-radius:5px 5px 5px 5px;}.elementor-1023 .elementor-element.elementor-element-fcc3816 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-1023 .elementor-element.elementor-element-fcc3816 .ot-heading > span.is_line:before{width:45px;background:#95A2AC;}.elementor-1023 .elementor-element.elementor-element-fcc3816 .ot-heading > span.is_line{padding-left:calc(45px + 15px);}.elementor-1023 .elementor-element.elementor-element-fcc3816 .ot-heading > span{color:#95A2AC;border-color:#95A2AC;font-size:14px;font-weight:600;margin-bottom:6px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;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-1023 .elementor-element.elementor-element-8515723{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 18px) 0px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a:hover .elementor-widget-container{background-color:#F7F7F7;}.elementor-1023 .elementor-element.elementor-element-a45cb3a > .elementor-widget-container{margin:0px 0px 10px 0px;padding:18px 20px 18px 20px;border-radius:5px 5px 5px 5px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a .icon-box .title-box, .elementor-1023 .elementor-element.elementor-element-a45cb3a .icon-box .title-box a{color:#0B2A41;}.elementor-1023 .elementor-element.elementor-element-a45cb3a.icon-left .content-box{margin-left:35px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a.icon-right .content-box{margin-right:35px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a .icon-main i{font-size:17px;line-height:0px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a .icon-main svg{width:17px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a .icon-main{width:0px;height:0px;line-height:0px;}.elementor-1023 .elementor-element.elementor-element-a45cb3a.box-s2.icon-left .icon-box{padding-left:calc(0px/2);}.elementor-1023 .elementor-element.elementor-element-a45cb3a.box-s2.icon-right .icon-box{padding-right:calc(0px/2);}.elementor-1023 .elementor-element.elementor-element-a45cb3a .icon-box .title-box{padding-top:0px;margin-bottom:0px;font-size:16px;font-weight:600;}.elementor-1023 .elementor-element.elementor-element-6b20c58:hover .elementor-widget-container{background-color:#F7F7F7;}.elementor-1023 .elementor-element.elementor-element-6b20c58 > .elementor-widget-container{margin:0px 0px 10px 0px;padding:18px 20px 18px 20px;border-radius:5px 5px 5px 5px;}.elementor-1023 .elementor-element.elementor-element-6b20c58 .icon-box .title-box, .elementor-1023 .elementor-element.elementor-element-6b20c58 .icon-box .title-box a{color:#0B2A41;}.elementor-1023 .elementor-element.elementor-element-6b20c58.icon-left .content-box{margin-left:35px;}.elementor-1023 .elementor-element.elementor-element-6b20c58.icon-right .content-box{margin-right:35px;}.elementor-1023 .elementor-element.elementor-element-6b20c58 .icon-main i{font-size:17px;line-height:0px;}.elementor-1023 .elementor-element.elementor-element-6b20c58 .icon-main svg{width:17px;}.elementor-1023 .elementor-element.elementor-element-6b20c58 .icon-main{width:0px;height:0px;line-height:0px;}.elementor-1023 .elementor-element.elementor-element-6b20c58.box-s2.icon-left .icon-box{padding-left:calc(0px/2);}.elementor-1023 .elementor-element.elementor-element-6b20c58.box-s2.icon-right .icon-box{padding-right:calc(0px/2);}.elementor-1023 .elementor-element.elementor-element-6b20c58 .icon-box .title-box{padding-top:0px;margin-bottom:0px;font-size:16px;font-weight:600;}.elementor-1023 .elementor-element.elementor-element-e7b275b:hover .elementor-widget-container{background-color:#F7F7F7;}.elementor-1023 .elementor-element.elementor-element-e7b275b > .elementor-widget-container{padding:18px 20px 18px 20px;border-radius:5px 5px 5px 5px;}.elementor-1023 .elementor-element.elementor-element-e7b275b .icon-box .title-box, .elementor-1023 .elementor-element.elementor-element-e7b275b .icon-box .title-box a{color:#0B2A41;}.elementor-1023 .elementor-element.elementor-element-e7b275b.icon-left .content-box{margin-left:35px;}.elementor-1023 .elementor-element.elementor-element-e7b275b.icon-right .content-box{margin-right:35px;}.elementor-1023 .elementor-element.elementor-element-e7b275b .icon-main i{font-size:17px;line-height:0px;}.elementor-1023 .elementor-element.elementor-element-e7b275b .icon-main svg{width:17px;}.elementor-1023 .elementor-element.elementor-element-e7b275b .icon-main{width:0px;height:0px;line-height:0px;}.elementor-1023 .elementor-element.elementor-element-e7b275b.box-s2.icon-left .icon-box{padding-left:calc(0px/2);}.elementor-1023 .elementor-element.elementor-element-e7b275b.box-s2.icon-right .icon-box{padding-right:calc(0px/2);}.elementor-1023 .elementor-element.elementor-element-e7b275b .icon-box .title-box{padding-top:0px;margin-bottom:0px;font-size:16px;font-weight:600;}.elementor-1023 .elementor-element.elementor-element-d7f76c0:not(.elementor-motion-effects-element-type-background), .elementor-1023 .elementor-element.elementor-element-d7f76c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F5F5;}.elementor-1023 .elementor-element.elementor-element-d7f76c0{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:95px 0px 325px 0px;}.elementor-1023 .elementor-element.elementor-element-d7f76c0 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-1023 .elementor-element.elementor-element-b5f5bc2{padding:0px 0px 40px 0px;}.elementor-1023 .elementor-element.elementor-element-dfc12dc > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-1023 .elementor-element.elementor-element-dfc12dc{text-align:center;}.elementor-1023 .elementor-element.elementor-element-dfc12dc .ot-heading > span{color:#95A2AC;border-color:#95A2AC;font-size:14px;font-weight:600;}.elementor-1023 .elementor-element.elementor-element-dfc12dc .ot-heading > span.is_line:before{background:#95A2AC;}.elementor-1023 .elementor-element.elementor-element-dfc12dc .ot-heading .main-head{color:#0B2A41;}.elementor-1023 .elementor-element.elementor-element-b4408e1{text-align:center;}@media(min-width:768px){.elementor-1023 .elementor-element.elementor-element-5a47173{width:21%;}.elementor-1023 .elementor-element.elementor-element-651b811{width:57.332%;}.elementor-1023 .elementor-element.elementor-element-48f3904{width:21%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1023 .elementor-element.elementor-element-61532bf{width:100%;}.elementor-1023 .elementor-element.elementor-element-c5fca5d{width:100%;}.elementor-1023 .elementor-element.elementor-element-5a47173{width:10%;}.elementor-1023 .elementor-element.elementor-element-651b811{width:80%;}.elementor-1023 .elementor-element.elementor-element-48f3904{width:10%;}}@media(max-width:1024px){.elementor-1023 .elementor-element.elementor-element-45e488c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 50px) 0px;}.elementor-1023 .elementor-element.elementor-element-d7f76c0{padding:95px 0px 170px 0px;}}@media(max-width:767px){.elementor-1023 .elementor-element.elementor-element-4c31c8f{padding:60px 0px 60px 0px;}.elementor-1023 .elementor-element.elementor-element-45e488c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-1023 .elementor-element.elementor-element-d7f76c0{padding:80px 0px 120px 0px;}.elementor-1023 .elementor-element.elementor-element-09026fe .owl-dots{bottom:-60px;}}/* Start custom CSS for html, class: .elementor-element-43e0d0c *//* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* REMOVE WORDPRESS GAP */
body {
  margin: 0;
  overflow-x: hidden;
}

/* HERO FULL WIDTH */
.hero {
  position: relative;

  width: 100vw;
  min-height: 100vh;

  /* FULL WIDTH FIX */
  margin-left: calc(-50vw + 50%);
  left: 0;

  /* BACKGROUND */
  background: url('https://images.unsplash.com/photo-1605000797499-95a51c5269ae') center/cover no-repeat;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* OVERLAY */
.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    rgba(0, 0, 0, 0.65),
    rgba(0, 0, 0, 0.55)
  );
  z-index: 1;
}

/* CONTENT */
.hero-content {
  position: relative;
  max-width: 900px;
  padding: 20px;
  color: #fff;
  z-index: 2;
}

/* HEADING */
.hero h1 {
  font-size: 52px;
  font-weight: 700;
  margin-bottom: 15px;
  text-shadow: 0 4px 25px rgba(0,0,0,0.6);
  color: #fff;
}

/* TEXT */
.hero p {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 30px;
  color: #eee;
}

/* BUTTON WRAPPER */
.buttons {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

/* BUTTON BASE */
.btn {
  padding: 14px 28px;
  border-radius: 12px;
  font-size: 15px;
  text-decoration: none;
  transition: 0.3s ease;
}

/* PRIMARY */
.btn.primary {
  background: #6e927d;
  color: #fff;
  box-shadow: 0 8px 25px rgba(0,0,0,0.4);
}

.btn.primary:hover {
  transform: translateY(-4px);
  background: #5b7c69;
}

/* SECONDARY */
.btn.secondary {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255,255,255,0.4);
  color: #fff;
}

.btn.secondary:hover {
  background: rgba(255,255,255,0.2);
}

/* MOBILE */
@media (max-width: 768px) {
  .hero {
    min-height: 100vh;
    padding: 40px 20px;
  }

  .hero h1 {
    font-size: 28px;
  }

  .hero p {
    font-size: 14px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-8cdd4a5 *//* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  font-family: sans-serif;
}

/* FULL WIDTH SECTION */
.about-full {
  width: 100vw;
  margin-left: calc(-50vw + 50%); /* WordPress fix */
  background: #f5f1ea;
  padding: 80px 20px;
}

/* CENTER CONTENT */
.about-inner {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* HEADING */
.about-full h2 {
  font-size: 38px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #222;
}

/* SUBTITLE */
.subtitle {
  max-width: 750px;
  margin: 0 auto 50px;
  font-size: 16px;
  line-height: 1.7;
  color: #6b6b6b;
}

/* GRID */
.cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px;
}

/* CARD */
.card {
  background: #fff;
  padding: 30px 20px;
  border-radius: 18px;
  transition: all 0.4s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  cursor: pointer;
}

/* ICON */
.icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 15px;
  background: #e9efe7;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  transition: 0.3s ease;
}

/* TITLE */
.card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  color: #333;
}

/* TEXT */
.card p {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
}

/* HOVER EFFECT */
.card:hover {
  transform: translateY(-12px) scale(1.03);
  box-shadow: 0 25px 50px rgba(0,0,0,0.15);
}

/* ICON HOVER */
.card:hover .icon {
  background: #cfe3d5;
  transform: rotate(6deg) scale(1.1);
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .cards {
    grid-template-columns: 1fr;
  }

  .about-full h2 {
    font-size: 26px;
  }

  .subtitle {
    font-size: 14px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d2c6395 *//* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  overflow-x: hidden;
  font-family: sans-serif;
}

/* FULL WIDTH */
.services-full {
  width: 100vw;
  margin-left: calc(-50vw + 50%); /* WordPress fix */
  background: #f5f1ea;
  padding: 80px 20px;
}

/* INNER */
.services-inner {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* HEADING */
.services-full h2 {
  font-size: 38px;
  margin-bottom: 10px;
  color: #222;
}

/* SUBTEXT */
.subtitle {
  color: #6b6b6b;
  margin-bottom: 50px;
  font-size: 16px;
}

/* GRID */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

/* CARD */
.service-card {
  background: #dcd6cc;
  padding: 30px;
  border-radius: 18px;
  text-align: left;
  transition: all 0.4s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

/* ICON */
.icon {
  width: 55px;
  height: 55px;
  background: #cfe3d5;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 15px;
  transition: 0.3s ease;
}

/* TITLE */
.service-card h3 {
  font-size: 18px;
  margin-bottom: 10px;
  color: #333;
}

/* TEXT */
.service-card p {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
}

/* HOVER */
.service-card:hover {
  transform: translateY(-10px) scale(1.02);
  box-shadow: 0 25px 50px rgba(0,0,0,0.15);
}

/* ICON HOVER */
.service-card:hover .icon {
  transform: scale(1.15) rotate(5deg);
  background: #b7d8c3;
}

/* SHINE EFFECT */
.service-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255,255,255,0.4),
    transparent
  );
  transition: 0.6s;
}

.service-card:hover::before {
  left: 100%;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .services-grid {
    grid-template-columns: 1fr;
  }

  .services-full h2 {
    font-size: 26px;
  }

  .subtitle {
    font-size: 14px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b893cf0 */.custom-contact {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  background: #f5f1ea;
  padding: 80px 20px;
}

.custom-contact .contact-inner {
  max-width: 1100px;
  margin: auto;
  text-align: center;
}

.custom-contact h2 {
  font-size: 36px;
  margin-bottom: 10px;
}

.custom-contact .subtitle {
  color: #666;
  margin-bottom: 30px;
}

.custom-contact .contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  text-align: left;
}

.custom-contact .contact-form {
  background: #fff;
  padding: 30px;
  border-radius: 15px;
}

.custom-contact .hours {
  background: #ded8cf;
  padding: 15px;
  border-radius: 10px;
  margin-top: 20px;
}

@media (max-width: 768px) {
  .custom-contact .contact-grid {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */