/**
 * Business Impact NW — Homepage migration: Services + Happening Now ONLY.
 * Only CSS for the editable Our Services and Happening Now rows.
 * No other homepage styling is included.
 * Child-theme path: /assets/css/homepage-migration.css
 */

/* ----------------------------- Our Services ----------------------------- */
#content .binw-home-services-heading-row,
#content .binw-home-services-cards-row {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  background: #fff;
  box-sizing: border-box;
}
#content .binw-home-services-heading-row {
  margin-bottom: 0 !important;
  padding: 36px max(72px, calc((100vw - 1460px)/2)) 48px !important;
}
#content .binw-home-services-heading-row h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #78A22F !important;
  font: 600 39px/1.1 "Trebuchet MS", Helvetica, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#content .binw-home-services-cards-row {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 48px !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr;
  padding: 0 max(72px, calc((100vw - 1460px)/2)) 96px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
#content .binw-home-services-cards-row .panel-grid-cell {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  width: 100% !important;
  height: 100%;
  align-self: stretch;
  margin: 0 !important;
  padding: 0 !important;
  background: #FBFBF8;
  border-radius: 12px;
  box-shadow: 0 3px 10px rgba(52,53,56,.05),0 14px 34px rgba(52,53,56,.045);
  transition: transform .22s ease, box-shadow .22s ease;
}
#content .binw-home-services-cards-row .panel-grid-cell:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 14px rgba(52,53,56,.06),0 20px 38px rgba(52,53,56,.10);
}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:first-child {
  position: relative;
  margin: 10px 10px 0 0 !important;
  width: calc(100% - 10px);
}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:first-child::before {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  z-index: 0;
  width: 43%;
  height: 58px;
  border-radius: 0 11px 0 8px;
  background: #39736E;
  clip-path: polygon(18% 0,100% 0,100% 100%,0 100%);
  opacity: .9;
  pointer-events: none;
  transition: transform .25s, opacity .25s;
}
#content .binw-home-services-cards-row .panel-grid-cell:hover > .so-panel:first-child::before {
  transform: translate(3px,-2px);
  opacity: 1;
}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:first-child .sow-image-container {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
  background: #E9E9E5;
}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:first-child img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: transform .4s ease;
}
#content .binw-home-services-cards-row .panel-grid-cell:hover > .so-panel:first-child img {transform:scale(1.025);}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:nth-child(2) {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 25px 25px 27px !important;
}
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:nth-child(2) .so-widget-sow-editor,
#content .binw-home-services-cards-row .panel-grid-cell > .so-panel:nth-child(2) .siteorigin-widget-tinymce {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  padding: 0 !important;
  color: #343538;
}
#content .binw-home-services-cards-row .bin-service-category {
  margin: 0 0 8px !important;
  color: #78A22F !important;
  font: 700 14px/1.2 "Trebuchet MS", Helvetica, sans-serif !important;
  letter-spacing: 1.35px !important;
  text-transform: uppercase !important;
}
#content .binw-home-services-cards-row h3 {
  margin: 0 0 11px !important;
  color: #343538 !important;
  font: 600 24px/1.2 "Trebuchet MS", Helvetica, sans-serif !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#content .binw-home-services-cards-row p:not(.bin-service-category):not(.bin-service-link) {
  margin: 0 0 23px !important;
  color: #555755 !important;
  font: 400 16px/1.55 "Trebuchet MS", Helvetica, sans-serif !important;
}
#content .binw-home-services-cards-row .bin-service-link {
  margin: auto 0 0 !important;
  padding: 0 !important;
}
#content .binw-home-services-cards-row .bin-service-link a {
  color: #5F8214 !important;
  font: 700 16px/1.3 "Trebuchet MS", Helvetica, sans-serif !important;
  text-decoration: none !important;
}
/* Make the full card clickable while keeping link edits in the Visual Editor. */
#content .binw-home-services-cards-row .bin-service-link a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
}
#content .binw-home-services-cards-row .bin-service-link a:hover,
#content .binw-home-services-cards-row .panel-grid-cell:hover .bin-service-link a {
  text-decoration: underline !important;
}
#content .binw-home-services-cards-row .bin-service-link a:focus-visible {outline:3px solid #78A22F;outline-offset:3px;}

/* ----------------------------- Happening Now ----------------------------- */
#content .binw-home-happening-heading-row,
#content .binw-home-happening-cards-row {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  background: #fff;
  box-sizing: border-box;
}
#content .binw-home-happening-heading-row {
  margin-bottom: 0 !important;
  padding: 36px max(72px, calc((100vw - 1146px)/2)) 40px !important;
}
#content .binw-home-happening-heading-row h2 {
  margin: 0 !important;
  padding: 0 !important;
  color: #78A22F !important;
  font: 600 39px/1.1 "Trebuchet MS", Helvetica, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
#content .binw-home-happening-cards-row {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,350px));
  justify-content: center;
  gap: 48px !important;
  align-items: stretch !important;
  grid-auto-rows: 1fr;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 max(72px, calc((100vw - 1146px)/2)) 88px !important;
}
#content .binw-home-happening-cards-row .panel-grid-cell {
  position: relative;
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  height: 100%;
  min-width: 0;
  align-self: stretch;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
  transition: transform .22s, box-shadow .22s, border-color .22s;
}
#content .binw-home-happening-cards-row .panel-grid-cell:hover {
  transform:translateY(-5px);
  box-shadow:0 14px 30px rgba(0,0,0,.1);
  border-color:#cfd9bb;
}
#content .binw-home-happening-cards-row .panel-grid-cell > .so-panel {width:100%;margin:0 !important;min-width:0;}
#content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child .sow-image-container {display:block;width:100%;}
#content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child img {
  display: block;
  width: 100% !important;
  height: auto;
  aspect-ratio:1/1;
  object-fit:cover;
}
#content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:nth-child(2) {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 22px 22px 24px !important;
}
#content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:nth-child(2) .so-widget-sow-editor,
#content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:nth-child(2) .siteorigin-widget-tinymce {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:0 !important;
}
#content .binw-home-happening-cards-row .bin-happening-label {
  margin:0 0 9px !important;
  color:#789b18 !important;
  font:700 14px/1.2 "Trebuchet MS", Helvetica, sans-serif !important;
  letter-spacing:1.2px !important;
  text-transform:uppercase !important;
}
#content .binw-home-happening-cards-row h3 {
  margin:0 0 11px !important;
  color:#333 !important;
  font:600 22px/1.2 "Trebuchet MS", Helvetica, sans-serif !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
#content .binw-home-happening-cards-row p:not(.bin-happening-label):not(.bin-happening-link) {
  margin:0 0 19px !important;
  color:#555 !important;
  font:400 16px/1.5 "Trebuchet MS", Helvetica, sans-serif !important;
}
#content .binw-home-happening-cards-row .bin-happening-link {margin:auto 0 0 !important;}
#content .binw-home-happening-cards-row .bin-happening-link a {
  color:#5f7f14 !important;
  font:700 16px/1.3 "Trebuchet MS", Helvetica, sans-serif !important;
  text-decoration:none !important;
}
#content .binw-home-happening-cards-row .bin-happening-link a::after {content:"";position:absolute;inset:0;z-index:3;}
#content .binw-home-happening-cards-row .panel-grid-cell:hover .bin-happening-link a {text-decoration:underline !important;}
#content .binw-home-happening-cards-row .bin-happening-link a:focus-visible {outline:3px solid #78A22F;outline-offset:3px;}



/* SiteOrigin may insert a row-style wrapper between the row and its cells. */
#content .binw-home-services-cards-row > .panel-row-style {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 48px !important;
  align-items: stretch;
  grid-auto-rows: 1fr;
}
#content .binw-home-happening-cards-row > .panel-row-style {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,350px));
  justify-content: center;
  gap: 48px !important;
  align-items: stretch;
  grid-auto-rows: 1fr;
}

/* Responsive behavior from the original two sections only. */
@media (max-width:1050px) {
  #content .binw-home-services-heading-row {padding:54px 30px 38px !important;}
  #content .binw-home-services-cards-row,
  #content .binw-home-services-cards-row > .panel-row-style {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px !important;}
  #content .binw-home-services-cards-row {padding:0 30px 64px !important;}
}
@media (max-width:1000px) {
  #content .binw-home-happening-heading-row {padding:50px max(30px,calc((100vw - 760px)/2)) 28px !important;}
  #content .binw-home-happening-cards-row,
  #content .binw-home-happening-cards-row > .panel-row-style {grid-template-columns:minmax(0,760px);gap:28px !important;}
  #content .binw-home-happening-cards-row {padding:0 max(30px,calc((100vw - 760px)/2)) 60px !important;}
  #content .binw-home-happening-cards-row .panel-grid-cell {display:grid !important;grid-template-columns:36% minmax(0,64%);align-items:stretch;}
  #content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child,
  #content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child > *,
  #content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child .sow-image-container {height:100%;}
  #content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child img {height:100% !important;min-height:230px;aspect-ratio:auto;}
}
@media (max-width:650px) {
  #content .binw-home-services-heading-row {padding:44px 18px 30px !important;}
  #content .binw-home-services-heading-row h2 {font-size:32px !important;}
  #content .binw-home-services-cards-row,
  #content .binw-home-services-cards-row > .panel-row-style {grid-template-columns:1fr;gap:32px !important;}
  #content .binw-home-services-cards-row {padding:0 18px 52px !important;}
  #content .binw-home-services-cards-row .panel-grid-cell > .so-panel:first-child {margin:8px 8px 0 0 !important;width:calc(100% - 8px);}
  #content .binw-home-services-cards-row .panel-grid-cell > .so-panel:first-child::before {top:-8px;right:-8px;height:50px;}
  #content .binw-home-services-cards-row .panel-grid-cell > .so-panel:nth-child(2) {padding:22px 22px 24px !important;}
  #content .binw-home-services-cards-row h3 {font-size:22px !important;}
}
@media (max-width:640px) {
  #content .binw-home-happening-heading-row {padding:44px 18px 24px !important;}
  #content .binw-home-happening-heading-row h2 {font-size:32px !important;}
  #content .binw-home-happening-cards-row,
  #content .binw-home-happening-cards-row > .panel-row-style {grid-template-columns:minmax(0,420px);}
  #content .binw-home-happening-cards-row {padding:0 18px 52px !important;}
  #content .binw-home-happening-cards-row .panel-grid-cell {display:flex !important;flex-direction:column;}
  #content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:first-child img {height:auto !important;min-height:0;aspect-ratio:1/1;}
  #content .binw-home-happening-cards-row .panel-grid-cell > .so-panel:nth-child(2) {padding:20px 20px 22px !important;}
  #content .binw-home-happening-cards-row h3 {font-size:21px !important;}
}
@media (prefers-reduced-motion: reduce) {
  #content .binw-home-services-cards-row .panel-grid-cell,
  #content .binw-home-happening-cards-row .panel-grid-cell {transition:none !important;}
}

/* Original services arrow motion — preserved from the source widget. */
#content .binw-home-services-cards-row .bin-service-link a {display:inline-flex;align-items:center;gap:9px;}
#content .binw-home-services-cards-row .bin-service-arrow {display:inline-block;font-size:20px;line-height:1;transition:transform .2s ease;}
#content .binw-home-services-cards-row .panel-grid-cell:hover .bin-service-arrow {transform:translateX(5px);}
#content .binw-home-services-cards-row .bin-service-link a:hover {text-decoration:none !important;}
@media (prefers-reduced-motion: reduce) {#content .binw-home-services-cards-row .bin-service-arrow {transition:none !important;}}


/* Our Services — internal card spacing */
#content .binw-home-services-cards-row
.panel-grid-cell > .so-panel:last-child .so-widget-sow-editor {
  padding: 28px 28px 32px !important;
  box-sizing: border-box;
}

/* Happening Now — internal card spacing */
#content .binw-home-happening-cards-row
.panel-grid-cell > .so-panel:last-child .so-widget-sow-editor {
  padding: 26px 26px 30px !important;
  box-sizing: border-box;
}
