.elementor-kit-9{--e-global-color-primary:#E2873A;--e-global-color-secondary:#000000;--e-global-color-text:#242424;--e-global-color-accent:#A7E6D7;--e-global-typography-primary-font-family:"Open Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Open Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Open Sans";--e-global-typography-accent-font-weight:500;color:#1F1F1F;font-family:"Inter", Sans-serif;font-size:20px;font-weight:normal;line-height:1.2em;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:#E2873A;}.elementor-kit-9 h1{font-family:"Inter", Sans-serif;font-size:38px;font-weight:300;}.elementor-kit-9 h2{color:#242424;font-family:"Inter", Sans-serif;font-size:34px;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;--container-default-padding-top:0em;--container-default-padding-right:2em;--container-default-padding-bottom:0em;--container-default-padding-left:2em;}.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);}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================
   TCB – SITE CSS (CONSOLIDATED CLEAN VERSION)
   Hero carousel + Before/After + Team cards + Gravity Forms
   ========================================= */


/* ================================
   HERO BACKGROUND CAROUSEL
   (fixed frame, equal slide heights, hero can grow – no white gap)
   ================================ */

.hero-carousel-section{
  position: relative;
  overflow: hidden;
  min-height: 70vh;
}

@media (max-width: 1024px){
  .hero-carousel-section{ min-height: 80vh; }
}
@media (max-width: 767px){
  .hero-carousel-section{ min-height: 90vh; }
}

/* Carousel sits as a background layer */
.hero-carousel-section .hero-bg-carousel{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
}

/* Hero content above carousel */
.hero-carousel-section > .e-con-inner{
  position: relative;
  z-index: 2;
}

/* Make Swiper fill the hero */
.hero-carousel-section .hero-bg-carousel .elementor-image-carousel-wrapper,
.hero-carousel-section .hero-bg-carousel .swiper,
.hero-carousel-section .hero-bg-carousel .swiper-wrapper,
.hero-carousel-section .hero-bg-carousel .swiper-slide,
.hero-carousel-section .hero-bg-carousel .swiper-slide-inner{
  height: 100% !important;
  max-height: 100% !important;
}

/* Equal-height images */
.hero-carousel-section .hero-bg-carousel img.swiper-slide-image{
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Sticky header tweak */
.elementor-sticky--active{ padding-top: 2em; }


/* ================================
   MEDIA IMAGE FRAME (if used)
   ================================ */

.media-image-wrap{
  position: relative;
  overflow: hidden;
  height: 220px;
}
.media-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


/* ================================
   BEFORE / AFTER SLIDER (TCB)
   ================================ */

/* Frame */
.tcb-ba-wrap{
  position: relative !important;
  width: min(100%, 1300px) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border-radius: 8px;
  background: #111;
  aspect-ratio: 16 / 9;
}

/* Both image widgets become layers */
.tcb-ba-wrap .elementor-widget-image{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.tcb-ba-wrap .elementor-widget-image .elementor-widget-container{
  width: 100% !important;
  height: 100% !important;
}

.tcb-ba-wrap img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  display: block !important;
}

/* Layer order */
.tcb-ba-wrap .tcb-after{ z-index: 1 !important; }
.tcb-ba-wrap .tcb-before{ z-index: 2 !important; }

/* Handle + knob (inserted by your JS) */
.tcb-ba-wrap .tcb-ba-handle{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #E0C36A;
  z-index: 10;
  transform: translateX(-1px);
  pointer-events: none;
}

.tcb-ba-wrap .tcb-ba-knob{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(0,0,0,.75);
  border: 1px solid rgba(224,195,106,.7);
  color: #E0C36A;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 11;
  pointer-events: none;
  font-size: 18px;
  line-height: 1;
}

/* Labels (the JS should add an empty div .tcb-ba-labels) */
.tcb-ba-wrap .tcb-ba-labels{
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
}

.tcb-ba-wrap .tcb-ba-labels::before,
.tcb-ba-wrap .tcb-ba-labels::after{
  position: absolute;
  top: 16px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #000;
  background: rgba(255,255,255,0.8);
  border-radius: 4px;
  line-height: 1;
  display: inline-block;
  width: auto;
  max-width: max-content;
}

.tcb-ba-wrap .tcb-ba-labels::before{
  content: "Before";
  left: 16px;
}

.tcb-ba-wrap .tcb-ba-labels::after{
  content: "After";
  right: 16px;
}


/* ================================
   FEATURED IMAGE HERO BACKGROUND (Case study top image)
   ================================ */

.tcb-project-hero,
.tcb-project-hero > .elementor-background-overlay,
.tcb-project-hero > .e-con-inner{
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: scroll !important;
}


/* ================================
   TEAM IMAGE + OVERLAY PINNED TO BOTTOM
   (Your wrapper classes: team-photo-wrap / team-photo / team-photo-overlay)
   ================================ */

.team-photo-wrap{
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}

.team-photo-wrap .team-photo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 1025px){
  .team-photo-wrap{ aspect-ratio: 1 / 1; }
}
@media (max-width: 1024px){
  .team-photo-wrap{ aspect-ratio: 4 / 5; }
}

.team-photo-wrap .team-photo-overlay{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  padding: 32px 12px 12px;
  background: linear-gradient(to top, rgba(0,0,0,.80), rgba(0,0,0,.35), rgba(0,0,0,0));
}


/* ================================
   GRAVITY FORMS – FORM #1 (Orbital/Foundation)
   Clean styling + button match + spacing tightened
   + Safari select alignment + single arrow (no doubles)
   ================================ */

/* Reduce spacing */
#gform_wrapper_1 .gform_fields{
  row-gap: 12px !important;
}
#gform_wrapper_1 .gfield{
  margin-bottom: 12px !important;
}

/* Section titles */
#gform_wrapper_1 .gsection{
  border: 0 !important;
  padding: 0 !important;
  margin: 18px 0 6px !important;
}
#gform_wrapper_1 .gsection_title{
  font-family: "Inter", Sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  margin: 0 !important;
}
#gform_wrapper_1 .gsection_description{
  margin-top: 6px !important;
  font-size: 14px !important;
  opacity: .85 !important;
}

/* Labels */
#gform_wrapper_1 .gfield_label,
#gform_wrapper_1 .gform-field-label{
  margin-bottom: 6px !important;
}

/* Inputs / textarea */
#gform_wrapper_1 input[type="text"],
#gform_wrapper_1 input[type="email"],
#gform_wrapper_1 input[type="tel"],
#gform_wrapper_1 textarea{
  background: #fff !important;
  color: #242424 !important;
  border: 1px solid rgba(0,0,0,0.25) !important;
  border-radius: 4px !important;
  padding: 12px 12px !important;
  -webkit-text-fill-color: #242424 !important;
}

/* Focus state */
#gform_wrapper_1 input:focus,
#gform_wrapper_1 textarea:focus{
  outline: none !important;
  box-shadow: none !important;
  border-color: #A7E6D7 !important;
}

/* SUBMIT button – match Elementor */
#gform_wrapper_1 .gform_footer input[type="submit"],
#gform_wrapper_1 .gform_button{
  background-color: #A7E6D7 !important;
  font-family: "Inter", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #242424 !important;
  border: 1px solid #A7E6D7 !important;
  border-radius: 4px !important;
  padding: 20px 25px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-transform: none !important;
  cursor: pointer;
}

#gform_wrapper_1 .gform_footer input[type="submit"]:hover{
  filter: brightness(0.98) !important;
  transform: translateY(-1px);
}
#gform_wrapper_1 .gform_footer input[type="submit"]:active{
  transform: translateY(0);
}


/* --- Selects: consistent styling + Safari vertical centering --- */

/* Container: allow custom arrow */
#gform_wrapper_1 .ginput_container_select{
  position: relative;
}

/* Select element (height/line-height fixes Safari) */
#gform_wrapper_1 select.gfield_select,
#gform_wrapper_1 select.medium,
#gform_wrapper_1 select.large{
  width: 100% !important;
  height: 52px !important;
  padding: 0 44px 0 14px !important; /* no vertical padding */
  line-height: 52px !important;
  background: #fff !important;
  color: #242424 !important;
  border: 1px solid rgba(0,0,0,0.25) !important;
  border-radius: 4px !important;
  -webkit-text-fill-color: #242424 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Focus for selects */
#gform_wrapper_1 select:focus{
  outline: none !important;
  box-shadow: none !important;
  border-color: #A7E6D7 !important;
}

/* Options list */
#gform_wrapper_1 select option{
  color: #242424 !important;
  background: #fff !important;
}

/* One arrow only (prevents double arrows) */
#gform_wrapper_1 .ginput_container_select::after{
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #242424;
  border-bottom: 2px solid #242424;
  transform: translateY(-60%) rotate(45deg);
  pointer-events: none;
  opacity: .7;
}

/* Hide any theme-provided select icons/svgs inside the select container */
#gform_wrapper_1 .ginput_container_select svg,
#gform_wrapper_1 .ginput_container_select .gform-theme__select-icon{
  display: none !important;
}

html {
  scroll-padding-top: 161px;
}/* End custom CSS */