:root{
  --hg:#1F3D36;
  --sage:#E8F1ED;
  --teal:#4A6F63;
  --paper:#F7F9F8;
  --gold:#D9A441;
  --ink:#1A1A1A;
}

html,body,#page-container,#et-main-area{
  background:var(--paper)!important;
  color:var(--ink)!important;
}

#main-header,
#main-header .container,
.et-l--header{
  background:#fff!important;
  box-shadow:none!important;
  border:0!important;
}

.et_search_outer,
#et_search_icon,
.et_search_form_container{
  display:none!important;
}

/* Kill leaked Divi column overlays / boxed modules */
body.home .et_pb_row,
body.home .et_pb_column:not(.et_pb_column_1_3),
body.home .et_pb_text,
body.home .et_pb_text_inner,
body.home .et_pb_code,
body.home .et_pb_code_inner,
body.home .et_pb_module:not(.et_pb_image):not(.et_pb_button){
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

body.home .et_pb_column:not(.et_pb_column_1_3){
  background-image:none!important;
  background-blend-mode:normal!important;
}

body.home .et_pb_row{
  width:100%!important;
  max-width:min(1120px, calc(100% - clamp(48px, 8vw, 96px)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.home h1,body.home h2,body.home h3,body.home h4,body.home h5,
body.home .et_pb_text_inner h1,body.home .et_pb_text_inner h2,body.home .et_pb_text_inner h3{
  font-family:Montserrat,Arial,sans-serif!important;
  letter-spacing:-.02em;
}

body.home h2,body.home h3,body.home h4,body.home h5{
  color:var(--hg)!important;
}
body.home #page-container .et_pb_section_2 .et_pb_column_1_2 .et_pb_text_inner,
body.home #page-container .et_pb_section_2 .et_pb_column_1_2 h2{
  color:var(--hg)!important;
}
body.home #page-container .et_pb_section_2 .et_pb_column_1_2 .et_pb_text_inner p{
  color:var(--ink)!important;
}
body.home #page-container .et_pb_section_2 .et_pb_column_1_2 .et_pb_text_inner strong{
  color:var(--hg)!important;
}
body.home #page-container .et_pb_row_2 .et_pb_column_3::before,
body.home #page-container .et_pb_section_2 .et_pb_column_1_2::before{
  display:none!important;
  content:none!important;
  background:none!important;
}
body.home #page-container .et_pb_row_2 .et_pb_column_3{
  background:var(--sage)!important;
  background-image:none!important;
  border-radius:24px!important;
  overflow:hidden;
  padding:36px 32px 32px!important;
}

body.home p,body.home li,body.home .et_pb_text_inner p{
  font-family:"Open Sans",Arial,sans-serif!important;
  line-height:1.65;
  color:var(--ink);
}

body.home h1,body.home .et_pb_text_inner h1{
  font-size:clamp(2.1rem,5vw,4rem)!important;
  line-height:1.1!important;
  color:#fff!important;
}

body.home .et_pb_button,
body.home .et_pb_button_module_wrapper a{
  min-height:48px!important;
  padding:14px 22px!important;
  border-radius:999px!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  font-size:13px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transition:background-color .28s ease,color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease!important;
}

body.home a.et_pb_button[href*="/services/"]{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border:0!important;
}

body.home .et_pb_section_0,
body.home .et_pb_section_0.et_pb_section,
body.home .et_pb_section_12,
body.home .et_pb_section_13{
  display:none!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:none!important;
  overflow:hidden!important;
}

body.home .et_pb_section_1 a.et_pb_button_0.et_pb_button,
body.home .et_pb_section_1 a.et_pb_button[href="/services/"]{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border:0!important;
}
body.home .et_pb_section_1 a.et_pb_button_1.et_pb_button,
body.home .et_pb_section_1 a.et_pb_button[href*="contact"]{
  background:transparent!important;
  color:#fff!important;
  border:2px solid #fff!important;
}

/* Hero: full-bleed image, no inner card */
body.home .et_pb_section_1{
  padding:72px 20px 80px!important;
}
body.home .et_pb_section_1 .et_pb_row{
  max-width:820px!important;
  text-align:center;
}
body.home .et_pb_section_1 .et_pb_text_inner,
body.home .et_pb_section_1 .et_pb_text_inner p{
  color:#fff!important;
  text-align:center;
}
body.home .et_pb_section_1 .et_pb_button_module_wrapper{
  display:inline-block!important;
  margin:8px 6px 0!important;
}

body.home .hensen-values{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:18px;
  background:transparent!important;
}
body.home .hensen-hero .hensen-values div,
body.home .et_pb_section_1 .hensen-values div{
  background:transparent!important;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
  color:#fff!important;
  box-shadow:none!important;
}

body.home .hensen-list{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  padding:0;
  margin:16px 0 0;
  list-style:none;
  background:transparent!important;
}
body.home .hensen-list li{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:6px 0 6px 1.1em;
  position:relative;
  font-size:16px;
}
body.home .hensen-list li:before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
}

/* Zigzag feature bands: alternate photo and copy */
body.home #page-container .et_pb_section_3 .et_pb_row,
body.home #page-container .et_pb_section_4 .et_pb_row,
body.home #page-container .et_pb_section_5 .et_pb_row,
body.home #page-container .et_pb_section_6 .et_pb_row,
body.home #page-container .et_pb_section_7 .et_pb_row,
body.home #page-container .et_pb_section_8 .et_pb_row{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:32px 48px!important;
}
body.home #page-container .et_pb_section_4 .et_pb_row,
body.home #page-container .et_pb_section_6 .et_pb_row,
body.home #page-container .et_pb_section_8 .et_pb_row{
  flex-direction:row-reverse!important;
}
body.home #page-container .et_pb_section_3 .et_flex_column,
body.home #page-container .et_pb_section_4 .et_flex_column,
body.home #page-container .et_pb_section_5 .et_flex_column,
body.home #page-container .et_pb_section_6 .et_flex_column,
body.home #page-container .et_pb_section_7 .et_flex_column,
body.home #page-container .et_pb_section_8 .et_flex_column{
  flex:1 1 0!important;
  min-width:0!important;
  width:auto!important;
}
body.home #page-container .et_pb_section_3 .et_pb_image,
body.home #page-container .et_pb_section_4 .et_pb_image,
body.home #page-container .et_pb_section_5 .et_pb_image,
body.home #page-container .et_pb_section_6 .et_pb_image,
body.home #page-container .et_pb_section_7 .et_pb_image,
body.home #page-container .et_pb_section_8 .et_pb_image,
body.home #page-container .et_pb_section_3 .et_pb_image_wrap,
body.home #page-container .et_pb_section_4 .et_pb_image_wrap,
body.home #page-container .et_pb_section_5 .et_pb_image_wrap,
body.home #page-container .et_pb_section_6 .et_pb_image_wrap,
body.home #page-container .et_pb_section_7 .et_pb_image_wrap,
body.home #page-container .et_pb_section_8 .et_pb_image_wrap{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
body.home #page-container .et_pb_section_3 .et_pb_image img,
body.home #page-container .et_pb_section_4 .et_pb_image img,
body.home #page-container .et_pb_section_5 .et_pb_image img,
body.home #page-container .et_pb_section_6 .et_pb_image img,
body.home #page-container .et_pb_section_7 .et_pb_image img,
body.home #page-container .et_pb_section_8 .et_pb_image img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:24px!important;
}
body.home #page-container .et_pb_section_3 .hensen-list,
body.home #page-container .et_pb_section_4 .hensen-list,
body.home #page-container .et_pb_section_6 .hensen-list,
body.home #page-container .et_pb_section_7 .hensen-list,
body.home #page-container .et_pb_section_8 .hensen-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:20px!important;
}
body.home #page-container .et_pb_section_3 .hensen-list li,
body.home #page-container .et_pb_section_4 .hensen-list li,
body.home #page-container .et_pb_section_6 .hensen-list li,
body.home #page-container .et_pb_section_7 .hensen-list li,
body.home #page-container .et_pb_section_8 .hensen-list li{
  padding:8px 14px!important;
  border-radius:999px!important;
  background:rgba(31,61,54,.06)!important;
  border:1px solid rgba(31,61,54,.1)!important;
  font-size:14px!important;
  line-height:1.3!important;
}
body.home #page-container .et_pb_section_3 .hensen-list li:before,
body.home #page-container .et_pb_section_4 .hensen-list li:before,
body.home #page-container .et_pb_section_6 .hensen-list li:before,
body.home #page-container .et_pb_section_7 .hensen-list li:before,
body.home #page-container .et_pb_section_8 .hensen-list li:before{
  display:none!important;
}
body.home #page-container .et_pb_section_8 a[href="/expertise/"],
body.home #page-container .et_pb_section_4 a[href="/specialty-services/"]{
  display:inline-flex!important;
  align-items:center;
  margin-top:18px;
  padding:12px 20px!important;
  border-radius:999px!important;
  background:var(--gold)!important;
  color:var(--hg)!important;
  font-weight:600!important;
  font-size:13px!important;
  letter-spacing:.04em;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

/* Service photo cards only */
body.home .et_pb_column_1_3{
  position:relative;
  isolation:isolate;
  background-size:cover!important;
  background-position:center!important;
  background-color:rgba(31,61,54,.42)!important;
  background-blend-mode:multiply!important;
  border:0!important;
  border-radius:22px!important;
  overflow:hidden;
  min-height:240px;
  margin-bottom:14px!important;
  box-shadow:none!important;
}
body.home #page-container .et_pb_column_1_3::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,32,28,.55) 0%,rgba(15,32,28,.72) 48%,rgba(15,32,28,.82) 100%);
  z-index:0;
  pointer-events:none;
}
body.home #page-container .et_pb_column_1_3 > *{
  position:relative;
  z-index:1;
}
body.home .et_pb_column_1_3 .et_pb_text,
body.home .et_pb_column_1_3 .et_pb_text_inner{
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
}
body.home .et_pb_column_1_3 h5,
body.home .et_pb_column_1_3 p{
  background:transparent!important;
  color:#fff!important;
  border:0!important;
  text-shadow:0 1px 10px rgba(0,0,0,.45);
}
body.home .et_pb_column_1_3 h5{
  font-weight:700!important;
}
body.home .et_pb_column_1_3 p{
  color:rgba(255,255,255,.94)!important;
}
body.home .et_pb_column_1_3 a.et_pb_button{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border:0!important;
  width:100%;
}

body.home .et_pb_image,
body.home .et_pb_image_wrap,
body.home .et_pb_image img{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.home .et_pb_image img{border-radius:20px}

body.home .hensen-dark,
body.home .et_pb_section_5{background:var(--hg)!important}
body.home .hensen-dark .et_pb_column,
body.home .et_pb_section_5 .et_pb_column{
  background:transparent!important;
  background-image:none!important;
}
body.home .hensen-dark h2,
body.home .hensen-dark p,
body.home .hensen-dark a,
body.home .hensen-dark .et_pb_text_inner,
body.home .et_pb_section_5 h2,
body.home .et_pb_section_5 p,
body.home .et_pb_section_5 a,
body.home .et_pb_section_5 .et_pb_text_inner{color:#fff!important}

body.home .hensen-careers-form,
body.home .hensen-careers-form h2,
body.home .hensen-careers-form p{
  color:var(--ink)!important;
  background:transparent!important;
}
body.home .wpcf7 input,
body.home .wpcf7 textarea{
  width:100%!important;
  min-height:48px;
  border-radius:12px!important;
  border:1px solid #d7e0dc!important;
  padding:12px 14px!important;
  font-size:16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.home .wpcf7-submit{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border:0!important;
  border-radius:999px!important;
  width:auto!important;
}

@media (max-width:980px){
  body.home .et_pb_section:not(.et_pb_section_0):not(.et_pb_section_12){
    padding-top:40px!important;
    padding-bottom:40px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body.home .et_pb_section_1{padding:28px 16px 44px!important}
  body.home .et_pb_button_module_wrapper,
  body.home .et_pb_button{width:100%!important;max-width:100%!important}
  body.home .et_pb_section_1 .et_pb_button_module_wrapper{display:block!important;margin:10px 0 0!important}
  body.home .et_pb_image,
  body.home .et_pb_image_wrap{margin:0!important;max-width:100%!important}

  /* Zigzag bands: stop flex collapse that zeros image height on mobile */
  body.home #page-container .et_pb_section_2,
  body.home #page-container .et_pb_section_3,
  body.home #page-container .et_pb_section_4,
  body.home #page-container .et_pb_section_5,
  body.home #page-container .et_pb_section_6,
  body.home #page-container .et_pb_section_7,
  body.home #page-container .et_pb_section_8,
  body.home #page-container .et_pb_section_9,
  body.home #page-container .et_pb_section_10{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  body.home #page-container .et_pb_section_3 .et_pb_row,
  body.home #page-container .et_pb_section_4 .et_pb_row,
  body.home #page-container .et_pb_section_5 .et_pb_row,
  body.home #page-container .et_pb_section_6 .et_pb_row,
  body.home #page-container .et_pb_section_7 .et_pb_row,
  body.home #page-container .et_pb_section_8 .et_pb_row{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:20px!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.home #page-container .et_pb_section_3 .et_flex_column,
  body.home #page-container .et_pb_section_4 .et_flex_column,
  body.home #page-container .et_pb_section_5 .et_flex_column,
  body.home #page-container .et_pb_section_6 .et_flex_column,
  body.home #page-container .et_pb_section_7 .et_flex_column,
  body.home #page-container .et_pb_section_8 .et_flex_column,
  body.home #page-container .et_pb_section_3 .et_pb_column,
  body.home #page-container .et_pb_section_4 .et_pb_column,
  body.home #page-container .et_pb_section_5 .et_pb_column,
  body.home #page-container .et_pb_section_6 .et_pb_column,
  body.home #page-container .et_pb_section_7 .et_pb_column,
  body.home #page-container .et_pb_section_8 .et_pb_column{
    flex:0 0 auto!important;
    flex-grow:0!important;
    flex-shrink:0!important;
    flex-basis:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    display:block!important;
  }
  body.home #page-container .et_pb_section_3 .et_pb_image,
  body.home #page-container .et_pb_section_4 .et_pb_image,
  body.home #page-container .et_pb_section_5 .et_pb_image,
  body.home #page-container .et_pb_section_6 .et_pb_image,
  body.home #page-container .et_pb_section_7 .et_pb_image,
  body.home #page-container .et_pb_section_8 .et_pb_image,
  body.home #page-container .et_pb_section_3 .et_pb_image_wrap,
  body.home #page-container .et_pb_section_4 .et_pb_image_wrap,
  body.home #page-container .et_pb_section_5 .et_pb_image_wrap,
  body.home #page-container .et_pb_section_6 .et_pb_image_wrap,
  body.home #page-container .et_pb_section_7 .et_pb_image_wrap,
  body.home #page-container .et_pb_section_8 .et_pb_image_wrap{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 8px!important;
  }
  body.home #page-container .et_pb_section_3 .et_pb_image img,
  body.home #page-container .et_pb_section_4 .et_pb_image img,
  body.home #page-container .et_pb_section_5 .et_pb_image img,
  body.home #page-container .et_pb_section_6 .et_pb_image img,
  body.home #page-container .et_pb_section_7 .et_pb_image img,
  body.home #page-container .et_pb_section_8 .et_pb_image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:20px!important;
  }
}

body.home #page-container .et_pb_section a.et_pb_button{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border:0!important;
}
body.home #page-container .et_pb_section_1 a.et_pb_button_0{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border:0!important;
}
body.home #page-container .et_pb_section_1 a.et_pb_button_1,
body.home #page-container .et_pb_section_1 a.et_pb_button_1.et_pb_button,
body.home #page-container .et_pb_section_1 a.et_pb_button[href*="contact"],
body.home #page-container .et_pb_section_5 a.et_pb_button,
body.home #page-container .et_pb_section_5 a.et_pb_button[class*="et_pb_button_"]{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:#fff!important;
  border:2px solid #fff!important;
  border-width:2px!important;
  border-style:solid!important;
  border-color:#fff!important;
}

body.home #page-container .et_pb_column_1_3{
  background-color:rgba(31,61,54,.42)!important;
  background-blend-mode:multiply!important;
}
body.home #page-container .et_pb_column_1_3 .et_pb_text,
body.home #page-container .et_pb_column_1_3 .et_pb_text_inner{
  background-image:none!important;
  background-color:transparent!important;
}

body.home #page-container .et_pb_text a,
body.home #page-container .et_pb_text_inner a{
  color:var(--teal)!important;
  font-weight:600!important;
  text-decoration:none!important;
}

body.home #page-container .et_pb_section_1 .et_pb_text a,
body.home #page-container .et_pb_section_5 .et_pb_text a,
body.home #page-container .et_pb_section_5 .et_pb_text_inner a,
body.home #page-container .et_pb_section_10 .et_pb_text a,
body.home #page-container .et_pb_section_10 .et_pb_text_inner a,
body.home #page-container .et_pb_section_10 a{
  color:#fff!important;
}

body.home #page-container .et_pb_section_5,
body.home #page-container .et_pb_section_5 p,
body.home #page-container .et_pb_section_5 h2,
body.home #page-container .et_pb_section_10,
body.home #page-container .et_pb_section_10 p,
body.home #page-container .et_pb_section_10 h2,
body.home #page-container .et_pb_section_10 .et_pb_text_inner{
  color:#fff!important;
}

body #page-container .et_pb_column:not(.et_pb_column_1_3):not(.et_pb_column_2_5){
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.page-id-58 #page-container .et_pb_column_2_5,
body.page-id-58 #page-container .et_pb_column_2_5.et_pb_column,
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_2_5,
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_3{
  background:var(--sage)!important;
  background-color:var(--sage)!important;
  background-image:none!important;
  background-blend-mode:normal!important;
  border:0!important;
  box-shadow:none!important;
}
body.page-id-58 #page-container .et_pb_column_2_5::before,
body.page-id-58 #page-container .et_pb_column_2_5::after,
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_3::before,
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_3::after{
  display:none!important;
  content:none!important;
  background:none!important;
  opacity:0!important;
}

#main-header .et_mobile_menu,
#main-header .mobile_nav.opened .et_mobile_menu{
  border:0!important;
  border-radius:0 0 16px 16px!important;
  box-shadow:0 16px 40px rgba(31,61,54,.12)!important;
  padding:8px 0 12px!important;
  background:#fff!important;
}
#main-header .et_mobile_menu li a{
  color:var(--hg)!important;
  border-color:#eef2f0!important;
}

#top-menu a,
#top-menu li a,
#et-top-navigation a{
  color:var(--hg)!important;
}
#top-menu li.current-menu-item > a,
#top-menu a:hover{
  color:var(--teal)!important;
}

/* ===== Sitewide 2026 theme (inner pages + footer + forms) ===== */
body,body p,body li,body input,body textarea,body button{
  font-family:"Open Sans",Arial,sans-serif;
}
body h1,body h2,body h3,body h4,body h5,
.et_pb_text_inner h1,.et_pb_text_inner h2,.et_pb_text_inner h3{
  font-family:Montserrat,Arial,sans-serif!important;
  letter-spacing:-.02em;
  color:var(--hg);
}

body:not(.home) h1,
body:not(.home) .et_pb_text_inner h1{
  font-size:clamp(2.4rem,6vw,4.4rem)!important;
  line-height:1.05!important;
  color:var(--hg)!important;
  text-align:center;
}

body:not(.home) .et_pb_section_0{
  background:var(--paper)!important;
  padding:48px 20px 28px!important;
}
body:not(.home) .et_pb_section_1{
  background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)!important;
  border-radius:28px 28px 0 0;
}

#page-container .et_pb_button,
.et_pb_button_module_wrapper a.et_pb_button,
.et_pb_contact_submit,
.wpcf7-submit{
  min-height:48px!important;
  padding:14px 24px!important;
  border-radius:999px!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  font-size:13px!important;
  background:var(--gold)!important;
  background-color:var(--gold)!important;
  background-image:none!important;
  color:var(--hg)!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
  position:relative!important;
  transition:background-color .28s ease,color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease!important;
}

/* Beat Divi per-module ghost/outline presets — all Learn More / Contact Us match */
body #page-container a.et_pb_button,
body #page-container a.et_pb_button[class*="et_pb_button_"],
body #page-container .et_pb_button_module_wrapper a.et_pb_button,
body #page-container .et_pb_column a.et_pb_button,
body #page-container .et_pb_column_1_3 a.et_pb_button,
body #page-container .et_pb_column_1_2 a.et_pb_button,
body:not(.home) #page-container a.et_pb_button{
  background:var(--gold)!important;
  background-color:var(--gold)!important;
  background-image:none!important;
  color:var(--hg)!important;
  border:0!important;
  border-width:0!important;
  border-style:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

body #page-container .et_pb_section a.et_pb_button:before,
body #page-container .et_pb_section a.et_pb_button:after,
body #page-container .et_pb_section a.et_pb_button:hover:before,
body #page-container .et_pb_section a.et_pb_button:hover:after,
body #page-container .et_pb_section a.et_pb_button[data-icon]:before,
body #page-container .et_pb_section a.et_pb_button[data-icon]:after,
body #page-container .et_pb_section a.et_pb_button[data-icon]:hover:before,
body #page-container .et_pb_section a.et_pb_button[data-icon]:hover:after,
#page-container .et_pb_button:after,
#page-container .et_pb_button:before,
.et_pb_button_module_wrapper a.et_pb_button:after,
.et_pb_button_module_wrapper a.et_pb_button:before{
  display:none!important;
  content:none!important;
  opacity:0!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  font-size:0!important;
  color:transparent!important;
}
body #page-container .et_pb_section a.et_pb_button:hover,
body #page-container .et_pb_button_module_wrapper a.et_pb_button:hover,
#page-container .et_pb_button:hover,
.et_pb_button_module_wrapper a.et_pb_button:hover,
.et_pb_contact_submit:hover,
.wpcf7-submit:hover{
  padding:14px 24px!important;
  transform:translateY(-2px)!important;
  box-shadow:0 10px 22px rgba(31,61,54,.22)!important;
  background:var(--hg)!important;
  color:#fff!important;
}
body.home #page-container .et_pb_section_1 a.et_pb_button_0:hover,
body.home #page-container .et_pb_column_1_3 a.et_pb_button:hover,
body.home #page-container .et_pb_section_3 a.et_pb_button:hover{
  background:var(--hg)!important;
  color:#fff!important;
}
body.home #page-container .et_pb_section_1 a.et_pb_button_1:hover,
body.home #page-container .et_pb_section_5 a.et_pb_button:hover{
  background:#fff!important;
  color:var(--hg)!important;
  border-color:#fff!important;
}

body:not(.home) .et_section_specialty{
  display:none!important;
}

body:not(.home) .et_pb_image img{
  border-radius:20px;
  box-shadow:none!important;
}

/* Careers form: stacked title + 2-column fields */
.hensen-careers-form,
.et_pb_code:has(.hensen-careers-form),
.et_pb_code:has(.hensen-careers-form) .et_pb_code_inner{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
}
.hensen-careers-form h2{
  text-align:center!important;
  margin:0 0 12px!important;
  color:var(--hg)!important;
}
.hensen-careers-form > p{
  text-align:center!important;
  max-width:560px;
  margin:0 auto 28px!important;
  color:var(--teal)!important;
}
form.wpcf7-form{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
}
form.wpcf7-form > p{
  margin:0!important;
}
form.wpcf7-form > p:has(textarea),
form.wpcf7-form > p:has(input[type=file]),
form.wpcf7-form > p:has(.wpcf7-quiz),
form.wpcf7-form > p:has(.wpcf7-submit),
form.wpcf7-form .wpcf7-response-output{
  grid-column:1/-1;
}
.wpcf7 label{
  display:flex!important;
  flex-direction:column;
  gap:8px;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--hg)!important;
  font-family:Montserrat,Arial,sans-serif!important;
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 input[type=url],
.wpcf7 textarea,
.et_pb_contact input.input,
.et_pb_contact textarea.input,
.et_pb_contact_field input,
.et_pb_contact_field textarea{
  width:100%!important;
  min-height:52px!important;
  border:1px solid #d7e0dc!important;
  border-radius:14px!important;
  padding:14px 16px!important;
  background:#fff!important;
  box-shadow:none!important;
  font-size:16px!important;
  color:var(--ink)!important;
}
.wpcf7 textarea,
.et_pb_contact textarea.input{
  min-height:140px!important;
}
.wpcf7 input[type=file],
body.home .wpcf7 input[type=file]{
  padding:12px 0!important;
  border:0!important;
  min-height:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.wpcf7-submit,
.et_pb_contact_submit{
  width:auto!important;
  min-width:220px;
  cursor:pointer;
}
.wpcf7-quiz-label,
.wpcf7 .wpcf7-quiz{
  font-size:13px;
}

/* Divi contact form (Contact page) */
.et_pb_contact_form_container,
.et_pb_contact{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.et_pb_contact p{
  margin:0 0 6px!important;
}
.et_pb_contact_field{
  margin-bottom:14px!important;
}
.et_pb_contact_field label,
.et_pb_contact_field .et_pb_contact_form_label{
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--hg)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  margin-bottom:8px!important;
}
.et_pb_contact_field_4{order:-1}

/* ===== Contact page (page-id-58) — match home language ===== */
body.page-id-58 h1,
body.page-id-58 .et_pb_text_inner h1{
  font-size:clamp(2rem,4vw,3rem)!important;
  line-height:1.12!important;
  text-align:center!important;
  color:var(--hg)!important;
  margin:0!important;
}
body.page-id-58 .et_pb_section_0{
  background:var(--paper)!important;
  padding:28px 20px 12px!important;
}
body.page-id-58 .et_pb_section_1{
  background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)!important;
  border-radius:28px 28px 0 0;
  padding:36px 20px 56px!important;
  overflow:visible!important;
}
body.page-id-58 .et_pb_section_1 > .et_pb_row:first-child,
body.page-id-58 #page-container .et_pb_row_1{
  max-width:min(1120px,calc(100% - clamp(32px,6vw,96px)))!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:12px!important;
}
body.page-id-58 .et_pb_section_1 > .et_pb_row:first-child > .et_pb_column > .et_pb_text:first-child,
body.page-id-58 #page-container .et_pb_row_1 > .et_pb_column > .et_pb_text:first-child{
  max-width:640px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  margin-bottom:28px!important;
}
body.page-id-58 .et_pb_section_1 > .et_pb_row:first-child h2,
body.page-id-58 #page-container .et_pb_row_1 h2{
  color:var(--hg)!important;
  font-size:clamp(1.5rem,3vw,2rem)!important;
  margin:0 0 10px!important;
  text-align:center!important;
}
body.page-id-58 .et_pb_section_1 > .et_pb_row:first-child > .et_pb_column > .et_pb_text:first-child p,
body.page-id-58 #page-container .et_pb_row_1 > .et_pb_column > .et_pb_text:first-child p{
  color:var(--teal)!important;
  font-size:16px!important;
  line-height:1.6!important;
  margin:0!important;
  text-align:center!important;
}
body.page-id-58 #page-container .et_pb_row_2,
body.page-id-58 .et_pb_row_nested{
  max-width:100%!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:28px!important;
  align-items:stretch!important;
}
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_3_5,
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_2{
  flex:1 1 0!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_2_5,
body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_3{
  flex:0 0 340px!important;
  width:340px!important;
  max-width:340px!important;
  background:var(--sage)!important;
  background-color:var(--sage)!important;
  background-image:none!important;
  border-radius:24px!important;
  overflow:visible!important;
  padding:32px 28px!important;
}
body.page-id-58 .et_pb_contact form.clearfix,
body.page-id-58 .et_pb_contact_form,
body.page-id-58 form.et_pb_contact_form{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px 18px!important;
  align-items:start!important;
}
body.page-id-58 .et_pb_contact_field{
  margin-bottom:0!important;
  width:100%!important;
  float:none!important;
}
body.page-id-58 .et_pb_contact_field_3,
body.page-id-58 .et_pb_contact_field:has(textarea),
body.page-id-58 .et_contact_bottom_container,
body.page-id-58 .et_pb_contact_submit,
body.page-id-58 p:has(.et_pb_contact_submit){
  grid-column:1/-1!important;
}
body.page-id-58 .et_contact_bottom_container{
  display:flex!important;
  justify-content:flex-start!important;
  margin-top:8px!important;
}
body.page-id-58 h3{
  color:var(--hg)!important;
  font-size:1.35rem!important;
  margin:0 0 18px!important;
}
/* Office card: high-contrast text on sage (override Divi dark/link colors) */
body.page-id-58 #page-container .et_pb_column_2_5,
body.page-id-58 #page-container .et_pb_column_2_5 h4,
body.page-id-58 #page-container .et_pb_column_2_5 h4.et_pb_module_header,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_module_header,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_blurb_container h4,
body.page-id-58 #page-container .et_pb_column_2_5 p,
body.page-id-58 #page-container .et_pb_column_2_5 span,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_blurb_description,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_blurb_description p,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_text_inner,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_text_inner p{
  color:var(--hg)!important;
}
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_blurb_description,
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_blurb_description p{
  color:var(--ink)!important;
  font-size:15px!important;
  line-height:1.5!important;
  margin:0!important;
}
body.page-id-58 #page-container .et_pb_column_2_5 a:not([href*="google.com/maps"]):not(.hensen-maps-link),
body.page-id-58 #page-container .et_pb_column_2_5 .et_pb_blurb_description a,
body.page-id-58 #page-container .et_pb_column_2_5 a[href^="tel:"],
body.page-id-58 #page-container .et_pb_column_2_5 a[href^="mailto:"]{
  color:var(--hg)!important;
  font-weight:600!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
  opacity:1!important;
}
body.page-id-58 #page-container .et_pb_column_2_5 a:not([href*="google.com/maps"]):not(.hensen-maps-link):hover,
body.page-id-58 #page-container .et_pb_column_2_5 a[href^="tel:"]:hover,
body.page-id-58 #page-container .et_pb_column_2_5 a[href^="mailto:"]:hover{
  color:var(--teal)!important;
}
body.page-id-58 #page-container .et_pb_column_2_5 > .et_pb_text h4,
body.page-id-58 #page-container .et_pb_column_2_5 > .et_pb_module h4{
  color:var(--hg)!important;
  font-size:1.2rem!important;
  margin:0 0 18px!important;
}
body.page-id-58 .et_pb_blurb,
body.page-id-58 .et_pb_blurb_content{
  background:transparent!important;
  margin:0 0 16px!important;
  padding:0!important;
}
body.page-id-58 .et_pb_blurb_content{
  display:flex!important;
  gap:14px!important;
  align-items:flex-start!important;
}
body.page-id-58 .et_pb_main_blurb_image{
  margin:0!important;
  flex:0 0 auto!important;
}
body.page-id-58 .et-pb-icon{
  background:var(--hg)!important;
  color:#fff!important;
  border-radius:999px!important;
  width:36px!important;
  height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:14px!important;
}
body.page-id-58 .et_pb_blurb_container h4,
body.page-id-58 .et_pb_module_header{
  color:var(--hg)!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  margin:0 0 4px!important;
}
body.page-id-58 .hensen-maps-link,
body.page-id-58 a[href*="google.com/maps"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:12px!important;
  padding:12px 20px!important;
  min-height:48px!important;
  border-radius:999px!important;
  background:var(--gold)!important;
  color:var(--hg)!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-weight:600!important;
  font-size:13px!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  border:0!important;
  opacity:1!important;
}
body.page-id-58 a[href*="google.com/maps"]:hover{
  background:var(--hg)!important;
  color:#fff!important;
}
/* Find us row removed from page content; no CSS hide needed */

/* Homepage contact band */
body.home #page-container .et_pb_section_10{
  padding:72px 24px 56px!important;
}
body.home #page-container .et_pb_section_10 .et_pb_row{
  max-width:min(1120px, calc(100% - clamp(48px, 8vw, 96px)))!important;
  align-items:center;
}
body.home #page-container .et_pb_section_10 h2{
  color:#fff!important;
  margin-bottom:18px!important;
}
body.home #page-container .et_pb_section_10 .et_pb_image img{
  border-radius:22px!important;
}

/* Theme Builder footer: Divi-style light directory, not a photo overlay */
body #page-container .et-l--footer .et_pb_section_0_tb_footer,
body #page-container .et_pb_section_0_tb_footer{
  background:var(--paper)!important;
  background-color:var(--paper)!important;
  background-image:none!important;
  background-blend-mode:normal!important;
  padding:72px 24px 28px!important;
}
.et-l--footer .et_pb_section_1_tb_footer{
  display:none!important;
}
.et-l--footer,
.et-l--footer p,
.et-l--footer strong,
.et-l--footer .et_pb_text_inner,
.et-l--footer .et_pb_text_inner p,
body #page-container .et-l--footer .et_pb_section_0_tb_footer,
body #page-container .et-l--footer .et_pb_section_0_tb_footer p,
body #page-container .et-l--footer .et_pb_section_0_tb_footer .et_pb_text_inner{
  color:var(--ink)!important;
  mix-blend-mode:normal!important;
  opacity:1!important;
}
footer.et-l.et-l--footer .et_pb_section_0_tb_footer,
footer.et-l.et-l--footer .et_pb_section_0_tb_footer *,
footer.et-l.et-l--footer .et_pb_section_0_tb_footer p{
  color:var(--ink)!important;
}
footer.et-l.et-l--footer .et_pb_section_0_tb_footer strong{
  color:var(--hg)!important;
}
footer.et-l.et-l--footer .et_pb_section_0_tb_footer a{
  color:var(--teal)!important;
}
footer.et-l.et-l--footer .et_pb_section_0_tb_footer a[style*="border-radius"]{
  background:var(--gold)!important;
  color:var(--hg)!important;
}
.et-l--footer a:hover{color:var(--hg)!important}
.et-l--footer .et_pb_text_inner > div[style*="grid"]{
  display:grid!important;
  grid-template-columns:1.15fr .9fr 1.15fr!important;
  gap:36px!important;
  align-items:start!important;
}
.et-l--footer a[style*="border-radius"]{
  background:var(--gold)!important;
  color:var(--hg)!important;
  border-radius:999px!important;
  padding:14px 22px!important;
  display:inline-flex!important;
  margin-top:8px;
}
.et-l--footer .et_pb_text_inner > p[style*="border-top"]{
  border-top:1px solid #d7e0dc!important;
  margin-top:36px!important;
  padding-top:18px!important;
  color:var(--teal)!important;
  font-size:13px;
}

/* Contact details live in page contact blocks, not repeated in the footer */
footer.et-l--footer .et_pb_text_inner > div[style*="grid"] > div:first-child p:nth-of-type(n+2){
  display:none!important;
}
footer.et-l--footer .et_pb_text_inner > div[style*="grid"]{
  grid-template-columns:1fr 1fr 1.2fr!important;
}
body.home footer.et-l--footer .et_pb_text_inner > div[style*="grid"] > div:last-child p:last-of-type{
  display:none!important;
}
body.home footer.et-l--footer .et_pb_section_0_tb_footer{
  padding:40px 24px 24px!important;
}
body.home footer.et-l--footer .et_pb_text_inner > p[style*="border-top"]{
  margin-top:24px!important;
}

@media (max-width:980px){
  form.wpcf7-form{grid-template-columns:1fr}

  /* Header: solid bar + readable logo + tap targets */
  #main-header,
  #main-header.et-fixed-header{
    background:#fff!important;
    box-shadow:0 4px 18px rgba(31,61,54,.1)!important;
  }
  #logo,
  #logo img{
    max-height:48px!important;
    width:auto!important;
    max-width:140px!important;
  }
  .mobile_menu_bar,
  .mobile_nav .mobile_menu_bar:before{
    min-width:48px!important;
    min-height:48px!important;
    line-height:48px!important;
  }
  #main-header .et_mobile_menu li a{
    padding:14px 20px!important;
    font-size:15px!important;
  }

  /* Kill desktop bleed images that clip under overflow:hidden */
  body:not(.home) .et_pb_image,
  body:not(.home) .et_pb_image_wrap,
  body:not(.home) .et_pb_module.et_pb_image{
    margin:0!important;
    max-width:100%!important;
    width:100%!important;
    left:auto!important;
    right:auto!important;
  }
  body:not(.home) .et_pb_image img{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    border-radius:20px!important;
  }
  body:not(.home) .et_pb_section_0{
    padding:24px 16px 12px!important;
  }
  body:not(.home) .et_pb_section_1{
    overflow:visible!important;
    border-radius:20px 20px 0 0!important;
    padding:28px 16px 40px!important;
  }
  body:not(.home) h1,
  body:not(.home) .et_pb_text_inner h1{
    font-size:clamp(1.8rem,8vw,2.4rem)!important;
    line-height:1.15!important;
    text-align:left!important;
  }
  body:not(.home) .et_pb_section_0 .et_pb_text_inner p,
  body:not(.home) .et_pb_section_0 p{
    text-align:left!important;
    font-size:15px!important;
    max-width:100%!important;
  }
  body:not(.home) .et_pb_row{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body:not(.home) .et_pb_column{
    width:100%!important;
    max-width:100%!important;
    margin:0 0 18px!important;
    float:none!important;
  }
  body:not(.home) .et_pb_button,
  body:not(.home) .et_pb_button_module_wrapper,
  body:not(.home) .et_pb_button_module_wrapper a.et_pb_button{
    width:100%!important;
    max-width:100%!important;
    display:flex!important;
    justify-content:center!important;
  }
  body:not(.home) .et_pb_column_1_3,
  body:not(.home) .et_pb_column_1_2{
    min-height:0!important;
    padding:18px 16px!important;
  }

  /* Contact page mobile */
  body.page-id-58 .et_pb_section_0{padding:20px 16px 8px!important}
  body.page-id-58 h1{text-align:center!important;font-size:clamp(1.9rem,8vw,2.4rem)!important}
  body.page-id-58 .et_pb_contact form.clearfix,
  body.page-id-58 .et_pb_contact_form,
  body.page-id-58 form.et_pb_contact_form{
    grid-template-columns:1fr!important;
  }
  body.page-id-58 #page-container .et_pb_row_2,
  body.page-id-58 .et_pb_row_nested{
    flex-wrap:wrap!important;
    flex-direction:column!important;
    gap:22px!important;
  }
  body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_2_5,
  body.page-id-58 #page-container .et_pb_row_2 .et_pb_column_3{
    flex:1 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    padding:24px 20px!important;
  }
  body.page-id-58 .et_contact_bottom_container,
  body.page-id-58 .et_pb_contact_submit,
  body.page-id-58 a[href*="google.com/maps"]{
    width:100%!important;
  }
  body.page-id-58 .et_pb_contact_submit{min-width:0!important}

  /* Home mobile refinements */
  body.home .et_pb_section_1{padding:28px 16px 44px!important}
  body.home .et_pb_section_1 .et_pb_row{max-width:100%!important}
  body.home .hensen-values{gap:6px!important;margin-top:14px!important}
  body.home .hensen-values div{padding:7px 12px!important;font-size:12px!important}
  body.home .et_pb_column_1_3{min-height:200px!important;margin-bottom:12px!important}
  body.home .et_pb_image img{border-radius:18px!important;width:100%!important}

  /* Forms + footer */
  .wpcf7-submit,
  .et_pb_contact_submit{
    width:100%!important;
    min-width:0!important;
  }
  .et-l--footer .et_pb_text_inner > div[style*="grid"]{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  body #page-container .et-l--footer .et_pb_section_0_tb_footer,
  body #page-container .et_pb_section_0_tb_footer{
    padding:40px 18px 24px!important;
  }
  .et-l--footer a[style*="border-radius"]{
    width:100%!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:767px){
  body:not(.home) .et_pb_section_0{padding:18px 14px 8px!important}
  body:not(.home) .et_pb_section_1{padding:22px 14px 36px!important}
  body:not(.home) h1{font-size:clamp(1.7rem,9vw,2.2rem)!important}
  body.home .et_pb_section_1{padding:24px 14px 40px!important}
  body.home #page-container .et_pb_section_2,
  body.home #page-container .et_pb_section_3,
  body.home #page-container .et_pb_section_4,
  body.home #page-container .et_pb_section_5,
  body.home #page-container .et_pb_section_6,
  body.home #page-container .et_pb_section_7,
  body.home #page-container .et_pb_section_8,
  body.home #page-container .et_pb_section_9,
  body.home #page-container .et_pb_section_10,
  body.home .et_pb_section:not(.et_pb_section_0):not(.et_pb_section_12){
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body.home h1,body.home .et_pb_text_inner h1{
    font-size:clamp(1.85rem,8vw,2.4rem)!important;
  }
  body.page-id-58 .et_pb_section_1{padding:24px 14px 40px!important}
  #logo,#logo img{max-width:120px!important;max-height:42px!important}
}
